Docker平台安装Zabbix
前置步骤 Centos8安装Docker
甲、开始创建Docker内部的zabbix 网络
1 | docker network create --subnet 172.20.0.1/16 zabbix_net |
乙、配置防火墙
1 | firewall-cmd --zone=trusted --add-source=172.20.0.0/16 --permanent |
丙、创建数据库
1 | docker run -dit --name mariadb --network zabbix_net --restart always -v /etc/localtime:/etc/localtime -e MYSQL_ROOT_PASSWORD="123456789" -v /UserData/MariaDB:/var/lib/mysql -d mariadb |
创建数据库管理程序
1 | docker run -dit --name myadmin --network zabbix_net -e PMA_HOST=mariadb -e PMA_PORT=3306 -p 9881:80 -d phpmyadmin/phpmyadmin |
丁、创建java监控
1 | docker run -dit --name myadmin --network zabbix_net -e PMA_HOST=mariadb -e PMA_PORT=3306 -p 9881:80 -d phpmyadmin/phpmyadmin |
戊、创建存储卷
1 | docker volume create zabbix-server-vol |
己、创建zabbix 服务程序
1 | docker run -dit -p 10051:10051 --mount source=zabbix-server-vol,target=/etc/zabbix -v /etc/localtime:/etc/localtime -v /usr/lib/zabbix/alertscripts:/usr/lib/zabbix/alertscripts --name=zabbix-server-mysql --restart=always --network zabbix_net -e DB_SERVER_HOST="mariadb" -e MYSQL_DATABASE="zabbix_db" -e MYSQL_USER="zabbixdb" -e MYSQL_PASSWORD="zabbixdb12345" -e MYSQL_ROOT_PASSWORD="123456789" -e ZBX_JAVAGATEWAY="zabbix-java-gateway" zabbix/zabbix-server-mysql:latest |
庚、创建zabbix web
1 | docker run -dit -p 8080:8080 -e PHP_TZ="Asia/Shanghai" -v /etc/localtime:/etc/localtime --name zabbix-web-nginx-mysql --restart=always --network zabbix_net -e DB_SERVER_HOST="mariadb" -e MYSQL_DATABASE="zabbix_db" -e MYSQL_USER="zabbixdb" -e MYSQL_PASSWORD="zabbixdb12345" -e MYSQL_ROOT_PASSWORD="123456789" -e ZBX_SERVER_HOST="zabbix-server-mysql" zabbix/zabbix-web-nginx-mysql:latest |
解决web 显示中文不全
1 | win系统-->控制面板-->字体-->楷体 ( SIMKAI.TTF)复制出来 ,用scp复制到Centos8 |
辛、查看zabbix service IP
1 | docker inspect zabbix-server-mysql |
壬、安装 zabbix-agent
方案一
1 | rpm -Uvh https://repo.zabbix.com/zabbix/5.0/rhel/8/x86_64/zabbix-release-5.0-1.el8.noarch.rpm |
方案二
1 | wget https://repo.zabbix.com/zabbix/5.0/rhel/8/x86_64/zabbix-agent-5.0.0-1.el8.x86_64.rpm |
修改配置文件
1 | nano /etc/zabbix/zabbix_agentd.conf |
1 | systemctl start zabbix-agent.service |
癸、安装 zabbix-proxy-sqlite3
下载镜像
1 | docker pull zabbix/zabbix-proxy-sqlite3:alpine-latest |
配置参数
1 | mkdir -p /data/docker/zbxp/{enc,externalscripts,modules,snmptraps,ssh_keys,ssl,database} |
运行
1 | docker run -dit --name zabbix-proxy-sqlite3 --env-file /data/docker/zbxp/env --network zabbix_net -v /etc/localtime:/etc/localtime -p 11051:10051 \ |
zabbix_agent 安装modubus插件后不能获取modbus信息
查看被selinux禁止的信息
1 | cat /var/log/audit/audit.log |grep type=AVC |
分析如何解决
1 | grep 1605075251.910:2866 /var/log/audit/audit.log |audit2why |
或者定制模块
1 | grep zabbix_agentd /var/log/audit/audit.log | audit2allow -M myzabbix |
甲子.结束
本文章对于Ctrl+c,Ctrl+v党极度不友好。请勿无脑复制粘贴。所有命令和配置请根据实际出发,参考本文导致出现的任何问题本人不负责的呦。
参考的内容地址如下:
##由于此文章很久之前编辑。忘记了参考地址。再此感谢网络上无私分享的大佬们以及像我这样的菜菜们。