docker部署zabbix

 

docker 部署zabbix
官网:https://www.zabbix.com/documentation/current/manual/installation/containers

删除已经安装的docker

sudo 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

sudo yum -y install docker-ce

配置docker加速
vim /etc/docker/daemon.json
{
"registry-mirrors": ["https://registry.docker-cn.com","https://nrbewqda.mirror.aliyuncs.com","https://dmmxhzvq.mirror.aliyuncs.com"]
}

 

启动docker服务

systemctl restart docker



#启动一个空的MySQL服务器实例
dockdocker run --name mysql-server -t \
-e MYSQL_DATABASE="zabbix" \
-e MYSQL_USER="zabbix" \
-e MYSQL_PASSWORD="zabbix_pwd" \
-e MYSQL_ROOT_PASSWORD="root_pwd" \
-d mysql:8.0 \
--character-set-server=utf8 --collation-server=utf8_bin \
--default-authentication-plugin=mysql_native_password
注:该容器未使用-v选项,也就是说所有的数据库都在容器中


#启动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_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 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_pwd" \
-e MYSQL_ROOT_PASSWORD="root_pwd" \
--link mysql-server:mysql \
--link zabbix-server-mysql:zabbix-server \
-p 80:8080 \
-d zabbix/zabbix-web-nginx-mysql:latest

#安装zabbix客户端agent
docker run --name zabbix-agent \
-e ZBX_HOSTNAME="self" \
-e ZBX_SERVER_HOST="172.17.0.1" \
-e ZBX_METADATA="client" \
-p 10050:10050 \
-d zabbix/zabbix-agent:latest





docker run --name zabbix-agent \
-e ZBX_HOSTNAME="self" \         #该名称可自定义,监控本地宿主机时用该项
-e ZBX_SERVER_HOST="172.17.0.1" \    #宿机上使用ip a命令查看到docker0网卡的IP
-e ZBX_METADATA="client" \       #这个是设置元数据,在server上配置自动注册的时候用,可自定义
-p 10050:10050 \
-d zabbix/zabbix-agent:latest


 

 

 

================= 以上都在docker中执行安装 ==================
================= 以上都在docker中执行安装 ==================
================= 以上都在docker中执行安装 ==================

                                                               登录账密:Admin/zabbix

客户端安装zabbix_agent(客户端为Centos7.4,非docker)
关闭防火墙
iptables -F && setenforce 0
systemctl stop firewalld && systemctl disable firewalld
sed -i "s/SELINUX=enforcing/SELINUX=disabled/" /etc/selinux/config


官网包下载:http://repo.zabbix.com/zabbix/5.0/
wget http://repo.zabbix.com/zabbix/5.0/rhel/7/x86_64/zabbix-agent-5.0.0-1.el7.x86_64.rpm
rpm -ivh zabbix-agent-5.0.0-1.el7.x86_64.rpm
vim /etc/zabbix/zabbix_agentd.conf
  PidFile=/var/run/zabbix/zabbix_agentd.pid
  LogFile=/var/log/zabbix/zabbix_agentd.log
  LogFileSize=0
  DenyKey=system.run[*]
  Server=172.16.186.20      #服务端IP
  ServerActive=172.16.186.20    #服务端IP
  Hostname=client1        #可自定义
  Include=/etc/zabbix/zabbix_agentd.d/*.conf

systemctl restart zabbix-agent.service

web端添加主机

 



修改图标中的乱码


 字体
docker cp simkai.ttf <docker_nginx_ID>:/usr/share/zabbix/assets/fonts/
docker exec -it <docker_nginx_ID> /bin/bash

注:simkai.ttf为楷体自行下载

注:在容器中zabbix用户没有mv和cp的权限

进入文件 /usr/share/zabbix/include/defines.inc.php添加define('ZBX_GRAPH_FONT_NAME', 'simkai'); // font file name

注:进入到nginx那个容器中打开/usr/share/zabbix/include/defines.inc.php文件,将原来的DejaVuSans更换为通过docker cp复制进来的字体名字,然后刷新下web页面即可,如下

 



 

 
posted @ 2021-09-27 10:01  Daniel_ming  阅读(1018)  评论(0编辑  收藏  举报