Docker安装Zabbix
本次使用docker搭建zabbix的组合是mysql+docker+zabix-server
1 先安装数据库mysql
sudo mkdir -p ~/zabbix/mysql/data ~/zabbix/mysql/logs ~/zabbix/mysql/conf
sudo cp -r my.cnf ~/zabbix/mysql/conf/ && cd ~/zabbix/mysql/
sudo docker pull mysql:5.7
sudo docker run --name zabbix-DB \
-e MYSQL_ROOT_PASSWORD="000000" \
-e MYSQL_USER="zabbix" \
-e MYSQL_PASSWORD="111111" \
-e MYSQL_DATABASE="zabbix" \
-v ~/zabbix/mysql/conf/my.cnf:/etc/mysql/my.cnf \
-v ~/zabbix/mysql/logs:/logs \
-v ~/zabbix/mysql/data:/mysql_data \
-p 5506:3306 \
-d mysql:5.7 --character-set-server=utf8 --collation-server=utf8_bin
2 创建zabbix-server
sudo docker pull zabbix/zabbix-server-mysql:ubuntu-3.4-latest
sudo docker run --name zabbix-SER \
--link zabbix-DB:mysql \
-e DB_SERVER_HOST="192.168.0.115" \
-e DB_SERVER_PORT=5506 \
-e MYSQL_USER="zabbix" \
-e MYSQL_DATABASE="zabbix" \
-e MYSQL_PASSWORD="111111" \
-v ~/zabbix/zabbix-server/etc/localtime:/etc/localtime:ro \
-v ~/zabbix/zabbix-server/data/docker/zabbix/alertscripts:/usr/lib/zabbix/alertscripts \
-v ~/zabbix/zabbix-server/data/docker/zabbix/externalscripts:/usr/lib/zabbix/externalscripts \
-p 10051:10051 \
-d zabbix/zabbix-server-mysql:ubuntu-3.4-latest
3 安装zabbix-web-nginx
sudo docker pull zabbix/zabbix-web-nginx-mysql:ubuntu-3.4-latest
sudo docker run --name zabbix-WEB \
--link zabbix-DB:mysql \
--link zabbix-SER:zabbix-server \
-e DB_SERVER_HOST="192.168.0.115" \
-e DB_SERVER_PORT=5506 \
-e MYSQL_USER="zabbix" \
-e MYSQL_PASSWORD="111111" \
-e MYSQL_DATABASE="zabbix" \
-e ZBX_SERVER_HOST="zabbix-SER" \
-e PHP_TZ="Asia/Shanghai" \
-p 8000:80 \
-p 1443:443 \
-d zabbix/zabbix-web-nginx-mysql:ubuntu-3.4-latest
登录访问测试,浏览器访问ip:8000查看
默认登录
username:Admin
password:zabbix
这里说明下,mysql、nginx在实际生产环境下,需要做数据卷的映射,防止数据丢失。
4 安装docker-zabbbix-agent
sudo docker pull zabbix/zabbix-agent:ubuntu-3.4-latest
sudo docker run --name zabbix-agent \
--link zabbix-SER:zabbix-server \
-e ZBX_SERVER_HOST="zabbix-SER" \
-e ZBX_SERVER_PORT=10051 \
-e ZBX_HOSTNAME="zabbix_agent" \
-v /dev/sdc:/dev/sdc \
-p 10050:10050 \
-d zabbix/zabbix-agent:ubuntu-3.4-latest
最后需要在web端将,zabbix-agent添加到zabbix-server的host列表里面。
报错处理
no active checks on server [*.*.*.*:10051]: host [*] not found
zabbix_agentd.log
错误一
no active checks on server [*.*.*.*:10051]: host [*] not found
出现该错误的原因是一般是zabbix_agentd.conf里面的Hostname和前端zabbix web(Monitoring->Configuration->Hosts 页面的Name)里面的配置不一样所造成的
解决
在zabbix web页面Monitoring->Configuration->Hosts 页面更改Host name和zabbix_agentd.conf里面的Hostname一样。
错误二
activecheck configuration update from [127.0.0.1:10051] started to fail (cannotconnect to [[127.0.0.1]:10051]: [111] Connection refused)
解决:
上面标注的地方有报错,我们可以编辑etc/zabbix/zabbix_agentd.conf 注释掉#ServerActive=127.0.0.1并且重启zabbix agent即可。