zabbix-proxy使用配置

簡介

zabbix proxy能夠代替zabbix server檢索客戶端的數據,而後把數據彙報給zabbix server,而且在必定程度上分擔了zabbix server的壓力.zabbix proxy能夠很是簡便的實現了集中式、分佈式監控.python

zabbix proxy使用場景:mysql

  • 監控遠程區域設備nginx

  • 監控本地網絡不穩定區域web

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

  • 簡化zabbix的維護數據庫

 

 

 

 

注意:緩存

zabbix proxy僅僅須要一條tcp鏈接到zabbix server,因此防火牆上僅僅須要加上一條規則便可.zabbix proxy數據庫必須和server分開,不然數據會被破壞,畢竟這兩個數據庫的表大部分都相同。總之記住,數據庫分開便可。網絡

proxy收集到數據以後,首先將數據緩存在本地,而後在必定得時間以後傳遞給zabbix server.這個時間由proxy配置文件中參數ProxyLocalBuffer and ProxyOfflineBuffer決定.app

zabbix proxy是一個數據收集器,它不計算觸發器、不處理事件、不發送報警,以下是proxy的功能.socket

 

安裝

下載依賴

yum install -y fping OpenIPMI net-snmp-agent-libs unixODBC

 

下載安裝指定的rpm包

wget https://repo.zabbix.com/zabbix/4.0/rhel/7/x86_64/zabbix-proxy-mysql-4.0.5-1.el7.x86_64.rpm
rpm -ivh zabbix-proxy-mysql-4.0.5-1.el7.x86_64.rpm

 

mysql 庫配置

不能跟server公用一個數據庫

mysql> create database zabbix_proxy character set utf8;                                    # 建立數據庫
mysql> grant all on zabbix_proxy.* to zabbix@localhost identified by 'zabbix';       # 建立受權用戶
mysql> flush privileges;                                                                                    # 刷新受權表,雖然不須要
mysql> use proxydb;

 

Zabbix-proxy數據庫只須要導入一條sql

# zcat schema.sql.gz
$ gzip -d schema.sql.gz
$ /data/app/mysql-3306/bin/mysql -uroot -pxxxx zabbix_proxy < /usr/share/doc/zabbix-proxy-mysql-4.0.5/schema.sql

 

在server端啓動捕捉進程
#在Server執行..
sed -i 's/.*StartTrappers=.*$/StartTrappers=10/' /etc/zabbix/zabbix_server.conf
service zabbix-server restart

 

 

Zabbix-proxy配置文件/etc/zabbix/zabbix_proxy.conf
修改配置文件/etc/zabbix/zabbix_proxy.conf
Server=192.168.1.154                         #填寫Server的IP,Proxy會將收集到的數據發往這個IP。
ServerPort=10051                             #proxy默認端口號,要實現轉發的話使用這個選項
Hostname=web                                 #在web端網頁配置時須要用到,保持一致
DBHost=localhost                             #數據庫,使用本地,也可使用ip
​
DBName=zabbix_proxy                          #數據庫名稱,建立zabbix-proxy的mysql的數據庫名稱
DBUser=zabbix                                
DBPassword=zabbix                            
DBPort=3306  
DBSocket=/data/appData/mysql-3306/mysql.sock #mysqlsock文件,默認是使用socket通訊的
​
ProxyLocalBuffer=0                           #當數據發送到Server,還要在本地保留多少小時.不保留
ProxyOfflineBuffer=3                         #當數據沒有發送到Server,在本地保留多少小時,3小時。
HeartbeatFrequency=60                        #心跳檢測代理在Server的可用性
ConfigFrequency=3600                         #代理多久從Server獲取一次配置變化,默認3600秒.
​
DataSenderFrequency=1                        #這個是proxy端向server端發送數據的時間,單位是秒
ExternalScripts=/usr/lib/zabbix/externalscripts


LogFileSize=0
PidFile=/var/run/zabbix/zabbix_proxy.pid
SocketDir=/var/run/zabbix
DataSenderFrequency=60
SNMPTrapperFile=/var/log/snmptrap/snmptrap.log
CacheSize=64M
Timeout=10
LogSlowQueries=3000

 

 

web端建立proxy

若是你安裝好proxy以後,咱們即可以在zabbix管理站點上配置proxy了.

ministration(管理) → DM(分佈式監控)-->Create proxy(建立代理)

代理名稱:bate_proxy # 與zabbix_proxy配置文件中Hostname=bate_proxy保持一致

代理模式:主動式

 

參數
參數 描述
Proxy name proxy名稱,必須和proxy配置文件中的hostname一致
Proxy mode 選擇proxy模式
Active proxy主動鏈接到zabbix server而且請求配置文件數據
Passive Zabbix server鏈接到proxy
Hosts 哪些主機須要被proxy監控

zabbix-agent

安裝agent
wget https://repo.zabbix.com/zabbix/4.0/rhel/7/x86_64/zabbix-agent-4.0.5-1.el7.x86_64.rpm

 

配置proxy
egrep -v "^#|^$" /etc/zabbix/zabbix_agentd.conf
PidFile=/var/run/zabbix/zabbix_agentd.pid
LogFile=/var/log/zabbix/zabbix_agentd.log
LogFileSize=0
Server=172.17.0.124
ServerActive=172.17.0.124                       # 這裏的ServerIP是用於Agent(主動)模式的.
ListenIP=0.0.0.0
Hostname=nginx1
HostnameItem=system.hostname                    
Include=/etc/zabbix/zabbix_agentd.d/*.conf 

重啓zabbix-agent

zabbix-web建立主機的時候要選代理名稱。

相關文章
相關標籤/搜索