通过docker方式部署Zabbix
部署Zabbix服务器
本文仅作为部署过程的总结笔记,仅供参考。
部署zabbix可以有多种方式,可以参考官方使用文档(https://www.zabbix.com/documentation/4.0/zh/manual/installation/containers)进行操作,在此我主要选择使用容器方式进行部署。
前提:服务器上已经部署了docker,nginx,mysql。
1. 拉取zabbix镜像
此处目标是搭建 zabbix+mysql+nginx的架构。
docker pull zabbix/zabbix-server-mysql
docker pull zabbix/zabbix-java-gateway
docker pull zabbix/zabbix-web-nginx-mysql
2. 创建并运行容器
首先,启动空的 MySQL 服务器实例
docker run --name zabbix-mysql --restart=always -v /etc/localtime:/etc/localtime -t
-e MYSQL_DATABASE=“zabbix”
-e MYSQL_USER=“zabbix”
-e MYSQL_PASSWORD=“zabbix”
-e MYSQL_ROOT_PASSWORD=“root”
-d mysql:5.7
–character-set-server=utf8 --collation-server=utf8_bin
其次,启动 Zabbix Java gateway 实例
docker run --name zabbix-java-gateway --restart=always -v /etc/localtime:/etc/localtime -t
-d zabbix/zabbix-java-gateway:latest
然后,启动 Zabbix server 实例,并将其关联到已创建的 MySQL server 实例
docker run --name zabbix-server-mysql --restart=always -v /etc/localtime:/etc/localtime -t
-e DB_SERVER_HOST=“zabbix-mysql”
-e MYSQL_DATABASE=“zabbix”
-e MYSQL_USER=“zabbix”
-e MYSQL_PASSWORD=“zabbix”
-e MYSQL_ROOT_PASSWORD=“root”
-e ZBX_JAVAGATEWAY=“zabbix-java-gateway”
-e ZBX_JAVAGATEWAY_ENABLE=“true”
–link zabbix-mysql:mysql
–link zabbix-java-gateway:zabbix-java-gateway
-p 10051:10051
-d zabbix/zabbix-server-mysql:latest
不得不提一句,官方文档中关于环境变量 ZBX_JAVAGATEWAY_ENABLE 的描述是:“是否启用 Zabbix Java gateway 以采集与 Java 相关的检查数据。默认情况下,这个值为 false。”然而官方在启动zabbix server实例的示例中却偏偏漏掉了这个配置的设置。如果遵照示例启动的化,将无法获取JMX数据(坑啊)。
最后,启动 Zabbix Web 界面,并将其关联到已创建的 MySQL server 和 Zabbix server 实例
docker run --name zabbix-web-nginx-mysql --restart=always -v /etc/localtime:/etc/localtime -t
-e DB_SERVER_HOST=“zabbix-mysql”
-e MYSQL_DATABASE=“zabbix”
-e MYSQL_USER=“zabbix”
-e MYSQL_PASSWORD=“zabbix”
-e MYSQL_ROOT_PASSWORD=“root”
–link zabbix-mysql:mysql
–link zabbix-server-mysql:zabbix-server
-p 80:80
-d zabbix/zabbix-web-nginx-mysql:latest
部署zabbix agent
1. 安装zabbix agent
Linux:
yum install -y zabbix-agent
Ubuntu:
apt install zabbix-agent
Windows:
参考:https://www.zabbix.com/documentation/4.4/manual/concepts/agent
2. 配置agent
安装完成后配置文件一般在 /etc/zabbix/zabbix-agentd.conf,打开并配置几个关键项:
Server=xxx.xxx.xxx.xxx (zabbix server的IP地址或主机名,建议IP地址)
ServerActive=xxx.xxx.xxx.xxx:xxxx (zabbix server的IP地址或主机名,端口号默认为10050)
Hostname=xxx.xxx.xxx.xxx (自定义本台agent的主机名,需与zabbix网页端中添加的host名一致)
可同时配置主动与被动模式,这样网页端中添加主机后的可用性状态才为绿色。
其余参数可参考:https://blog.youkuaiyun.com/qiangli_strong/article/details/81021852
3. 卸载agent
Ubuntu:
killall -9 zabbix_agentd
apt-get purge zabbix-agent