zabbix-proxy 代理服務器安裝:
1、數據庫的安裝
docker run --name zabbix-mysql -t \ -p 3306:3306 \ -e MYSQL_DATABASE=zabbix \ -e MYSQL_USER=zabbix \ -e MYSQL_PASSWORD=zabbix \ -e MYSQL_ROOT_PASSWORD="root" \ -v /etc/localtime:/etc/localtime \ -v /Dockerfile/mysql/data:/var/lib/mysql \ -d mysql:latest
這里使用的是MySQL8,由於MySQL登錄認證機制有所改變,需要在數據庫中執行以下命令否則zabbix-server將無法連接數據庫。
docker exec -it zabbix-mysql mysql -uroot -proot
ALTER USER 'zabbix'@'%' IDENTIFIED WITH mysql_native_password BY 'zabbix';
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'root';
2、安裝zabbix-proxy容器
docker run --name zabbix-proxy -t \ --link zabbix-mysql:mysql \ -e DB_SERVER_HOST="mysql" \ -e ZBX_SERVER_HOST="10.61.11.60" \ -e MYSQL_USER="zabbix" \ -e MYSQL_DATABASE="zabbix" \ -e MYSQL_PASSWORD="zabbix" \ -e ZBX_HOSTNAME="zabbix-proxy-guanzhong" \ -e ZBX_TIMEOUT=30 \
-e ZBX_CACHESIZE=5000M \ -v /etc/localtime:/etc/localtime \ -p 10051:10051 \ -d zabbix/zabbix-proxy-mysql:latest
3、zabbix-proxy配置文件參數:
/etc/zabbix/zabbix_proxy.conf
Server=192.168.123.134 #真正的服務端 ServerPort=18103 #根據個人需要修改,一般可以不改,默認端口是10051,要實現轉發的話使用這個選項 Hostname=153Zabbix proxy #proxy的hostname,在web端網頁配置時需要用到 DBHost=localhost #數據庫,使用本地,也可以使用ip,我喜歡使用localhost,因為我授權就是本地,也因為配置ip失敗踩過坑 DBName=zabbix_proxy #數據庫名稱,創建zabbix-proxy的mysql的數據庫名稱 DBUser=zabbix #用戶 DBPassword=zabbix #密碼 #DBPort=3306 #當DBHost填寫localhost時,默認是使用socket通信的,這里配置一下也無礙 #HeartbeatFrequency=60 #心跳線(具體作用網了,看配置文件吧,這個默認就是60) ConfigFrequency=600 #這個好像是同步配置文件的時間 DataSenderFrequency=1 #這個是proxy端向server端發送數據的時間,單位是秒,幾乎等於實時同步
代理日志出現:
enabling Zabbix agent checks on host "g030n610010-12-server02": host became available
說明代理和客戶端之間建立通訊。
4、zabbix-agent端配置:
制定server參數值為zabbix-proxy的IP地址
Server=192.168.123.150 #代理服務器IP地址
5、server端添加主機:
添加主機: