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镜像。当然前提是它们可以互相通信):