一,服务端篇(基于ubuntu)
1.安装 Docker
apt install docker.io
2.创建Zabbix的Docker 容器
sudo docker network create --subnet 172.20.0.0/16 --ip-range 172.20.240.0/20 zabbix-net
sudo docker run --name postgres-server -t -e POSTGRES_USER="zabbix" --privileged=true -e POSTGRES_PASSWORD="zabbix_pwd" -e POSTGRES_DB="zabbix" -v /etc/timezone:/etc/timezone -v /etc/localtime:/etc/localtime --network=zabbix-net --restart unless-stopped -d postgres:latest
sudo docker run --name zabbix-snmptraps -t -v /zbx_instance/snmptraps:/var/lib/zabbix/snmptraps:rw -v /var/lib/zabbix/mibs:/usr/share/snmp/mibs:ro --network=zabbix-net -p 162:1162/udp --restart unless-stopped -d zabbix/zabbix-snmptraps:alpine-5.2-latest
sudo docker run --name zabbix-server-pgsql -t -e DB_SERVER_HOST="postgres-server" -e POSTGRES_USER="zabbix" -e POSTGRES_PASSWORD="zabbix_pwd" -e POSTGRES_DB="zabbix" -e ZBX_ENABLE_SNMP_TRAPS="true" --network=zabbix-net -e PHP_TZ="Asia/Shanghai" -v /etc/timezone:/etc/timezone -v /etc/localtime:/etc/localtime -p 10051:10051 --volumes-from zabbix-snmptraps --restart unless-stopped -d zabbix/zabbix-server-pgsql:ubuntu-4.4-latest
sudo docker run --name zabbix-web-Nginx-pgsql -t -e ZBX_SERVER_HOST="zabbix-server-pgsql" -e D
POSTGRES_PASSWORD="zabbix_pwd" -e POSTGRES_DB="zabbix" --network=zabbix-net -p 443:8443 -p 48080:8080 -e PHP_TZ="Asia/Shanghai" -v /etc/timezone:/etc/timezone -v /etc/localtime:/etc/localtime -v /etc/ssl/Nginx:/etc/ssl/Nginx:ro --restart unless-stopped -d zabbix/zabbix-web-Nginx-pgsql:ubuntu-4.4-latest
3.zabbix所需的容器已经全部启动
docker ps #查看docker的容器
1-3-1 docker创建zabbix容器、
4.zabbix安装完成,在浏览器输入http://IP:48080/zabbix,打开zabbix首页,其中用户名密码分别是admin/zabbix
二,客户端端篇
2.1.windows客户机
2.1.1.下载zabbix客户端
在浏览器输入https://www.zabbix.com/download_agents?version=4.4&release=4.4.10&os=Windows&os_version=Any&hardware=amd64&encryption=OpenSSL&packaging=MSI&show_legacy=0(本示例是基于zabbix4.4.10版本)下载安装Windows客户端安装包
2-1-1-1 zabbix客户端下载网站
2.1.2 安装zabbix客户端
双击安装包进行安装
2-1-2-1 双击安装包进行安装
2-1-2-2 开始安装
2-1-2-3 同意协议
Host name是客户端名称(记住这个名称后面有用),Zabbix server IP/DNS是服务端IP,Agent listen port是客户端端口号(默认是10050);这里填错也没有关系后面还可以改
2-1-2-4 输入客户端名称和服务端IP
2-1-2-5 正式开始安装
2-1-2-6 安装中
2-1-2-7 安装完成
2.1.3 配置zabbix客户端
打开zabbix客户端安装的根目录
2-1-3-1 zabbix客户端安装的根目录
打开根目录下的zabbix_agentd.conf文件,找到Server=xxx.xxx.xxx.xxx把IP修改成服务端的IP;找到ServerActive=xxx.xxx.xxx.xxx也把IP修改成服务端的IP;找到Hostname=xxx修改成自己想要的名称(记住这个名称,服务端要用;这步操作就是上面说的能改的操作)
输入命令 cd C:\Program Files\Zabbix Agent #切换到客户端的根目录
输入命令 zabbix_agentd.exe -c zabbix_agentd.conf -i #安装
zabbix_agentd.exe -c zabbix_agentd.conf -d #卸载
zabbix_agentd.exe -c zabbix_agentd.conf -s #启动
zabbix_agentd.exe -c zabbix_agentd.conf -x #停止
这里我们用到安装和启动就好了
2-1-3-2 cmd窗口操作
出现以上信息表明端口已经配置成功了
配置后打开windows任务管理器→服务,找到zabbix_agent右击关闭服务然后再打开服务(win7的操作,win10选择重启服务)
2-1-3-3 cmd窗口操作
到此为止zabbix的windows客户端已经配置完成
2.1.4 zabbix监控windows
浏览器打开zabbix的主页选择配置→主机
2-1-3-4 zabbix主页
选择创建主机
打开Zabbix 配置主机页面,和上几篇一样步骤,添加监控项键值填入perf_counter["\Physicaldisk(_Total)\% Idle Time"]这一步是重点,如果想添加其他的监控只需要替换中括号双引号内的字符串就行
比如我想监控用户cpu占用率,只需要把\Physicaldisk(_Total)\% Idle Time 替换成\Processor(_Total)\% User Time 即可:perf_counter["\Processor(_Total)\% User Time"]单位为百分号,视监控项而变
2-1-3-11 zabbix主机添加监控项
保存监控项,记得在 图形 中添加这一项
2-1-3-12 最终效果
2.ubuntu客户机
2.2.1.下载ubuntu客户端
wget http://repo.zabbix.com/zabbix/4.4/ubuntu/pool/main/z/zabbix-release/zabbix-release_4.4-1+xenial_all.deb
apt-get update
apt-get install zabbix-agent
sudo vim /etc/zabbix/zabbix_agentd.conf
打开后找到Server=xxx.xxx.xxx.xxx把IP修改成服务端的IP;找到ServerActive=xxx.xxx.xxx.xxx也把IP修改成服务端的IP;找到Hostname=xxx修改成自己想要的名称(记住这个名称,服务端要用;这步操作就是上面说的能改的操作),保存。
重启zabbix-agent服务
service zabbix-agent restart
2.2.3.创建主机
打开服务端和windows操作一样创建主机(详情看2.1.4)
2.2.4.ubuntu建立监控项
这里简单操作选择要监控的主机,选择模板→Link new templates→选择
2-2-4-1 选择监控项的模板
选择一个合适ubuntu系统的模板(windows系统也有模板)
2-2-4-2 选择合适的模板
选择完成以后点击更新
2-1-4-3 最终效果
三,疑难杂症篇
3.1.Zabbix绘制图形中文字符乱码
wget http://xze.197946.com/wenquanyiziti.zip
unzip wenquanyiziti.zip
将解压缩的字体拷贝到容器中
docker cp ~/文泉驿点阵正黑.ttf zabbix-web-Nginx-MysqL:/usr/share/zabbix/assets/fonts/wqy.ttf
docker exec -it zabbix-web-Nginx-MysqL bash
cp DejaVuSans.ttf DejaVuSans.ttf.bak
mv wqy.ttf DejaVuSans.ttf