zabbix-proxy安裝及配置文件詳解


簡介

zabbix 作為一個分布式監控系統(分布式監控解決方案),支持通過代理(proxy)收集zabbix agent的監控數據然后由zabbix proxy再把數據發送給zabbix server,也就是zabbix proxy 可以代替 zabbix server收集監控數據,然后把數據匯報給 zabbix server,所以zabbix proxy可以在一定程度上分擔了zabbix server 的數據收集壓力,從而降低了數據的采集時間、也相應的增加了zabbix server的監控能力。

另外zabbix proxy也區分主動模式和被動模式,通信方式與zabbix server主動模式和被動模式一樣,區別是zabbix proxy由於沒有zabbix agent的配置,所以zabbix proxy在主動模式下要向zabbix server周期性申請獲取zabbix agent的監控項信息,但是zabbix proxy在被動模式下也是等待zabbix server的連接並接受zabbix server發送的監控項指令,然后再由zabbix proxy向zabbix agent發起請求獲取數據。

一個zabbix server可以有多個proxy,並且proxy也需要把數據臨時存放在數據庫中,每個proxy都有一個獨立的數據庫,proxy的大版本號需要與server保持一致;

apt安裝proxy

1、wget https://repo.zabbix.com/zabbix/4.0/ubuntu/pool/main/z/zabbix-release/zabbix-release_4.0-3+bionic_all.deb

2、dpkg -i zabbix-release_4.0-3+bionic_all.deb

3、apt update

4、apt install zabbix-proxy-mysql -y

5、cd /usr/share/doc/zabbix-proxy-mysql/

6、zcat schema.sql.gz | mysql -uzabbix_active -plinux -h192.168.3.203 zabbix_active
#把sql語句的壓縮文件通過zcat輸出到終端上,通過管道導入到zabbix_active庫中,進行數據庫表結構的初始化

編譯安裝proxy

1、cd /usr/local/src

2、tar xvf zabbix-4.0.18.tar.gz

3、cd zabbix-4.0.18/

4、apt install libmysqld-dev libmysqlclient-dev libxml2-dev libxml2 snmp libsnmp-dev libevent-dev curl libcurl4-openssl-dev openjdk-8-jdk -y   #安裝yilde包

5、./configure --prefix=/apps/zabbix-proxy --enable-proxy --enable-agent --enable-java --with-mysql --with-net-snmp --with-libcurl --with-libxml2
#編譯安裝agent,編譯安裝proxy,編譯安裝java gateway,編譯安裝java gateway之前需要安裝jdk環境,否則環境檢查時會報錯;使用mysql、開啟snmp、開啟監控url

6、make && make install

數據庫服務器:
1、mysql> create database zabbix_passive character set utf8 collate utf8_bin;
2、mysql> grant all privileges on zabbix_passive.* to zabbix_passive@'192.168.3.%' identified by 'linux';
#proxy也需要有自己的數據庫

7、useradd zabbix

8、chown zabbix.zabbix /apps/zabbix-proxy/ -R

9、cd /usr/local/src/zabbix-4.0.18/database/mysql/

10、mysql -uzabbix_passive -plinux -h192.168.3.203 zabbix_passive < schema.sql 
#指定數據庫,導入sql腳本,初始化proxy數據庫的表結構,生成表;如果不導入sql腳本,啟動proxy時會報沒有表,查詢不到

11、systemctl start zabbix-proxy

12、systemctl enable zabbix-proxy

准備proxy的service文件

root@test:~# vim /lib/systemd/system/zabbix-proxy.service
[Unit]
Description=Zabbix Proxy
After=syslog.target
After=network.target

[Service]
Environment="CONFFILE=/apps/zabbix-proxy/etc/zabbix_proxy.conf"
EnvironmentFile=-/etc/default/zabbix-proxy
Type=forking
Restart=on-failure
PIDFile=/tmp/zabbix_proxy.pid   #pid文件路徑需要和proxy配置文件中的pid路徑一致
KillMode=control-group
ExecStart=/apps/zabbix-proxy/sbin/zabbix_proxy -c $CONFFILE
ExecStop=/bin/kill -SIGTERM $MAINPID
RestartSec=10s
TimeoutSec=infinity

[Install]
WantedBy=multi-user.target

proxy配置文件

root@test:~# vim /apps/zabbix-proxy/etc/zabbix_proxy.conf
ProxyMode=0
#1是proxy工作在被動模式,0是工作在主動模式

Server=192.168.3.200
#允許指定地址的server到本機proxy抓取數據

ServerPort=10051
#指定server端口;被動模式下,將會忽略server的端口

Hostname=zabbix-proxy-linux-passive
#指定proxy的名稱,此名稱在zabbix server中需要是唯一的

ListenPort=10051
#proxy的監聽端口也是10051

# SourceIP=
#多地址的情況下可以指定通信地址

DBHost=192.168.3.203
#指定proxy采集到的臨時數據存放的數據庫地址

DBName=zabbix_passive
#庫名


DBUser=zabbix_passive
#賬號

DBPassword=linux
#密碼

ProxyLocalBuffer=720
#已經提交到zabbix server的數據保留時間,單位是小時,范圍是1-720

ProxyOfflineBuffer=720
#因連接不上server,而未提交到zabbix server的數據保留時間

HeartbeatFrequency=120
#心跳間隔檢測時間,被動模式將會被忽略;主動模式下,proxy將檢測server是否存活;單位是秒,0-3600

ConfigFrequency=180
#主動模式下,proxy間隔多長時間向server獲取監控項;單位秒,范圍1-3600*24*7

DataSenderFrequency=30
#主動模式下,proxy間隔多長時間向server發送數據;單位秒,范圍1-3600

StartPollers=5
#proxy開啟幾個進程收集數據

HistoryCacheSize=16M
#歷史數據緩存大小;盡量大的分配空間

CacheSize=16M
#保存監控項而占用的最大內存

Timeout=30
#指定時間內,agent沒把監控項的數據返回則超時

User=zabbix
#指定啟動proxy的用戶


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM