Zabbix-proxy和Zabbix-agent源碼安裝


一 、Zabbix Proxy

概述

Zabbix proxy 是一個可以從一個或多個受監控設備采集監控數據並將信息發送到 Zabbix server 的進程,主要是代表 Zabbix server 工作。 所有收集的數據都在本地緩存,然后傳輸到 proxy 所屬的 Zabbix server。

部署Zabbix proxy 是可選的,但可能非常有利於分擔單個 Zabbix server 的負載。 如果只有代理采集數據,則 Zabbix server 上會減少 CPU 和磁盤 I/O 的開銷。

Zabbix proxy 是無需本地管理員即可集中監控遠程位置、分支機構和網絡的理想解決方案。

Zabbix proxy 需要使用獨立的數據庫。

Zabbix proxy安裝

下載編譯

下載

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 

創建用戶和組並創建安裝目錄

sudo groupadd zabbix
sudo useradd -g zabbix zabbix
sudo mkdir  /opt/zabbix-proxy
sudo chown  zabbix:zabbix /opt/zabbix-proxy

安裝依賴包

yum install -y  mysql-devel net-snmp net-snmp-devel  libssh2-devel 

編譯安裝

cd  zabbix-4.0.9
# 如果想使用其它參數和數據庫,使用 ./configure --help 查看選項和參數,使用mysql 作為 proxy 的數據庫
./configure --prefix=/opt/zabbix-proxy --enable-proxy  --with-net-snmp --with-mysql --with-ssh2
make install 

創建Zabbix proxy數據庫並導入數據

Zabbix proxy 是將數據儲存在本地,然后傳輸到 Zabbix Server 的。所以我們需要創建 Zabbix proxy 的數據庫。

# 創建數據庫
create database zabbix_proxy character set utf8 collate utf8_bin;
# 創建用戶
grant all privileges on zabbix_proxy.* to zabbix_fy@localhost identified by 'password';

導入數據,zabbix proxy 不需要將所有的數據庫數據都導入,只需要導入 schema.sql

mysql -u zabbix_fy  -p --database zabbix_proxy </tmp/zabbix-4.0.9/database/mysql/schema.sql

更改Zabbix proxy 配置文件

默認配置文件是 位於 安裝目錄的./etc/zabbix_proxy.conf

默認啟用的是主動模式,默認監聽端口: 10051。參數詳解:官方文檔

Server=# 填入zabbix server 的ip
ServerPort= # zabbix server 監聽的端口,默認為 10051
Hostname=#zabbix Proxy 的名稱
DBHost= # 數據庫地址
DBName=zabbix_proxy # 數據庫名稱
DBUser=zabbix_fy # 用戶名
DBPassword=sRW123456 # 密碼
ProxyOfflineBuffer=24 # 如果連接不到zabbix-server,數據保存多久。

設置為 systemd 服務

創建 /usr/lib/systemd/system/zabbix-proxy.service 文件。並添加以下內容:

[Unit]
Description=Zabbix Proxy
After=syslog.target
After=network.target

[Service]
User=zabbix
Group=zabbix
Environment="CONFFILE=/opt/zabbix-proxy/etc/zabbix_proxy.conf"
Type=forking
Restart=on-failure
PIDFile=/tmp/zabbix_proxy.pid
KillMode=control-group
ExecStart=/opt/zabbix-proxy/sbin/zabbix_proxy -c $CONFFILE
ExecStop=/bin/kill -SIGTERM $MAINPID
RestartSec=10s
TimeoutSec=0

[Install]
WantedBy=multi-user.target

啟動服務並設置為開機自啟

# sudo  systemctl  restart  zabbix-proxy
# sudo  systemctl  enable  zabbix-proxy

開放對應的端口

sudo firewall-cmd --add-port=10051/tcp  --permanent 
sudo firewall-cmd --reload 

Zabbix Proxy 安裝報錯與解決辦法

這里報的錯都是由於依賴包沒有安裝,導致編譯時報錯。

錯誤一

checking for the linux kernel version... unknown family (3.10.0-862.14.4.el7.x86_64)
checking size of void *... 8
checking for mysql_config... no
checking for mariadb_config... no
configure: error: MySQL library not found

解決辦法

yum install -y  mysql-devel

錯誤二

checking for Zabbix server/proxy database selection... ok
checking for multirow insert statements... yes
checking for pkg-config... /usr/bin/pkg-config
checking pkg-config is at least version 0.9.0... yes
checking for net-snmp-config... no
configure: error: Invalid Net-SNMP directory - unable to find net-snmp-config

解決辦法

yum  install  net-snmp net-snmp-devel  -y

錯誤三

checking for main in -lnetsnmp... yes
checking for localname in struct snmp_session... yes
checking for SSH2 support... no
configure: error: SSH2 library not found

解決辦法

 yum install libssh2-devel -y

二、Zabbix agent

Zabbix agent安裝

下載編譯

下載

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 

創建用戶和組並創建安裝目錄

sudo groupadd zabbix
sudo useradd -g zabbix zabbix
sudo mkdir  /opt/zabbix-agent
sudo chown  zabbix:zabbix /opt/zabbix-agent

編譯安裝

cd  zabbix-4.0.9
./configure  --prefix=/opt/zabbix-agent --enable-agent 

更改Zabbix agent 配置文件

默認配置文件是 位於 安裝目錄的./etc/zabbix_agentd.conf

我們一般需要更改以下參數:

Server: 設置該值為 Zabbix Server IP.默認為 127.0.0.1
ServerActive:設置該值為 Zabbix Server IP,如果 Zabbix Server 不是使用的默認10051端口,我們可以在此加上端口號,形如:192.168.12.234:11051,默認為127.0.0.1
Hostname :設置為主機的主機名,默認為 zabbix server 
LogFileSize=1   日志文件超過 1M 就進行切割。值為 0時表示不切割日志。 默認為 1
EnableRemoteCommands:是否開啟遠程命令 默認為 0

設置為 systemd 服務

創建 /usr/lib/systemd/system/zabbix-agent.service 文件。並添加以下內容:

[Unit]
Description=Zabbix Agent
After=syslog.target
After=network.target

[Service]
User=zabbix
Group=zabbix
Environment="CONFFILE=/opt/zabbix-agent/etc/zabbix_agentd.conf"
Type=forking
Restart=on-failure
PIDFile=/tmp/zabbix_agentd.pid
KillMode=control-group
ExecStart=/opt/zabbix-agent/sbin/zabbix_agentd -c $CONFFILE
ExecStop=/bin/kill -SIGTERM $MAINPID
RestartSec=10s

[Install]
WantedBy=multi-user.target

啟動服務並設置為開機自啟

sudo  systemctl  restart  zabbix-agent
sudo  systemctl  enable  zabbix-agent

開放對應的端口

sudo firewall-cmd --add-port=10050/tcp  --permanent 
sudo firewall-cmd --reload 

源碼安裝官方文檔 :點我,官方文檔可能沒有我這里詳細哦。


免責聲明!

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



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