操作系统环境:centos7.5 x64版本
安装wget
yum -y install wget
如果有之前安装的版本,删除之前安装的版本
yum remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-selinux docker-engine-selinux docker-engine
下载docker-ce的源
wget --no-check-certificate https://download.docker.com/linux/centos/docker-ce.repo -O /etc/yum.repos.d/docker-ce.repo
更新本缓存文件
yum makecache
安装docker-ce
yum -y install docker-ce
下面这个示例展现了如何运行支持MySQL数据库的Zabbix server,基于Nginx web服务器运行Zabbix web接口,以及Zabbix Java gateway。
1. 启动一个空的MySQL服务器实例
# docker run --name mysql-server -t --restart=always \ -e MYSQL_DATABASE="zabbix" \ -e MYSQL_USER="zabbix" \ -e MYSQL_PASSWORD="zabbix_pwd" \ -e MYSQL_ROOT_PASSWORD="root_pwd" \ -d mysql:5.7 \ --character-set-server=utf8 --collation-server=utf8_bin
2. 启动Zabbix Java gateway实例
# docker run --name zabbix-java-gateway -t --restart=always \ -d zabbix/zabbix-java-gateway:latest
3. 启动Zabbix server实例,并关联这个实例到已创建的MySQL服务器实例
# docker run --name zabbix-server-mysql -t --restart=always \ -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" \ -e ZBX_JAVAGATEWAY="zabbix-java-gateway" \ --link mysql-server:mysql \ --link zabbix-java-gateway:zabbix-java-gateway \ -p 10051:10051 \ -d zabbix/zabbix-server-mysql:latest
Zabbix server实例暴露10051/TCP端口(Zabbix trapper)给主机。
4. 启动Zabbix web 接口,并将它与MySQL服务器实例和Zabbix server实例关联
# docker run --name zabbix-web-nginx-mysql -t --restart=always \ -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
Zabbix web 接口暴露80/TCP端口(HTTP)给主机。
安装完成后,直接浏览主机地址:
http://服务器ip
安装完成后账号信息
登录账号:Admin 登录密码:zabbix
添加防火墙策略
[root@bogon ~]# firewall-cmd --permanent --zone=public --add-rich-rule="rule family="ipv4" source address="192.168.1.1/24" port protocol="tcp" port="80" accept" success [root@bogon ~]# firewall-cmd --permanent --zone=public --add-rich-rule="rule family="ipv4" source address="192.168.1.1/24" port protocol="tcp" port="10051" accept" success [root@bogon ~]# firewall-cmd --reload success [root@bogon ~]# firewall-cmd --list-all public (active) target: default icmp-block-inversion: no interfaces: ens192 sources: services: ssh dhcpv6-client ports: protocols: masquerade: no forward-ports: source-ports: icmp-blocks: rich rules: rule family="ipv4" source address="192.168.1.1/24" port port="80" protocol="tcp" accept rule family="ipv4" source address="192.168.1.1/24" port port="10051" protocol="tcp" accept
查看安装好的zabbix容器
[root@bogon ~]# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 8837ffd9b392 zabbix/zabbix-web-nginx-mysql:latest "docker-entrypoint.sh" 3 hours ago Up 3 hours 0.0.0.0:80->80/tcp, 443/tcp zabbix-web-nginx-mysql fd28b058c957 zabbix/zabbix-server-mysql:latest "docker-entrypoint.sh" 3 hours ago Up 3 hours 0.0.0.0:10051->10051/tcp zabbix-server-mysql 359ee145f77c zabbix/zabbix-java-gateway:latest "docker-entrypoint.sh" 3 hours ago Up 3 hours 10052/tcp zabbix-java-gateway 9486971f9167 mysql:5.7 "docker-entrypoint.s…" 3 hours ago Up 3 hours 3306/tcp mysql-server
解决zabbix网页改中文后,显示乱码问题
simkai.ttf从windows的 C:\Windows\Fonts\ 目录下复制出来的“楷体 常规”这个字体文件
将字体文件拷贝到zabbix网页的容器里
docker cp simkai.ttf 8837ffd9b392:/usr/share/zabbix/fonts/
进入容器
docker exec -it 8837ffd9b392 /bin/bash
修改备份原有链接,创建新链接
cd /usr/share/zabbix/fonts mv graphfont.ttf graphfont.ttf.bak ln -sv simkai.ttf graphfont.ttf
主机名称用中文解决方法
进入容器
docker exec -it 8837ffd9b392 /bin/bash
修改源码文件
vi /usr/share/zabbix/include/defines.inc.php define('ZBX_PREG_INTERNAL_NAMES', '([0-9a-zA-Z_\. \-]+)'); // !!! Don't forget sync code with C !!! 修改为 define('ZBX_PREG_INTERNAL_NAMES', '([0-9a-zA-Z_\. \-\x{80}-\x{ff}]+)');/* !!! Don't forget sync code with C !!! */
正常演示页面
- 本文固定链接: https://www.laofuxi.com/819.html
- 转载请注明: 劳福喜 于 劳福喜-专注Linux服务器运维技术 发表