转 docker 部署zabbix服务
https://www.cnblogs.com/root0/p/9812789.html
1 官方地址
官方写的很详细并且是中文的,一步步按照操作就可以
https://www.zabbix.com/documentation/3.4/zh/manual/installation/containers
2 启动一个空的Mysql服务器实例
docker run --name mysql-server -t -e MYSQL_DATABASE="zabbix" -e MYSQL_USER="zabbix" -e MYSQL_PASSWORD="zabbix" -e MYSQL_ROOT_PASSWORD="zabbix" -d mysql:5.7 --character-set-server=utf8 --collation-server=utf8_bin #这里注意, 如果没有的话, 输入中文保存时可能会出现错误
3 启动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" -e MYSQL_ROOT_PASSWORD="zabbix" --link mysql-server:mysql -p 10051:10051 -d zabbix/zabbix-server-mysql:latest
4 启动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" -e MYSQL_ROOT_PASSWORD="zabbix" --link mysql-server:mysql --link zabbix-server-mysql:zabbix-server -p 8080:80 -d zabbix/zabbix-web-nginx-mysql:latest
5 查看容器启动情况
[_server ~]# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 98cbe8d8a6bd zabbix/zabbix-web-nginx-mysql:latest "docker-entrypoint.sh" 6 seconds ago Up 5 seconds 443/tcp, 0.0.0.0:8080->80/tcp zabbix-web-nginx-mysql de040d43d60f zabbix/zabbix-server-mysql:latest "docker-entrypoint.sh" 59 seconds ago Up 59 seconds 0.0.0.0:10051->10051/tcp zabbix-server-mysql 3276f18def8d mysql:5.7 "docker-entrypoint.s…" About a minute ago Up About a minute 3306/tcp mysql-server
6 查看docker镜像
[_server ~]# docker images REPOSITORY TAG IMAGE ID CREATED SIZE zabbix/zabbix-web-nginx-mysql latest 4db891b4393a 10 hours ago 177MB zabbix/zabbix-server-mysql latest f5e58dafe9ac 10 hours ago 62.2MB mysql 5.7 f0f3956a9dd8 7 days ago 409MB
7 访问web界面
http://10.0.3.57:8080
帐号密码:
Admin
zabbix
已经可以访问了
问题:
zabbix的服务器时间与宿主机不一致.需要进容器更改配置文件,并重启服务
在zabbix-web-nginx-mysql 上发现了问题所在
grep -r "timezone" /etc/php7/
/etc/php7/conf.d/99-zabbix.ini 将 data.timezone=Asia/Shanghai
cat /etc/php7/conf.d/99-zabbix.ini
max_execution_time=600 memory_limit=128M post_max_size=16M upload_max_filesize=2M max_input_time=300 ; always_populate_raw_post_data=-1 max_input_vars=10000 ; date.timezone=Europe/Riga date.timezone=Asia/Shanghai //修改此处的 ; session.save_path=/var/lib/php7
由于修改此配置重启容器之后,修改的内容会被还原,所以直接使用kill 了php-fpm7的进程杀掉
由于容器中有supervisord管理php-fpm kill掉fpm主进程很快也会被重启此时发现zabbix的页面时间已经和系统时间一致
pkill php7
2.zabbix 部分中文出现方块的问题
百度回答:zabbix web端缺少中文字库, 需要进docker替换掉字体
wget http://down1.chinaunix.net/distfiles/ttf-arphic-uming_0.0.20050501-1.tar.gz tar xf /root/ttf-arphic-uming_0.0.20050501-1.tar.gz cd /usr/local/apache/htdocs/zabbix/fonts ## 注意此处为zabbix web文件所在路径 mv DejaVuSans.ttf /root/ ## 备份原有字体文件 cp /root/ttf-arphic-uming_0.0.20050501/uming.ttf ./DejaVusans.ttf # 将下载的字体替换到此处;
在docker中的目录为 /usr/share/zabbix/assets/fonts/