Loading

Zabbix与Zabbix-agent2部署

部署zabbix

1.数据库准备

  1. 下载SQL脚本http://coldsmog.cn:9000/blog/create.sql.gz
  2. 创建mysql数据库zabbix. 并创建授权用户zabbix,密码zabbix,
# 注意编码格式
create database zabbix character set utf8 collate utf8_bin;
CREATE USER 'zabbix'@'%' IDENTIFIED BY 'zabbix';
GRANT all ON zabbix.* TO 'zabbix'@'%';
FLUSH PRIVILEGES;
  1. 数据库的服务器bash执行
zcat create.sql.gz | mysql -uzabbix -p zabbix

系统将提示您输入新创建的数据库密码

2.安装主控程序 zabbix-server

要求1:内存大于2G,硬盘大于2G
要求2:能访问被监控服务器的10050端口
要求3:服务器对外暴露自身的80、8443、10051端口
账密:Admin/zabbix

# docker-compose.yml
version: '3'
services:
  zabbix-server:
    image: 'zabbix/zabbix-server-mysql:centos-5.2-latest'
    restart: always
    container_name: zabbix-server-mysql
    environment:
      - DB_SERVER_HOST=101.201.XX.XX
      - MYSQL_USER=zabbix
      - MYSQL_PASSWORD=zabbix
      - ZBX_DEBUGLEVEL=2
    ports:
      - '10051:10051'
    volumes:
      - /var/lib/zabbix:/var/lib/zabbix

  zabbix-web:
    image: 'zabbix/zabbix-web-nginx-mysql:centos-5.2-latest'
    restart: always
    container_name: zabbix-web
    links:
      - zabbix-server
    environment:
      - DB_SERVER_HOST=101.201.XX.XX
      - MYSQL_USER=zabbix
      - MYSQL_PASSWORD=zabbix
      - ZBX_SERVER_HOST=101.201.XX.XX
      - PHP_TZ=Asia/Shanghai
    ports:
      - '80:8080'

zabbix5.0中文乱码问题

zabbinx的web组件 使用了自己的字体,故部分中文会显示为吅。
字体为/usr/share/zabbix/assets/fonts/DejaVuSans.ttf

解决方案:

  1. 从window系统C:\Windows\Fonts目录下挑选自己喜欢的字体

  2. 将字体上传至服务器,此处使用了免费商用字体:阿里普惠体 Alibaba.ttf

  3. 使用docker cp 覆盖原字体,参考如下

     # 备份原字体
     docker cp 52fcd1fc30a1:/usr/share/zabbix/assets/fonts/DejaVuSans.ttf DejaVuSans.ttf.bak
     # 覆盖字体
     docker cp Alibaba.ttf 52fcd1fc30a1:/usr/share/zabbix/assets/fonts/DejaVuSans.ttf
    
  4. 重启docker镜像

docker restart 52fcd1fc30a1

3.安装监控子程序

要求1: 内存大于500m,硬盘大于1G
要求2:服务器对外暴露自身的80、8443、10050端口

从二进制包安装agent2

# 前往http://repo.zabbix.com/zabbix/ 选择平台和版本的.noarch.rpm文件
# 安装软件仓库配置包,这个包包含了 yum(软件包管理器)的配置文件
rpm -ivh http://repo.zabbix.com/zabbix/5.2/rhel/7/x86_64/zabbix-release-5.2-1.el7.noarch.rpm
# 国内用户可以直接下载阿里的zabbix镜像
# yum localinstall -y https://mirrors.aliyun.com/zabbix/zabbix/5.2/rhel/7/x86_64/zabbix-agent2-5.2.6-1.el7.x86_64.rpm
# 安装agent监控子程序
yum install zabbix-agent2
# 启动agent
systemctl start zabbix-agent2 
# 修改配置 其中172.16.19.XX为server服务器的IP,自行修改
sed -i '/^Server=/cServer=172.16.19.XX'  /etc/zabbix/zabbix_agent2.conf
sed -i '/^ServerActive=/cServerActive=172.16.19.XX'  /etc/zabbix/zabbix_agent2.conf
sed -i '/^Hostname=/cHostname='$(hostname) /etc/zabbix/zabbix_agent2.conf
sed -i '/^LogFileSize=/cLogFileSize=5'  /etc/zabbix/zabbix_agent2.conf
# 重启agent 并放开端口
systemctl restart zabbix-agent2
systemctl enable  zabbix-agent2
firewall-cmd --zone=public --add-port=10050/tcp --permanent
firewall-cmd --reload

从docker安装agent2

version: '3'
services:
  zabbix-agent:
    image: 'zabbix/zabbix-agent2:alpine-5.2-latest'
    restart: always
    container_name: zabbix-agent2
    privileged: true # 因为是监控软件,需要开启特权
    environment:
      - ZBX_HOSTNAME=zabbix_hostname
      - ZBX_METADATAITEM=system.uname
      - ZBX_SERVER_HOST=172.16.19.162
    ports:
      - '10050:10050'
    volumes:
      - /etc/zabbix/zabbix_agentd.d:/etc/zabbix/zabbix_agentd.d
      - /var/lib/zabbix/enc:/var/lib/zabbix/enc
      - /var/lib/zabbix/modules:/var/lib/zabbix/modules

这个是自行编写的一键脚本,可以参考

mkdir -p /usr/local/zabbix-agent
cd /usr/local/zabbix-agent
# 可以用自己的docker-compose.yml替换
curl -o docker-compose.yml http://coldsmog.cn:9000/xindeco/zabbix-agent2.yml 

sed -i 's/zabbix_hostname/'$(hostname)'/' docker-compose.yml
docker-compose up -d

firewall-cmd --zone=public --add-port=10050/tcp --permanent
firewall-cmd --reload
# wget http://coldsmog.cn:9000/xindeco/installZabbixAgent.sh
# chmod u+x installZabbixAgent.sh

注意:agent2没有oracle的客户端支持,需要自己改造,我写了一个发布在dockerhub上

version: '3'
services:
  zabbix-agent:
    image: 'coldsmog/zabbix-agent2-oracle:latest'
    restart: always
    container_name: zabbix-agent2
    privileged: true # 因为是监控软件,需要开启特权
    environment:
      - ZBX_HOSTNAME=zabbix_hostname
      - ZBX_METADATAITEM=system.uname
      - ZBX_SERVER_HOST=172.16.19.162
    ports:
      - '10050:10050'
    volumes:
      - /etc/zabbix/zabbix_agentd.d:/etc/zabbix/zabbix_agentd.d
      - /var/lib/zabbix/enc:/var/lib/zabbix/enc
      - /var/lib/zabbix/modules:/var/lib/zabbix/modules
posted @ 2021-05-28 09:43  寒烟濡雨  阅读(1549)  评论(0编辑  收藏  举报

Loading