zabbix proxy分布式監控部署


一、proxy分布式監控介紹

來源於zabbix官網:

https://www.zabbix.com/documentation/3.4/zh/manual/distributed_monitoring/proxies

zabbix通過Zabbix proxies為IT基礎設施提供有效和可用的分布式監控

代理(proxies)可用於代替Zabbix server本地收集數據,然后將數據報告給服務器

當選擇使用/不使用proxy時,必須考慮幾個注意事項

 

Proxy

輕量級(Lightweight

Yes

圖形界面(GUI

No

獨立工作(Works independently

Yes

易於維護(Easy maintenance

Yes

自動生成數據庫(Automatic DB creation1

Yes

本地管理(Local administration

No

准備嵌入式硬件 Ready for embedded hardware

Yes

單向TCP連接(One way TCP connections

Yes

集中配置(Centralised configuration

Yes

生成通知(Generates notifications

No

zabbix proxy 可以代替 zabbix server 收集性能和可用性數據,然后把數據匯報給 zabbix server,並且在一定程度上分擔了zabbix server 的壓力。此外,當所有agents和proxies報告給一個Zabbix server並且所有數據都集中收集時,使用proxy是實現集中式和分布式監控的最簡單方法

zabbix proxy 使用場景:

監控遠程區域設備

監控本地網絡不穩定區域

當 zabbix 監控上千設備時,使用它來減輕 server 的壓力

簡化分布式監控的維護

zabbix proxy 僅僅需要一條 tcp 連接到 zabbix server,所以防火牆上僅僅需要加上一條規則即可

zabbix proxy 數據庫必須和 server 分開,否則數據會被破壞

proxy 收集到數據之后,首先將數據緩存在本地,然后在一定的時間之后傳遞給 zabbix server,這樣就不會因為服務器的任何臨時通信問題而丟失數據。這個時間由 proxy配置文件中參數 ProxyLocalBuffer 和 ProxyOfflineBuffer 決定

注意從Zabbix server數據庫直接更新最新配置的proxy可能會比Zabbix server新,而Zabbix server的配置由於 CacheUpdateFrequency 的原因而無法快速更新。因此,proxy收集發送Zabbix server數據可能會被忽略

zabbix proxy 是一個數據收集器,它不計算觸發器、不處理事件、不發送報警。有關proxy功能的概述,如下表:

功能

proxy支持(yes/no)

項目(Items

 
 

Zabbix agent checks

Yes

Zabbix agent checks (active)

Yes 1

Simple checks

Yes

Trapper items

Yes

SNMP checks

Yes

SNMP traps

Yes

IPMI checks

Yes

JMX checks

Yes

日志文件監控(Log file monitoring

Yes

內部檢查(Internal checks

Yes

SSH checks

Yes

Telnet checks

Yes

外部檢查(External checks

Yes

內置web監控(Built-in web monitoring

Yes

網絡發現(Network discovery)

Yes

自動發現(Low-level discovery

Yes

觸發器計算(Calculating triggers

No

處理事件(Processing events

No

發送報警(Sending alerts

No

遠程命令(Remote commands

No

二、分布式監控部署

環境說明

系統版本     CentOS 7.2 x86_64

軟件版本        zabbix 3.0.18

機器角色及ip

zabbix server    10.0.0.63

zabbix proxy    eth0:10.0.0.65    eth1:192.168.1.65

zabbix agent    192.168.1.66

通過zabbix proxy的搭建,zabbix server可以遠程從proxy獲取到數據,這里的環境相當於zabbix server具有一個公網ip地址,zabbix agent只具有內網地址,zabbix proxy具有外網地址和內網地址,搭建zabbix proxy使zabbix server能通過proxy遠程獲取到zabbix agent的數據

1、配置zabbix proxy

1.1 安裝並配置zabbix的源

[root@zabbix-proxy ~]# rpm -ivh https://mirrors.tuna.tsinghua.edu.cn/zabbix/zabbix/3.0/rhel/7/x86_64/zabbix-release-3.0-1.el7.noarch.rpm            #安裝源

[root@zabbix-proxy ~]# vim /etc/yum.repos.d/zabbix.repo    #修改配置文件,將地址改為清華的

[zabbix]

name=Zabbix Official Repository - $basearch

baseurl=https://mirrors.tuna.tsinghua.edu.cn/zabbix/zabbix/3.0/rhel/7/$basearch/

……

[zabbix-non-supported]

name=Zabbix Official Repository non-supported - $basearch

baseurl=https://mirrors.tuna.tsinghua.edu.cn/zabbix/non-supported/rhel/7/$basearch/

……

[root@zabbix-proxy ~]# yum makecache        #更新緩存

1.2 安裝配置zabbix proxy

[root@zabbix-proxy ~]# yum install -y zabbix-proxy-mysql    #安裝zabbix-proxy

[root@zabbix-proxy ~]# yum install -y mariadb-server        #安裝數據庫

[root@zabbix-proxy ~]# systemctl start mariadb.service         #啟動數據庫

[root@zabbix-proxy ~]# systemctl enable mariadb.service        #開機啟動

[root@zabbix-proxy ~]# mysql                            #登錄數據庫

create database zabbix_proxy default charset utf8;

MariaDB [(none)]> create database zabbix_proxy character set utf8 collate utf8_bin;    #創庫

MariaDB [(none)]> grant all privileges on zabbix_proxy.* to zabbix@localhost identified by '123456';    #授權

MariaDB [(none)]> exit

[root@zabbix-proxy ~]# rpm -ql zabbix-proxy-mysql|grep sql

/usr/sbin/zabbix_proxy_mysql

/usr/share/doc/zabbix-proxy-mysql-3.0.18

/usr/share/doc/zabbix-proxy-mysql-3.0.18/AUTHORS

/usr/share/doc/zabbix-proxy-mysql-3.0.18/COPYING

/usr/share/doc/zabbix-proxy-mysql-3.0.18/ChangeLog

/usr/share/doc/zabbix-proxy-mysql-3.0.18/NEWS

/usr/share/doc/zabbix-proxy-mysql-3.0.18/README

/usr/share/doc/zabbix-proxy-mysql-3.0.18/schema.sql.gz

[root@zabbix-proxy ~]# cd /usr/share/doc/zabbix-proxy-mysql-3.0.18/                #導入數據庫

[root@zabbix-proxy zabbix-proxy-mysql-3.0.18]# zcat schema.sql.gz | mysql -uzabbix -p123456 zabbix_proxy

[root@zabbix-proxy zabbix-proxy-mysql-3.0.18]# cd

[root@zabbix-proxy ~]# vim /etc/zabbix/zabbix_proxy.conf        #修改zabbix-proxy的配置文件

24 Server=10.0.0.63    #zabbix-server的地址

43 Hostname=zabbix-proxy        #主機名

128 DBHost=localhost            #數據庫主機

139 DBName=zabbix_proxy        #數據庫名稱

154 DBUser=zabbix            #數據庫用戶名

162 DBPassword=123456        #數據庫密碼

配置文件中沒有配置的內容如下:(有需要可以配置)

# ProxyLocalBuffer=0

#數據保留的時間(小時為單位)

# ProxyOfflineBuffer=1

#連不上Server,數據要保留多久(小時為單位,默認1小時)

# DataSenderFrequency=1

#數據的發送時間間隔(默認是1秒)

# StartPollers=5

#啟動的線程數

# StartIPMIPollers=0

#啟動IPMI的線程數

[root@zabbix-proxy ~]# systemctl start zabbix-proxy.service         #啟動zabbix-proxy

[root@zabbix-proxy ~]# systemctl enable zabbix-proxy.service        #開機啟動

2、server端的web界面添加zabbix proxy

配置——>anget代理程序——>創建代理

agent代理程序名稱和proxy代理的主機名相同

proxy代理添加后,等待發現代理,如果不能及時發現代理,可以通過查看server和proxy的日志進行檢查

[root@zabbix-server ~]# tail -f /var/log/zabbix/zabbix_server.log

[root@zabbix-proxy ~]# tail -f /var/log/zabbix/zabbix_proxy.log

[root@zabbix-server ~]# systemctl restart zabbix-server.service        #重啟server端服務

[root@zabbix-proxy ~]# systemctl restart zabbix-proxy.service        #再重啟proxy端服務

Web界面進行檢查,代理成功添加

3、安裝配置zabbix-agent

由於agent端只有一個內網卡,不能上網,要安裝zabbix-agent可以采取的方法有:

a、將proxy配置為路由器和agent的網關,使agent通過proxy上網安裝

b、在proxy端下載好agent程序發送到agent端再安裝

這里選擇方法b

在proxy下載並發送

[root@zabbix-proxy ~]# wget https://mirrors.tuna.tsinghua.edu.cn/zabbix/zabbix/3.0/rhel/7/x86_64/zabbix-agent-3.0.18-1.el7.x86_64.rpm

[root@zabbix-proxy ~]# scp zabbix-agent-3.0.18-1.el7.x86_64.rpm root@192.168.1.66:/root/

root@192.168.1.66's password:

zabbix-agent-3.0.18-1.el7.x86_64.rpm 100% 341KB 341.4KB/s 00:00

agent端yum本地安裝

[root@zabbix-agent ~]# yum localinstall -y zabbix-agent-3.0.18-1.el7.x86_64.rpm

[root@zabbix-agent ~]# vim /etc/zabbix/zabbix_agentd.conf            #修改配置文件

95 Server=192.168.1.65            #服務端即proxy的ip地址,內網地址

147 Hostname=192.168.1.66        #填寫主機名稱,或填寫為ip地址便於區分

[root@zabbix-agent ~]# systemctl start zabbix-agent.service             #啟動zabbix-agent

[root@zabbix-agent ~]# systemctl enable zabbix-agent.service            #開機啟動

4、server端的web界面添加主機

配置——>主機——>創建主機

主機名稱和agent端配置文件中相同,選擇代理

為主機鏈接模板

5、檢驗

等待添加的主機變綠,變綠之后查看最新數據

若不能及時變綠,則需要重啟服務或使用命令zabbix_server -R config_cache_reload刷新配置緩存

至此,zabbix跨網段通過proxy代理監控主機配置完成!

 

博主原創文章,轉載請務必注明出處


免責聲明!

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



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