zabbix proxy分佈式監控部署

一、簡化分佈式監控的維護

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功能的概述,如下表:

二、分佈式監控部署

環境說明

系統版本 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

#安裝zabbix-proxy

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

#安裝數據庫

[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

 #創庫
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

#修改zabbix-proxy的配置文件

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

[root@zabbix-proxy ~]# vim /etc/zabbix/zabbix_proxy.conf
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的線程數

#啓動zabbix-proxy

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

[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

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

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

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 [email protected]:/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地址便於區分            

#啓動zabbix-agent

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

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

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

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

在這裏插入圖片描述

爲主機鏈接模板

在這裏插入圖片描述

5、檢驗

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

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

在這裏插入圖片描述
至此,zabbix跨網段通過proxy代理監控主機配置完成!

本文章轉載於https://www.cnblogs.com/ssgeek/p/9252226.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章