Zabbix proxy 是一個(gè)可以從一個(gè)或多個(gè)受監(jiān)控設(shè)備采集監(jiān)控?cái)?shù)據(jù)并將信息發(fā)送到 Zabbix server 的進(jìn)程,主要是代表 Zabbix server 工作。 所有收集的數(shù)據(jù)都在本地緩存,然后傳輸?shù)?proxy 所屬的 Zabbix server。
部署Zabbix proxy 是可選的,但可能非常有利于分擔(dān)單個(gè) Zabbix server 的負(fù)載。 如果只有代理采集數(shù)據(jù),則 Zabbix server 上會(huì)減少 CPU 和磁盤(pán) I/O 的開(kāi)銷(xiāo)。
Zabbix proxy 是無(wú)需本地管理員即可集中監(jiān)控遠(yuǎn)程位置、分支機(jī)構(gòu)和網(wǎng)絡(luò)的理想解決方案。
Zabbix proxy 需要使用獨(dú)立的數(shù)據(jù)庫(kù)。
下載
cd /tmp && wget https://jaist.dl.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/4.0.9/zabbix-4.0.9.tar.gz
解壓
tar -xzf zabbix-4.0.9.tar.gz
創(chuàng)建用戶和組并創(chuàng)建安裝目錄
sudo groupadd zabbixsudo useradd -g zabbix zabbixsudo mkdir /opt/zabbix-proxysudo chown zabbix:zabbix /opt/zabbix-proxy
安裝依賴(lài)包
yum install -y mysql-devel net-snmp net-snmp-devel libssh2-devel
編譯安裝
cd zabbix-4.0.9# 如果想使用其它參數(shù)和數(shù)據(jù)庫(kù),使用 ./configure --help 查看選項(xiàng)和參數(shù),使用mysql 作為 proxy 的數(shù)據(jù)庫(kù)./configure --prefix=/opt/zabbix-proxy --enable-proxy --with-net-snmp --with-mysql --with-ssh2make install
Zabbix proxy 是將數(shù)據(jù)儲(chǔ)存在本地,然后傳輸?shù)?Zabbix Server 的。所以我們需要?jiǎng)?chuàng)建 Zabbix proxy 的數(shù)據(jù)庫(kù)。
# 創(chuàng)建數(shù)據(jù)庫(kù)create database zabbix_proxy character set utf8 collate utf8_bin;# 創(chuàng)建用戶grant all privileges on zabbix_proxy.* to zabbix_fy@localhost identified by 'password';
導(dǎo)入數(shù)據(jù),zabbix proxy 不需要將所有的數(shù)據(jù)庫(kù)數(shù)據(jù)都導(dǎo)入,只需要導(dǎo)入 schema.sql
mysql -u zabbix_fy -p --database zabbix_proxy </tmp/zabbix-4.0.9/database/mysql/schema.sql
默認(rèn)配置文件是 位于 安裝目錄的./etc/zabbix_proxy.conf
。
默認(rèn)啟用的是主動(dòng)模式,默認(rèn)監(jiān)聽(tīng)端口: 10051。參數(shù)詳解:官方文檔
Server=# 填入zabbix server 的ipServerPort= # zabbix server 監(jiān)聽(tīng)的端口,默認(rèn)為 10051Hostname=#zabbix Proxy 的名稱(chēng)DBHost= # 數(shù)據(jù)庫(kù)地址DBName=zabbix_proxy # 數(shù)據(jù)庫(kù)名稱(chēng)DBUser=zabbix_fy # 用戶名DBPassword=sRW123456 # 密碼ProxyOfflineBuffer=24 # 如果連接不到zabbix-server,數(shù)據(jù)保存多久。
systemd
服務(wù)創(chuàng)建 /usr/lib/systemd/system/zabbix-proxy.service
文件。并添加以下內(nèi)容:
[Unit]Description=Zabbix ProxyAfter=syslog.targetAfter=network.target[Service]User=zabbixGroup=zabbixEnvironment="CONFFILE=/opt/zabbix-proxy/etc/zabbix_proxy.conf"Type=forkingRestart=on-failurePIDFile=/tmp/zabbix_proxy.pidKillMode=control-groupExecStart=/opt/zabbix-proxy/sbin/zabbix_proxy -c $CONFFILEExecStop=/bin/kill -SIGTERM $MAINPIDRestartSec=10sTimeoutSec=0[Install]WantedBy=multi-user.target
啟動(dòng)服務(wù)并設(shè)置為開(kāi)機(jī)自啟
# sudo systemctl restart zabbix-proxy# sudo systemctl enable zabbix-proxy
開(kāi)放對(duì)應(yīng)的端口
sudo firewall-cmd --add-port=10051/tcp --permanent sudo firewall-cmd --reload
這里報(bào)的錯(cuò)都是由于依賴(lài)包沒(méi)有安裝,導(dǎo)致編譯時(shí)報(bào)錯(cuò)。
錯(cuò)誤一
checking for the linux kernel version... unknown family (3.10.0-862.14.4.el7.x86_64)checking size of void *... 8checking for mysql_config... nochecking for mariadb_config... noconfigure: error: MySQL library not found
解決辦法
yum install -y mysql-devel
錯(cuò)誤二
checking for Zabbix server/proxy database selection... okchecking for multirow insert statements... yeschecking for pkg-config... /usr/bin/pkg-configchecking pkg-config is at least version 0.9.0... yeschecking for net-snmp-config... noconfigure: error: Invalid Net-SNMP directory - unable to find net-snmp-config
解決辦法
yum install net-snmp net-snmp-devel -y
錯(cuò)誤三
checking for main in -lnetsnmp... yeschecking for localname in struct snmp_session... yeschecking for SSH2 support... noconfigure: error: SSH2 library not found
解決辦法
yum install libssh2-devel -y
下載
cd /tmp && wget https://jaist.dl.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/4.0.9/zabbix-4.0.9.tar.gz
解壓
tar -xzf zabbix-4.0.9.tar.gz
創(chuàng)建用戶和組并創(chuàng)建安裝目錄
sudo groupadd zabbixsudo useradd -g zabbix zabbixsudo mkdir /opt/zabbix-agentsudo chown zabbix:zabbix /opt/zabbix-agent
編譯安裝
cd zabbix-4.0.9./configure --prefix=/opt/zabbix-agent --enable-agent
默認(rèn)配置文件是 位于 安裝目錄的./etc/zabbix_agentd.conf
。
我們一般需要更改以下參數(shù):
Server: 設(shè)置該值為 Zabbix Server IP.默認(rèn)為 127.0.0.1ServerActive:設(shè)置該值為 Zabbix Server IP,如果 Zabbix Server 不是使用的默認(rèn)10051端口,我們可以在此加上端口號(hào),形如:192.168.12.234:11051,默認(rèn)為127.0.0.1Hostname :設(shè)置為主機(jī)的主機(jī)名,默認(rèn)為 zabbix server LogFileSize=1 日志文件超過(guò) 1M 就進(jìn)行切割。值為 0時(shí)表示不切割日志。 默認(rèn)為 1EnableRemoteCommands:是否開(kāi)啟遠(yuǎn)程命令 默認(rèn)為 0
systemd
服務(wù)創(chuàng)建 /usr/lib/systemd/system/zabbix-agent.service
文件。并添加以下內(nèi)容:
[Unit]Description=Zabbix AgentAfter=syslog.targetAfter=network.target[Service]User=zabbixGroup=zabbixEnvironment="CONFFILE=/opt/zabbix-agent/etc/zabbix_agentd.conf"Type=forkingRestart=on-failurePIDFile=/tmp/zabbix_agentd.pidKillMode=control-groupExecStart=/opt/zabbix-agent/sbin/zabbix_agentd -c $CONFFILEExecStop=/bin/kill -SIGTERM $MAINPIDRestartSec=10s[Install]WantedBy=multi-user.target
啟動(dòng)服務(wù)并設(shè)置為開(kāi)機(jī)自啟
sudo systemctl restart zabbix-agentsudo systemctl enable zabbix-agent
開(kāi)放對(duì)應(yīng)的端口
sudo firewall-cmd --add-port=10050/tcp --permanent sudo firewall-cmd --reload
源碼安裝官方文檔 :點(diǎn)我,官方文檔可能沒(méi)有我這里詳細(xì)哦。
聯(lián)系客服