docker部署zabbix监控系统服务端

docker部署zabbix监控系统服务端

启动一个空的MySQL服务器实例

docker run --name mysql-server -t \
-e MYSQL_DATABASE="zabbix" \
-e MYSQL_USER="zabbix" \
-e MYSQL_PASSWORD="zabbix_zjhthxjk" \
-e MYSQL_ROOT_PASSWORD="root_abc.123654" \
-d mysql:5.7

启动Zabbix Java gateway实例

docker run --name zabbix-java-gateway -t \
-d zabbix/zabbix-java-gateway:latest

###启动Zabbix server实例,并关联这个实例到已创建的MySQL服务器实例

docker run --name zabbix-server-mysql -t \
-e DB_SERVER_HOST="mysql-server" \
-e MYSQL_DATABASE="zabbix" \
-e MYSQL_USER="zabbix" \
-e MYSQL_PASSWORD="zabbix_zjhthxjk" \
-e MYSQL_ROOT_PASSWORD="root_abc.123654" \
-e ZBX_JAVAGATEWAY="zabbix-java-gateway" \
-e ZBX_JAVAGATEWAY_ENABLE="true" \
--link mysql-server:mysql \
--link zabbix-java-gateway:zabbix-java-gateway \
-p 10051:10051 \
-d zabbix/zabbix-server-mysql:latest

在部署后可以将宿主机的时区文件复制到docker里面,命令如下
docker cp /usr/share/zoneinfo/Asia/Shanghai 容器ID:/etc/localtime

启动Zabbix web 接口,并将它与MySQL服务器实例和Zabbix server实例关联

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_zjhthxjk" \
-e MYSQL_ROOT_PASSWORD="root_abc.123654" \
-e PHP_TZ="Asia/Shanghai" \
--link mysql-server:mysql \
--link zabbix-server-mysql:zabbix-server \
-p 80:80 \
-d zabbix/zabbix-web-nginx-mysql:latest

在部署后可以将宿主机的时区文件复制到docker里面,命令如下
docker cp /usr/share/zoneinfo/Asia/Shanghai 容器ID:/etc/localtime
部署完web接口后需要将中文字体拷贝到容器中,命令如下:
docker cp hanzi.ttf 容器ID:/usr/share/zabbix/fonts
然后进入web接口容器
docker exec -it 容器ID /bin/sh
编辑配置文件中的ZBX_FONT_NAME为上面的ttf文件名hanzi
vi include/define.inc.php

docker部署agent

docker run --name zabbix-agent -t \
-e ZBX_HOSTNAME="HOSTNAME" \
-e ZBX_SERVER_HOST="server ip" \
-p 10050:10050 \
-d zabbix/zabbix-agent:latest