Docker部署Zabbix5.0

此部署展现了如何运行支持MySQL数据库的Zabbix server,基于Nginx web服务器运行Zabbix web接口,以及Zabbix Java gateway。

一、安装运行mysql数据库容器,本地没有镜像自动会从默认docker仓库拉取,镜像拉取完以后才会在本地运行容器服务,--name参数指定mysql数据库容器名为mysql-server,-d参数为后台运行,并传入一些参数创建zabbix数据库,设置zabbix用户密码,设置root用户密码,设置数据库字符集为uft8。

docker run --name mysql-server -t \
-e MYSQL_DATABASE="zabbix" \
-e MYSQL_USER="zabbix" \
-e MYSQL_PASSWORD="zabbix" \
-e MYSQL_ROOT_PASSWORD="aie@2019" \
-d mysql:5.7 \
--character-set-server=utf8 --collation-server=utf8_bin --restart=always

二、启动Zabbix Java gateway实例, zabbix本身不支持直接监控Java,而是使用zabbix-java-gateway监控jvm/tomcat性能。

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

三、安装运行 Zabbix server 容器,标签latest为最新版本,使用link参数使两个容器相互链接,关联到已创建的 mysql-server容器,-p参数把容器zabbix server服务的10051端口映射为本机的10051端口。

docker run --name zabbix-server-mysql -t \
-e DB_SERVER_HOST="172.17.0.1" \
-e MYSQL_DATABASE="zabbix" \
-e MYSQL_USER="root" \
-e MYSQL_PASSWORD="aie@2019" \
-e MYSQL_ROOT_PASSWORD="aie@2019" \
-e ZBX_JAVAGATEWAY="zabbix-java-gateway" \
--link zabbix-java-gateway:zabbix-java-gateway \
-p 10051:10051 \
-d zabbix/zabbix-server-mysql:latest \
--restart=always

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

docker run --name zabbix-web-nginx-mysql -t \
-e DB_SERVER_HOST="172.17.0.1" \
-e MYSQL_DATABASE="zabbix" \
-e MYSQL_USER="root" \
-e MYSQL_PASSWORD="aie@2019" \
-e MYSQL_ROOT_PASSWORD="aie@2019" \
--link zabbix-server-mysql:zabbix-server \
-p 8890:8080 \
-d zabbix/zabbix-web-nginx-mysql:latest \
--restart=always

注:
DB_SERVER_HOST="172.17.0.1":写的是数据库的ip地址,也可能是docker0的地址
MYSQL_DATABASE="zabbix":创建库
MYSQL_USER="root":创建库的登录者
MYSQL_PASSWORD="aie@2019":登录者的密码
MYSQL_ROOT_PASSWORD="aie@2019":root的密码
如果已有数据库的话:
create database zabbix character set utf8 collate utf8_bin;  创建zabbix数据库
create user zabbix@localhost identified by 'Zabbix@123';  创建zabbix数据库用户,并设置密码
grant all privileges on zabbix.* to zabbix@localhost;  设置zabbix用户对zabbix数据库具有本地管理权限
授权如下图失败的话:

解决方法:
drop user zabbix@localhost; 
flush privileges;
create user zabbix@localhost identified by 'admins_password'

五、web访问,我这里是使用本地nginx代理完成的

# vim /etc/nginx/conf.d/zabbix.conf

server{                                                                                                                                                                
    listen 80;
    server_name zabbix.cloud.com;
 
    error_log /var/log/nginx/zabbix_error.log;
    access_log /var/log/nginx/zabbix_access.log;
    location / {
    proxy_pass http://127.0.0.1:8890;
    }
 }

六、安装zabbix-agent

docker run --name zabbix-agent \
-e ZBX_HOSTNAME="Zabbix server" \
-e ZBX_SERVER_HOST="zabbix-server-mysql" \
--link zabbix-server-mysql:zabbix-server \
-v /var/log/:/var/log/ \
--privileged=true
-d zabbix/zabbix-agent:latest \
--restart=always

七、访问页面zabbix.restartcloud.com   用户:Admin 密码:zabbix

八、中文显示乱码问题

        1、在windows上搜索字体(win10)

        /windows/foncs

        目录下有很多字体,自己选择,上传到zabbix-sever服务器上(文档中上传的是msyh.ttc字体)

        2、上传并改名

        上传到zabbix-web服务器中的/usr/share/zabbix/assets/fonts目录下

        并改名为msyh.ttf结尾的文件

cd /usr/share/zabbix/assets/fonts
mv msyh.ttc msyh.ttf

        3、修改include文件

        4、修改文件字体名称

        修改78行将单引号里的内容,修改为于上传字体文件名称一致

        修改123行内容,修改为于上传字体文件名称一致

到此就部署成功了,是不是很简单呢 (ง •̀_•́ง)

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值