zabbix分散式proxy

不太聪明的大鹅發表於2024-06-10

1.為什麼要學zabbix-proxy

2.zabbix-proxy工作流程

zabbix-proxy作用就是 臨時儲存資料,且轉發,給zabbix-server,也就是採集的監控資料,中轉站。

資料流走向就是

zabbix-agent  > zabbix-proxy > zabbix-server


3.zabbix-proxy部署

1. 部署一個zabbix-proxy機器

2. 設定zabbix元修改為清華的

rpm -ivh https://mirrors.tuna.tsinghua.edu.cn/zabbix/zabbix/4.0/rhel/7/x86_64/zabbix-release-4.0-1.el7.noarch.rpm

sed -i 's#repo.zabbix.com#mirrors.tuna.tsinghua.edu.cn/zabbix#g' /etc/yum.repos.d/zabbix.repo

yum install zabbix-proxy-mysql mariadb-server -y


3. zabbix-proxy 和 zabbix-server配置幾乎一樣,模擬了一個server角色,去儲存agent的資料


systemctl start mariadb.service

mysqladmin password linux0224
mysql -uroot -plinux0224

4.資料庫建立,zabbix庫,以及mysql賬號

# 非互動式的,執行mysql的 SQL語句

mysql -uroot -plinux0224 -e "create database zabbix_proxy character set utf8 collate utf8_bin;"

mysql -uroot -plinux0224 -e "grant all privileges on zabbix_proxy.* to zabbix_proxy@localhost identified by 'linux0224';"

mysql -uroot -plinux0224 -e "flush privileges;"


5. 匯入zabbix——poroxy的資料庫資料

zcat /usr/share/doc/zabbix-proxy-mysql-4.0.42/schema.sql.gz| mysql -uzabbix_proxy -plinux0224 zabbix_proxy


6.建立proxy配置檔案
cat > /etc/zabbix/zabbix_proxy.conf <<'EOF'
ProxyMode=0 # 代理模式,0 主動, 1 被動
Server=10.0.0.71    # 填入zabbix-server地址
ServerPort=10051    # 填入zabbix-server埠
Hostname=zabbix-proxy-72     # 填入主機名
LogFile=/var/log/zabbix/zabbix_proxy.log
LogFileSize=0 
PidFile=/var/run/zabbix/zabbix_proxy.pid 
SocketDir=/var/run/zabbix
DBHost=localhost
DBName=zabbix_proxy
DBUser=zabbix_proxy
DBPassword=linux0224
ConfigFrequency=60 # proxy多久和server同步配置資訊
DataSenderFrequency=5 # proxy多久傳送一次自己的資料給server
EOF

7.啟動,檢查
systemctl restart zabbix-proxy.service

[root@zabbix-proxy-72 ~]#netstat -tunlp|grep zabbix
tcp        0      0 0.0.0.0:10051           0.0.0.0:*               LISTEN      1954/zabbix_proxy   
tcp6       0      0 :::10051                :::*                    LISTEN      1954/zabbix_proxy   

4.zabbix-agent修改

前置動作

  1. 關閉自動註冊,自動發現等
  2. 刪除現有的主機,檢視基於zabbix-proxy模式的agent機器新增,資料採集
# agent是什麼 新增模式?
#  自動註冊模式,看懂1111
# ServerActive=10.0.0.72
# HostMetadata=Linux

自己for迴圈批次給  web7 web8 cicd99 jenkins100


[root@zabbix-server-71 ~]#cat zabbix_agentd.conf 
PidFile=/var/run/zabbix/zabbix_agentd.pid
LogFile=/var/log/zabbix/zabbix_agentd.log
LogFileSize=0
Server=10.0.0.72
ServerActive=10.0.0.72
HostMetadata=Linux
Include=/etc/zabbix/zabbix_agentd.d/*.conf


[root@zabbix-server-71 ~]#for server in 7 8 99 100;do  scp zabbix_agentd.conf root@10.0.0.${server}:/etc/zabbix/ ; done
zabbix_agentd.conf                                                                                100%  200   494.5KB/s   00:00    
zabbix_agentd.conf                                                                                100%  200   444.5KB/s   00:00    
zabbix_agentd.conf                                                                                100%  200   371.4KB/s   00:00    
zabbix_agentd.conf                                                                                100%  200   353.2KB/s   00:00  


批次重啟
for server in 7 8 99 100;do ssh root@10.0.0.${server} "systemctl restart zabbix-agent" ; done

4.2 去zabbix-UI中新增proxy的配置




看最新資料

相關文章