docker部署zabbix比源码安装简单一些,特此记录:
机器准备:
zabbix-server: 192.168.0.150 homeserver
zabbix-agent: 192.168.0.116 app1
软件准备:
两台机均安装并启动docker服务。
过程:
-
在zabbix-server上安装mysql镜像并启动:
root@homeserver:/etc/docker# docker run --name mysql-server -t \
-e MYSQL_DATABASE="zabbix" \
-e MYSQL_USER="zabbix" \
-e MYSQL_PASSWORD="zabbix_pwd" \
-e MYSQL_ROOT_PASSWORD="root_pwd" \
-v /data/zabbix/mysql:/var/lib/mysql \
-d mysql:5.7 -
在zabbix-server上安装zabbix镜像并启动:
root@homeserver:/etc/docker# docker run --name zabbix-server-mysql -t \
-e MYSQL_USER="zabbix" \
-e MYSQL_PASSWORD="zabbix_pwd" \
-e DB_SERVER_HOST="mysql-server" \
-e MYSQL_DATABASE="zabbix" \
-e MYSQL_USER="zabbix" \
-e MYSQL_PASSWORD="zabbix_pwd" \
-e MYSQL_ROOT_PASSWORD="root_pwd" \
--link mysql-server:mysql \
-p 10051:10051 \
-d zabbix/zabbix-server-mysql:latest -
安装nginx做为前端展示:
root@homeserver:/etc/docker# root@homeserver:/etc/docker# docker run --name zabbix-web-nginx-mysql -t \
-e DB_SERVER_HOST="mysql-server" \
-e MYSQL_DATABASE="zabbix" \
-e MYSQL_USER="zabbix" \
-e MYSQL_PASSWORD="zabbix_pwd" \
-e MYSQL_ROOT_PASSWORD="root_pwd" \
--link mysql-server:mysql \
--link zabbix-server-mysql:zabbix-server \
-p 80:80 \
-d zabbix/zabbix-web-nginx-mysql:latest 输入192.168.0.150,可以看到登录界面:
以Admin/zabbix做为初始密码,进去之后再修改密码,也可以修改语言。我这里将语言修改成中文的了,不过你可以依照个人口味来~-
在zabbix-agent上运行以下代码,保证它可以跟zabbix-server(homeserver)进行通信:
docker run --name zabbix-agent \
-e ZBX_HOSTNAME="homeserver" \
-e ZBX_SERVER_HOST="192.168.0.150" \
-e ZBX_METADATA="Admin" \
-p 10050:10050 \
--privileged \
-d zabbix/zabbix-agent:latest 在zabbix-server处选择“配置”->"自动发现",如下图,启用默认规则:
在保证zabbix-agent的容器运行无误后,检查“监测”->“自动发现”处,看看是否已经检测到了agent机器(我这边只是做了一台机的测试,如果要继续添加的话,可以再其他机器上面运行agent镜像。当然前提是它们可以互相通信):