zabbix proxy配置實戰案例


            zabbix proxy配置實戰案例

                                     作者:尹正傑

版權聲明:原創作品,謝絕轉載!否則將追究法律責任。

 

 

 

 

一.zabbix proxy概述

  上一篇博客我們分享了zabbix agent有兩種工作模式,即主動模式和被動模式,默認是被動模式,主動模式需要我們手動去配置,使用主動模式可以適當減輕zabbix server的負載,但當規模超過500個節點以后,盡管是主動模式也會很吃力了,此時需要引入zabbix proxy。

  zabbix是一個分布式的監控系統,支持通過代理服務zabbix proxy收集zabbix agent的數據,然后把收集保存在本地數據庫並發送給zabbix server進行統一存儲和展示。  

  當企業的服務器超過500台以上后,盡管使用主動模式,zabbix server的負載依舊不小,此時,可以引入zabbix proxy來減輕zabbix server的負載。

  引入zabbix proxy后,zabbix agent的監控數據不會直接發送給zabbix server,而是將監控數據發送給zabbix proxy,一個zabbix server可以配置多個zabbix proxy以減輕zabbix server的負擔,讓各個zabbix proxy分而治之。

  生產環境中,如果使用zabbix proxy大多數場景是使用主動模式。zabbix proxy和zabbix server之間的功能對比:
    輕量級:
      zabbix proxy是輕量級服務;
      zabbix server想必zabbix proxy來說是重量級;

    圖形化:
      zabbix proxy是沒有圖形界面展示的;
      zabbix server帶圖形控制界面;

    可以獨立工作:
      zabbix proxy是可以獨立工作的,它可以獨立采集數據並存儲;
      zabbix server也是可以獨立工作的,可以進行數據采集,存儲,分析,展示於一體;

    易維護:
      zabbix proxy是易於維護的,配置完成后基本無需管理;
      zabbix server維護起來也不難;

    獨立數據庫:
      zabbix proxy可以保留部分數據,因為zabbix proxy的節點可以有多個,每個zabbix proxy監控的數據不盡相同,因此每個zabbix proxy保存的數據並不是整個監控系統的數據;
      zabbix server保留指定時間內的所有數據;

    報警通知:
      zabbix proxy不支持報警通知,連最基本的發送郵件功能都不支持;
      zabbix server支持郵件,短信,微信等告警機制。

 

二.創建zabbix proxy節點的數據庫

1>.試驗架構說明

  proxy205.yinzhengjie.org.cn
    zabbix proxy active  

  proxy205.yinzhengjie.org.cn
    zabbix proxy

2>.zabbix proxy節點安裝mysql驅動

[root@proxy206.yinzhengjie.org.cn ~]# wget https://repo.zabbix.com/zabbix/4.0/ubuntu/pool/main/z/zabbix-release/zabbix-release_4.0-3+bionic_all.deb
[root@proxy206.yinzhengjie.org.cn ~]# 
[root@proxy206.yinzhengjie.org.cn ~]# dpkg -i zabbix-release_4.0-3+bionic_all.deb
[root@proxy206.yinzhengjie.org.cn ~]# 
[root@proxy206.yinzhengjie.org.cn ~]# apt update
[root@proxy206.yinzhengjie.org.cn ~]# 
[root@proxy206.yinzhengjie.org.cn ~]# apt -y install zabbix-proxy-mysql

3>.數據庫授權

[root@mysql202.yinzhengjie.org.cn ~]# mysql
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 5145
Server version: 10.1.44-MariaDB-0ubuntu0.18.04.1 Ubuntu 18.04

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]> 
MariaDB [(none)]> SHOW DATABASES;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| zabbix_server      |
+--------------------+
4 rows in set (0.00 sec)

MariaDB [(none)]> 
MariaDB [(none)]> SHOW DATABASES;
MariaDB [(none)]> CREATE DATABASE zabbix_proxy_active CHARACTER SET utf8 COLLATE utf8_bin;
Query OK, 1 row affected (0.00 sec)

MariaDB [(none)]> 
MariaDB [(none)]> GRANT ALL PRIVILEGES ON zabbix_proxy_active.* TO zabbix_proxy_active@'172.200.3.%' IDENTIFIED BY 'yinzhengjie';
Query OK, 0 rows affected (0.00 sec)

MariaDB [(none)]>
MariaDB [(none)]> SHOW GRANTS FOR zabbix_proxy_active@'172.200.3.%';
+------------------------------------------------------------------------------------------------------------------------------+
| Grants for zabbix_proxy_active@172.200.3.%                                                                                   |
+------------------------------------------------------------------------------------------------------------------------------+
| GRANT USAGE ON *.* TO 'zabbix_proxy_active'@'172.200.3.%' IDENTIFIED BY PASSWORD '*BD0B1F48FDC55BD27555FC2F22FF29A68A25A1D7' |
| GRANT ALL PRIVILEGES ON `zabbix_proxy_active`.* TO 'zabbix_proxy_active'@'172.200.3.%'                                       |
+------------------------------------------------------------------------------------------------------------------------------+
2 rows in set (0.00 sec)

MariaDB [(none)]> 
MariaDB [(none)]> SHOW GRANTS FOR zabbix_proxy_active@'172.200.3.%';
MariaDB [(none)]> SELECT user,host FROM mysql.user;
+---------------------+-------------+
| user                | host        |
+---------------------+-------------+
| zabbix_proxy_active | 172.200.3.% |
| zabbix              | 172.200.5.% |
| root                | localhost   |
+---------------------+-------------+
3 rows in set (0.00 sec)

MariaDB [(none)]> 
MariaDB [(none)]> SELECT user,host FROM mysql.user;
MariaDB [(none)]> SHOW DATABASES;
+---------------------+
| Database            |
+---------------------+
| information_schema  |
| mysql               |
| performance_schema  |
| zabbix_proxy_active |
| zabbix_server       |
+---------------------+
5 rows in set (0.00 sec)

MariaDB [(none)]> 
MariaDB [(none)]> 
MariaDB [(none)]> SHOW DATABASES;

4>.測試proxy節點是否可以正常連接數據庫

[root@proxy205.yinzhengjie.org.cn ~]# mysql -u zabbix_proxy_active -h 172.200.5.202 -pyinzhengjie
mysql: [Warning] Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 5473
Server version: 5.5.5-10.1.44-MariaDB-0ubuntu0.18.04.1 Ubuntu 18.04

Copyright (c) 2000, 2020, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> 
mysql> 
mysql> SHOW DATABASES;
+---------------------+
| Database            |
+---------------------+
| information_schema  |
| zabbix_proxy_active |
+---------------------+
2 rows in set (0.00 sec)

mysql> 
mysql> QUIT
Bye
[root@proxy205.yinzhengjie.org.cn ~]# 
[root@proxy205.yinzhengjie.org.cn ~]# 
[root@proxy205.yinzhengjie.org.cn ~]# mysql -u zabbix_proxy_active -h 172.200.5.202 -pyinzhengjie

5>.初始化數據庫

[root@proxy205.yinzhengjie.org.cn ~]# find / -name schema.sql.gz
/usr/share/zabbix-proxy-mysql/schema.sql.gz
[root@proxy205.yinzhengjie.org.cn ~]# 
[root@proxy205.yinzhengjie.org.cn ~]# zcat /usr/share/zabbix-proxy-mysql/schema.sql.gz | mysql -u zabbix_proxy_active -h 172.200.5.202 -pyinzhengjie zabbix_proxy_active

6>.修改zabbix proxy服務的常用配置參數

[root@proxy205.yinzhengjie.org.cn ~]# grep ProxyMode= /etc/zabbix/zabbix_proxy.conf
# ProxyMode=0
[root@proxy205.yinzhengjie.org.cn ~]# 
[root@proxy205.yinzhengjie.org.cn ~]# sed -r -i 's@# (ProxyMode=)@\1@' /etc/zabbix/zabbix_proxy.conf
[root@proxy205.yinzhengjie.org.cn ~]# 
[root@proxy205.yinzhengjie.org.cn ~]# grep ProxyMode= /etc/zabbix/zabbix_proxy.conf
ProxyMode=0
[root@proxy205.yinzhengjie.org.cn ~]# 
[root@proxy205.yinzhengjie.org.cn ~]# 
[root@proxy205.yinzhengjie.org.cn ~]# sed -r -i 's@# (ProxyMode=)@\1@' /etc/zabbix/zabbix_proxy.conf                  #默認就是0,即默認就是主動模式
[root@proxy205.yinzhengjie.org.cn ~]# grep ^Server= /etc/zabbix/zabbix_proxy.conf
Server=127.0.0.1
[root@proxy205.yinzhengjie.org.cn ~]# 
[root@proxy205.yinzhengjie.org.cn ~]# sed -r -i 's#(Server=)127.0.0.1#\1172.200.5.203#' /etc/zabbix/zabbix_proxy.conf
[root@proxy205.yinzhengjie.org.cn ~]# 
[root@proxy205.yinzhengjie.org.cn ~]# grep ^Server= /etc/zabbix/zabbix_proxy.conf
Server=172.200.5.203
[root@proxy205.yinzhengjie.org.cn ~]# 
[root@proxy205.yinzhengjie.org.cn ~]# 
[root@proxy205.yinzhengjie.org.cn ~]# sed -r -i 's#(Server=)127.0.0.1#\1172.200.5.203#' /etc/zabbix/zabbix_proxy.conf        #修改zabbix server的地址
[root@proxy205.yinzhengjie.org.cn ~]# grep ServerPort= /etc/zabbix/zabbix_proxy.conf
# ServerPort=10051
[root@proxy205.yinzhengjie.org.cn ~]# 
[root@proxy205.yinzhengjie.org.cn ~]# sed -r -i 's@# (ServerPort=)@\1@' /etc/zabbix/zabbix_proxy.conf
[root@proxy205.yinzhengjie.org.cn ~]# 
[root@proxy205.yinzhengjie.org.cn ~]# grep ServerPort= /etc/zabbix/zabbix_proxy.conf
ServerPort=10051
[root@proxy205.yinzhengjie.org.cn ~]# 
[root@proxy205.yinzhengjie.org.cn ~]# 
[root@proxy205.yinzhengjie.org.cn ~]# sed -r -i 's@# (ServerPort=)@\1@' /etc/zabbix/zabbix_proxy.conf                   #修改zabbix server的端口,如果你生成環境不是默認端口需要自行改動喲~
[root@proxy205.yinzhengjie.org.cn ~]# grep ^Hostname= /etc/zabbix/zabbix_proxy.conf
Hostname=Zabbix proxy
[root@proxy205.yinzhengjie.org.cn ~]# 
[root@proxy205.yinzhengjie.org.cn ~]# sed -r -i 's@(Hostname=)Zabbix proxy@\1zabbix_proxy_yinzhengjie_active@' /etc/zabbix/zabbix_proxy.conf
[root@proxy205.yinzhengjie.org.cn ~]# 
[root@proxy205.yinzhengjie.org.cn ~]# grep ^Hostname= /etc/zabbix/zabbix_proxy.conf
Hostname=zabbix_proxy_yinzhengjie_active
[root@proxy205.yinzhengjie.org.cn ~]# 
[root@proxy205.yinzhengjie.org.cn ~]# 
[root@proxy205.yinzhengjie.org.cn ~]# sed -r -i 's@(Hostname=)Zabbix proxy@\1zabbix_proxy_yinzhengjie_active@' /etc/zabbix/zabbix_proxy.conf      #指定zabbix proxy的主機名
[root@proxy205.yinzhengjie.org.cn ~]# grep ListenPort= /etc/zabbix/zabbix_proxy.conf
# ListenPort=10051
[root@proxy205.yinzhengjie.org.cn ~]# 
[root@proxy205.yinzhengjie.org.cn ~]# sed -r -i 's@# (ListenPort=)@\1@' /etc/zabbix/zabbix_proxy.conf
[root@proxy205.yinzhengjie.org.cn ~]# 
[root@proxy205.yinzhengjie.org.cn ~]# grep ListenPort= /etc/zabbix/zabbix_proxy.conf
ListenPort=10051
[root@proxy205.yinzhengjie.org.cn ~]# 
[root@proxy205.yinzhengjie.org.cn ~]# 
[root@proxy205.yinzhengjie.org.cn ~]# sed -r -i 's@# (ListenPort=)@\1@' /etc/zabbix/zabbix_proxy.conf                  #指定zabbix proxy的監聽地址
[root@proxy205.yinzhengjie.org.cn ~]# hostname -i
172.200.3.205
[root@proxy205.yinzhengjie.org.cn ~]# 
[root@proxy205.yinzhengjie.org.cn ~]# grep SourceIP= /etc/zabbix/zabbix_proxy.conf
# SourceIP=
[root@proxy205.yinzhengjie.org.cn ~]# 
[root@proxy205.yinzhengjie.org.cn ~]# sed -r -i 's@# (SourceIP=)@\1172.200.3.205@' /etc/zabbix/zabbix_proxy.conf
[root@proxy205.yinzhengjie.org.cn ~]# 
[root@proxy205.yinzhengjie.org.cn ~]# grep SourceIP= /etc/zabbix/zabbix_proxy.conf
SourceIP=172.200.3.205
[root@proxy205.yinzhengjie.org.cn ~]# 
[root@proxy205.yinzhengjie.org.cn ~]# 
[root@proxy205.yinzhengjie.org.cn ~]# sed -r -i 's@# (SourceIP=)@\1172.200.3.205@' /etc/zabbix/zabbix_proxy.conf            #指定zabbix proxy基於哪個網卡地址發送數據到zabbix server
[root@proxy205.yinzhengjie.org.cn ~]# grep LogType= /etc/zabbix/zabbix_proxy.conf
# LogType=file
[root@proxy205.yinzhengjie.org.cn ~]# 
[root@proxy205.yinzhengjie.org.cn ~]# sed -r -i 's@# (LogType=)@\1@' /etc/zabbix/zabbix_proxy.conf
[root@proxy205.yinzhengjie.org.cn ~]# 
[root@proxy205.yinzhengjie.org.cn ~]# grep LogType= /etc/zabbix/zabbix_proxy.conf
LogType=file
[root@proxy205.yinzhengjie.org.cn ~]# 
[root@proxy205.yinzhengjie.org.cn ~]# 
[root@proxy205.yinzhengjie.org.cn ~]# sed -r -i 's@# (LogType=)@\1@' /etc/zabbix/zabbix_proxy.conf                    #指定日志的類型
[root@proxy205.yinzhengjie.org.cn ~]# grep DebugLevel= /etc/zabbix/zabbix_proxy.conf
# DebugLevel=3
[root@proxy205.yinzhengjie.org.cn ~]# 
[root@proxy205.yinzhengjie.org.cn ~]# 
[root@proxy205.yinzhengjie.org.cn ~]# sed -r -i 's@# (DebugLevel=)3@\14@' /etc/zabbix/zabbix_proxy.conf
[root@proxy205.yinzhengjie.org.cn ~]# 
[root@proxy205.yinzhengjie.org.cn ~]# grep DebugLevel= /etc/zabbix/zabbix_proxy.conf
DebugLevel=4
[root@proxy205.yinzhengjie.org.cn ~]# 
[root@proxy205.yinzhengjie.org.cn ~]# 
[root@proxy205.yinzhengjie.org.cn ~]# sed -r -i 's@# (DebugLevel=)3@\14@' /etc/zabbix/zabbix_proxy.conf                 #初次配置zabbix proxy時可以設置日志級別為調試模式便於觀察,后續記得關閉喲~
[root@proxy205.yinzhengjie.org.cn ~]# grep DBHost= /etc/zabbix/zabbix_proxy.conf
# DBHost=localhost
[root@proxy205.yinzhengjie.org.cn ~]# 
[root@proxy205.yinzhengjie.org.cn ~]# sed -r -i 's@# (DBHost=)localhost@\1172.200.5.202@' /etc/zabbix/zabbix_proxy.conf
[root@proxy205.yinzhengjie.org.cn ~]# 
[root@proxy205.yinzhengjie.org.cn ~]# grep DBHost= /etc/zabbix/zabbix_proxy.conf
DBHost=172.200.5.202
[root@proxy205.yinzhengjie.org.cn ~]# 
[root@proxy205.yinzhengjie.org.cn ~]# 
[root@proxy205.yinzhengjie.org.cn ~]# sed -r -i 's@# (DBHost=)localhost@\1172.200.5.202@' /etc/zabbix/zabbix_proxy.conf        #配置zabbix proxy連接的數據庫的地址
[root@proxy205.yinzhengjie.org.cn ~]# grep ^DBName= /etc/zabbix/zabbix_proxy.conf
DBName=zabbix_proxy
[root@proxy205.yinzhengjie.org.cn ~]# 
[root@proxy205.yinzhengjie.org.cn ~]# sed -r -i 's#(DBName=)zabbix_proxy#\1zabbix_proxy_active#' /etc/zabbix/zabbix_proxy.conf
[root@proxy205.yinzhengjie.org.cn ~]# 
[root@proxy205.yinzhengjie.org.cn ~]# grep ^DBName= /etc/zabbix/zabbix_proxy.conf
DBName=zabbix_proxy_active
[root@proxy205.yinzhengjie.org.cn ~]# 
[root@proxy205.yinzhengjie.org.cn ~]# 
[root@proxy205.yinzhengjie.org.cn ~]# sed -r -i 's#(DBName=)zabbix_proxy#\1zabbix_proxy_active#' /etc/zabbix/zabbix_proxy.conf    #配置zabbix proxy連接數據庫的名稱
[root@proxy205.yinzhengjie.org.cn ~]# grep ^DBUser= /etc/zabbix/zabbix_proxy.conf
DBUser=zabbix
[root@proxy205.yinzhengjie.org.cn ~]# 
[root@proxy205.yinzhengjie.org.cn ~]# sed -r -i 's#(DBUser=)zabbix#\1zabbix_proxy_active#' /etc/zabbix/zabbix_proxy.conf
[root@proxy205.yinzhengjie.org.cn ~]# 
[root@proxy205.yinzhengjie.org.cn ~]# grep ^DBUser= /etc/zabbix/zabbix_proxy.conf
DBUser=zabbix_proxy_active
[root@proxy205.yinzhengjie.org.cn ~]# 
[root@proxy205.yinzhengjie.org.cn ~]# 
[root@proxy205.yinzhengjie.org.cn ~]# sed -r -i 's#(DBUser=)zabbix#\1zabbix_proxy_active#' /etc/zabbix/zabbix_proxy.conf        #配置zabbix proxy連接的數據庫的用戶名
[root@proxy205.yinzhengjie.org.cn ~]# grep DBPassword= /etc/zabbix/zabbix_proxy.conf
# DBPassword=
[root@proxy205.yinzhengjie.org.cn ~]# 
[root@proxy205.yinzhengjie.org.cn ~]# sed -r -i 's@# (DBPassword=)@\1yinzhengjie@' /etc/zabbix/zabbix_proxy.conf
[root@proxy205.yinzhengjie.org.cn ~]# 
[root@proxy205.yinzhengjie.org.cn ~]# grep DBPassword= /etc/zabbix/zabbix_proxy.conf
DBPassword=yinzhengjie
[root@proxy205.yinzhengjie.org.cn ~]# 
[root@proxy205.yinzhengjie.org.cn ~]# 
[root@proxy205.yinzhengjie.org.cn ~]# sed -r -i 's@# (DBPassword=)@\1yinzhengjie@' /etc/zabbix/zabbix_proxy.conf            #配置zabbix proxy連接的數據庫的密碼
[root@proxy205.yinzhengjie.org.cn ~]# grep ProxyLocalBuffer= /etc/zabbix/zabbix_proxy.conf
# ProxyLocalBuffer=0
[root@proxy205.yinzhengjie.org.cn ~]# 
[root@proxy205.yinzhengjie.org.cn ~]# sed -r -i 's@# (ProxyLocalBuffer=)0@\1720@' /etc/zabbix/zabbix_proxy.conf
[root@proxy205.yinzhengjie.org.cn ~]# 
[root@proxy205.yinzhengjie.org.cn ~]# grep ProxyLocalBuffer= /etc/zabbix/zabbix_proxy.conf
ProxyLocalBuffer=720
[root@proxy205.yinzhengjie.org.cn ~]# 
[root@proxy205.yinzhengjie.org.cn ~]# 
[root@proxy205.yinzhengjie.org.cn ~]# sed -r -i 's@# (ProxyLocalBuffer=)0@\1720@' /etc/zabbix/zabbix_proxy.conf             #配置zabbix proxy保存數據的最長時間,單位為小時,最長可以配置30天的保留時間喲~
[root@proxy205.yinzhengjie.org.cn ~]# grep ProxyOfflineBuffer= /etc/zabbix/zabbix_proxy.conf
# ProxyOfflineBuffer=1
[root@proxy205.yinzhengjie.org.cn ~]# 
[root@proxy205.yinzhengjie.org.cn ~]# sed -r -i 's@# (ProxyOfflineBuffer=)1@\1720@' /etc/zabbix/zabbix_proxy.conf
[root@proxy205.yinzhengjie.org.cn ~]# 
[root@proxy205.yinzhengjie.org.cn ~]# grep ProxyOfflineBuffer= /etc/zabbix/zabbix_proxy.conf
ProxyOfflineBuffer=720
[root@proxy205.yinzhengjie.org.cn ~]# 
[root@proxy205.yinzhengjie.org.cn ~]# 
[root@proxy205.yinzhengjie.org.cn ~]# sed -r -i 's@# (ProxyOfflineBuffer=)1@\1720@' /etc/zabbix/zabbix_proxy.conf           #當zabbix proxy和zabbix server無法建立連接時,設置數據在zabbix proxy保存的最長時間
[root@proxy205.yinzhengjie.org.cn ~]# grep HeartbeatFrequency= /etc/zabbix/zabbix_proxy.conf
# HeartbeatFrequency=60
[root@proxy205.yinzhengjie.org.cn ~]# 
[root@proxy205.yinzhengjie.org.cn ~]# sed -r -i 's@# (HeartbeatFrequency=)60@\1120@' /etc/zabbix/zabbix_proxy.conf
[root@proxy205.yinzhengjie.org.cn ~]# 
[root@proxy205.yinzhengjie.org.cn ~]# grep HeartbeatFrequency= /etc/zabbix/zabbix_proxy.conf
HeartbeatFrequency=120
[root@proxy205.yinzhengjie.org.cn ~]# 
[root@proxy205.yinzhengjie.org.cn ~]# sed -r -i 's@# (HeartbeatFrequency=)60@\1120@' /etc/zabbix/zabbix_proxy.conf          #修改心跳檢測時間,生成環境可以酌情設置2~5分鍾
[root@proxy205.yinzhengjie.org.cn ~]# grep ConfigFrequency= /etc/zabbix/zabbix_proxy.conf
# ConfigFrequency=3600
[root@proxy205.yinzhengjie.org.cn ~]# 
[root@proxy205.yinzhengjie.org.cn ~]# sed -r -i 's@# (ConfigFrequency=)3600@\1300@' /etc/zabbix/zabbix_proxy.conf
[root@proxy205.yinzhengjie.org.cn ~]# 
[root@proxy205.yinzhengjie.org.cn ~]# grep ConfigFrequency= /etc/zabbix/zabbix_proxy.conf
ConfigFrequency=300
[root@proxy205.yinzhengjie.org.cn ~]# 
[root@proxy205.yinzhengjie.org.cn ~]# 
[root@proxy205.yinzhengjie.org.cn ~]# sed -r -i 's@# (ConfigFrequency=)3600@\1300@' /etc/zabbix/zabbix_proxy.conf           #設置zabbix proxy從zabbix server獲取最新的配置時間周期,建議設置短一點,比如3~5分鍾
[root@proxy205.yinzhengjie.org.cn ~]# grep DataSenderFrequency= /etc/zabbix/zabbix_proxy.conf
# DataSenderFrequency=1
[root@proxy205.yinzhengjie.org.cn ~]# 
[root@proxy205.yinzhengjie.org.cn ~]# sed -r -i 's@# (DataSenderFrequency=)1@\160@' /etc/zabbix/zabbix_proxy.conf
[root@proxy205.yinzhengjie.org.cn ~]# 
[root@proxy205.yinzhengjie.org.cn ~]# grep DataSenderFrequency= /etc/zabbix/zabbix_proxy.conf
DataSenderFrequency=60
[root@proxy205.yinzhengjie.org.cn ~]# 
[root@proxy205.yinzhengjie.org.cn ~]# 
[root@proxy205.yinzhengjie.org.cn ~]# sed -r -i 's@# (DataSenderFrequency=)1@\160@' /etc/zabbix/zabbix_proxy.conf            #設置zabbix proxy向zabbix server發送數據的間隔時間周期
[root@proxy205.yinzhengjie.org.cn ~]# grep StartPollers= /etc/zabbix/zabbix_proxy.conf
# StartPollers=5
[root@proxy205.yinzhengjie.org.cn ~]# 
[root@proxy205.yinzhengjie.org.cn ~]# sed -r -i 's@# (StartPollers=)5@\130@' /etc/zabbix/zabbix_proxy.conf
[root@proxy205.yinzhengjie.org.cn ~]# 
[root@proxy205.yinzhengjie.org.cn ~]# grep StartPollers= /etc/zabbix/zabbix_proxy.conf
StartPollers=30
[root@proxy205.yinzhengjie.org.cn ~]# 
[root@proxy205.yinzhengjie.org.cn ~]# 
[root@proxy205.yinzhengjie.org.cn ~]# sed -r -i 's@# (StartPollers=)5@\130@' /etc/zabbix/zabbix_proxy.conf              #設置zabbix proxy的數據收集器個數,推薦是宿主機的內核線程數1-2倍
[root@proxy205.yinzhengjie.org.cn ~]# grep JavaGateway= /etc/zabbix/zabbix_proxy.conf
# JavaGateway=
[root@proxy205.yinzhengjie.org.cn ~]# 
[root@proxy205.yinzhengjie.org.cn ~]# sed -r -i 's@# (JavaGateway=)@\1172.200.5.203@' /etc/zabbix/zabbix_proxy.conf
[root@proxy205.yinzhengjie.org.cn ~]# 
[root@proxy205.yinzhengjie.org.cn ~]# grep JavaGateway= /etc/zabbix/zabbix_proxy.conf
JavaGateway=172.200.5.203
[root@proxy205.yinzhengjie.org.cn ~]# 
[root@proxy205.yinzhengjie.org.cn ~]# 
[root@proxy205.yinzhengjie.org.cn ~]# sed -r -i 's@# (JavaGateway=)@\1172.200.5.203@' /etc/zabbix/zabbix_proxy.conf         #設置zabbix proxy的java gateway服務器,此時zabbix server並不負責java程序的監控啦~
[root@proxy205.yinzhengjie.org.cn ~]# grep JavaGatewayPort= /etc/zabbix/zabbix_proxy.conf
# JavaGatewayPort=10052
[root@proxy205.yinzhengjie.org.cn ~]# 
[root@proxy205.yinzhengjie.org.cn ~]# sed -r -i 's@# (JavaGatewayPort=)@\1@' /etc/zabbix/zabbix_proxy.conf
[root@proxy205.yinzhengjie.org.cn ~]# 
[root@proxy205.yinzhengjie.org.cn ~]# grep JavaGatewayPort= /etc/zabbix/zabbix_proxy.conf
JavaGatewayPort=10052
[root@proxy205.yinzhengjie.org.cn ~]# 
[root@proxy205.yinzhengjie.org.cn ~]# 
[root@proxy205.yinzhengjie.org.cn ~]# sed -r -i 's@# (JavaGatewayPort=)@\1@' /etc/zabbix/zabbix_proxy.conf              #設置zabbix proxy的java gateway服務的監聽端口
[root@proxy205.yinzhengjie.org.cn ~]# grep StartJavaPollers= /etc/zabbix/zabbix_proxy.conf
# StartJavaPollers=0
[root@proxy205.yinzhengjie.org.cn ~]# 
[root@proxy205.yinzhengjie.org.cn ~]# sed -r -i 's@# (StartJavaPollers=)0@\120@' /etc/zabbix/zabbix_proxy.conf
[root@proxy205.yinzhengjie.org.cn ~]# 
[root@proxy205.yinzhengjie.org.cn ~]# grep StartJavaPollers= /etc/zabbix/zabbix_proxy.conf
StartJavaPollers=20
[root@proxy205.yinzhengjie.org.cn ~]# 
[root@proxy205.yinzhengjie.org.cn ~]# 
[root@proxy205.yinzhengjie.org.cn ~]# sed -r -i 's@# (StartJavaPollers=)0@\120@' /etc/zabbix/zabbix_proxy.conf            #設置用於收集java gateway數據的線程數
[root@proxy205.yinzhengjie.org.cn ~]# grep ListenIP= /etc/zabbix/zabbix_proxy.conf
# ListenIP=0.0.0.0
[root@proxy205.yinzhengjie.org.cn ~]# 
[root@proxy205.yinzhengjie.org.cn ~]# sed -r -i  's@# (ListenIP=)@\1@' /etc/zabbix/zabbix_proxy.conf
[root@proxy205.yinzhengjie.org.cn ~]# 
[root@proxy205.yinzhengjie.org.cn ~]# grep ListenIP= /etc/zabbix/zabbix_proxy.conf
ListenIP=0.0.0.0
[root@proxy205.yinzhengjie.org.cn ~]# 
[root@proxy205.yinzhengjie.org.cn ~]# 
[root@proxy205.yinzhengjie.org.cn ~]# sed -r -i 's@# (ListenIP=)@\1@' /etc/zabbix/zabbix_proxy.conf                   #設置zabbix proxy的監聽地址,你可以自定義的IP地址
[root@proxy205.yinzhengjie.org.cn ~]# grep "# CacheSize=8M" /etc/zabbix/zabbix_proxy.conf
# CacheSize=8M
[root@proxy205.yinzhengjie.org.cn ~]# 
[root@proxy205.yinzhengjie.org.cn ~]# sed -r -i "s@# (CacheSize=)8@\1512@" /etc/zabbix/zabbix_proxy.conf
[root@proxy205.yinzhengjie.org.cn ~]# 
[root@proxy205.yinzhengjie.org.cn ~]# grep ^CacheSize /etc/zabbix/zabbix_proxy.conf
CacheSize=512M
[root@proxy205.yinzhengjie.org.cn ~]# 
[root@proxy205.yinzhengjie.org.cn ~]# sed -r -i "s@# (CacheSize=)8@\1512@" /etc/zabbix/zabbix_proxy.conf                #設置zabix proxy的緩存大小,生成環境推薦設置2G,可酌情加大內存,不過上限為8G
[root@proxy205.yinzhengjie.org.cn ~]# grep StartDBSyncers= /etc/zabbix/zabbix_proxy.conf
# StartDBSyncers=4
[root@proxy205.yinzhengjie.org.cn ~]# 
[root@proxy205.yinzhengjie.org.cn ~]# sed -r -i 's@# (StartDBSyncers=)4@\110@' /etc/zabbix/zabbix_proxy.conf
[root@proxy205.yinzhengjie.org.cn ~]# 
[root@proxy205.yinzhengjie.org.cn ~]# grep StartDBSyncers= /etc/zabbix/zabbix_proxy.conf
StartDBSyncers=10
[root@proxy205.yinzhengjie.org.cn ~]# 
[root@proxy205.yinzhengjie.org.cn ~]# 
[root@proxy205.yinzhengjie.org.cn ~]# sed -r -i 's@# (StartDBSyncers=)4@\110@' /etc/zabbix/zabbix_proxy.conf              #設置zabbix proxy預先啟動用於數據庫的線程數
[root@proxy205.yinzhengjie.org.cn ~]# grep HistoryCacheSize= /etc/zabbix/zabbix_proxy.conf
# HistoryCacheSize=16M
[root@proxy205.yinzhengjie.org.cn ~]# 
[root@proxy205.yinzhengjie.org.cn ~]# sed -r -i 's@# (HistoryCacheSize=)@\1512@' /etc/zabbix/zabbix_proxy.conf
[root@proxy205.yinzhengjie.org.cn ~]# 
[root@proxy205.yinzhengjie.org.cn ~]# grep HistoryCacheSize= /etc/zabbix/zabbix_proxy.conf
HistoryCacheSize=512M
[root@proxy205.yinzhengjie.org.cn ~]# 
[root@proxy205.yinzhengjie.org.cn ~]# 
[root@proxy205.yinzhengjie.org.cn ~]# sed -r -i 's@# (HistoryCacheSize=)@\1512@' /etc/zabbix/zabbix_proxy.conf             #設置zabbix proxy的歷史緩存大小,可酌情調大,生產環境推薦設置為2G
[root@proxy205.yinzhengjie.org.cn ~]# grep HistoryIndexCacheSize= /etc/zabbix/zabbix_proxy.conf
# HistoryIndexCacheSize=4M
[root@proxy205.yinzhengjie.org.cn ~]# 
[root@proxy205.yinzhengjie.org.cn ~]# sed -r -i 's@# (HistoryIndexCacheSize=)@\1128@' /etc/zabbix/zabbix_proxy.conf
[root@proxy205.yinzhengjie.org.cn ~]# 
[root@proxy205.yinzhengjie.org.cn ~]# grep HistoryIndexCacheSize= /etc/zabbix/zabbix_proxy.conf
HistoryIndexCacheSize=128M
[root@proxy205.yinzhengjie.org.cn ~]# 
[root@proxy205.yinzhengjie.org.cn ~]# 
[root@proxy205.yinzhengjie.org.cn ~]# sed -r -i 's@# (HistoryIndexCacheSize=)@\1128@' /etc/zabbix/zabbix_proxy.conf          #設置zabbix proxy的歷史索引的緩存大小,可酌情調大,生產環境推薦設置為2G
[root@proxy205.yinzhengjie.org.cn ~]# 
[root@proxy205.yinzhengjie.org.cn ~]# grep ^Timeout= /etc/zabbix/zabbix_proxy.conf
Timeout=4
[root@proxy205.yinzhengjie.org.cn ~]# 
[root@proxy205.yinzhengjie.org.cn ~]# sed -r -i 's#(Timeout=)4#\130#' /etc/zabbix/zabbix_proxy.conf
[root@proxy205.yinzhengjie.org.cn ~]# 
[root@proxy205.yinzhengjie.org.cn ~]# grep ^Timeout= /etc/zabbix/zabbix_proxy.conf
Timeout=30
[root@proxy205.yinzhengjie.org.cn ~]# 
[root@proxy205.yinzhengjie.org.cn ~]# 
[root@proxy205.yinzhengjie.org.cn ~]# sed -r -i 's#(Timeout=)4#\130#' /etc/zabbix/zabbix_proxy.conf                    #設置每個監控項獲取數據的最長超時時間
[root@proxy205.yinzhengjie.org.cn ~]# grep AllowRoot= /etc/zabbix/zabbix_proxy.conf
# AllowRoot=0
[root@proxy205.yinzhengjie.org.cn ~]# 
[root@proxy205.yinzhengjie.org.cn ~]# sed -r -i 's@# (AllowRoot=)@\1@' /etc/zabbix/zabbix_proxy.conf
[root@proxy205.yinzhengjie.org.cn ~]# 
[root@proxy205.yinzhengjie.org.cn ~]# grep AllowRoot= /etc/zabbix/zabbix_proxy.conf
AllowRoot=0
[root@proxy205.yinzhengjie.org.cn ~]# 
[root@proxy205.yinzhengjie.org.cn ~]# 
[root@proxy205.yinzhengjie.org.cn ~]# sed -r -i 's@# (AllowRoot=)@\1@' /etc/zabbix/zabbix_proxy.conf                    #禁止root用戶啟動zabbix proxy
[root@proxy205.yinzhengjie.org.cn ~]# grep "# User=" /etc/zabbix/zabbix_proxy.conf
# User=zabbix
[root@proxy205.yinzhengjie.org.cn ~]# 
[root@proxy205.yinzhengjie.org.cn ~]# sed -r -i 's@# (User=)@\1@' /etc/zabbix/zabbix_proxy.conf
[root@proxy205.yinzhengjie.org.cn ~]# 
[root@proxy205.yinzhengjie.org.cn ~]# grep ^User= /etc/zabbix/zabbix_proxy.conf
User=zabbix
[root@proxy205.yinzhengjie.org.cn ~]# 
[root@proxy205.yinzhengjie.org.cn ~]# 
[root@proxy205.yinzhengjie.org.cn ~]# sed -r -i 's@# (User=)@\1@' /etc/zabbix/zabbix_proxy.conf                      #設置zabbix proxy以哪個用戶啟動

7>.啟動zabbix proxy服務

[root@proxy205.yinzhengjie.org.cn ~]# ss -ntl
State                               Recv-Q                               Send-Q                                                              Local Address:Port                                                               Peer Address:Port                               
LISTEN                              0                                    128                                                                 127.0.0.53%lo:53                                                                      0.0.0.0:*                                  
LISTEN                              0                                    128                                                                       0.0.0.0:22                                                                      0.0.0.0:*                                  
LISTEN                              0                                    128                                                                          [::]:22                                                                         [::]:*                                  
[root@proxy205.yinzhengjie.org.cn ~]# 
[root@proxy205.yinzhengjie.org.cn ~]# systemctl start zabbix-proxy.service 
[root@proxy205.yinzhengjie.org.cn ~]# 
[root@proxy205.yinzhengjie.org.cn ~]# ss -ntl
State                               Recv-Q                               Send-Q                                                              Local Address:Port                                                               Peer Address:Port                               
LISTEN                              0                                    128                                                                 127.0.0.53%lo:53                                                                      0.0.0.0:*                                  
LISTEN                              0                                    128                                                                       0.0.0.0:22                                                                      0.0.0.0:*                                  
LISTEN                              0                                    128                                                                       0.0.0.0:10051                                                                   0.0.0.0:*                                  
LISTEN                              0                                    128                                                                          [::]:22                                                                         [::]:*                                  
[root@proxy205.yinzhengjie.org.cn ~]# 
[root@proxy205.yinzhengjie.org.cn ~]# systemctl list-unit-files | grep zabbix-proxy.service 
zabbix-proxy.service                   disabled       
[root@proxy205.yinzhengjie.org.cn ~]# 
[root@proxy205.yinzhengjie.org.cn ~]# 
[root@proxy205.yinzhengjie.org.cn ~]# systemctl enable zabbix-proxy.service 
Synchronizing state of zabbix-proxy.service with SysV service script with /lib/systemd/systemd-sysv-install.
Executing: /lib/systemd/systemd-sysv-install enable zabbix-proxy
[root@proxy205.yinzhengjie.org.cn ~]# 
[root@proxy205.yinzhengjie.org.cn ~]# 
[root@proxy205.yinzhengjie.org.cn ~]# systemctl list-unit-files | grep zabbix-proxy.service 
zabbix-proxy.service                   enabled        
[root@proxy205.yinzhengjie.org.cn ~]# 
[root@proxy205.yinzhengjie.org.cn ~]# systemctl start zabbix-proxy.service

8>.重復上述步驟

  本實驗總共有兩個zabbix proxy,因此重復上述步驟即可,注意改動數據庫名稱喲~

 

三.zabbix webUI添加相應的配置信息

1>.點擊"創建代理"

2>.填寫zabbix proxy的信息

3>.zabbix proxy添加完成

4>.使用Zabbix proxy監控CentOS操作系統

  博主推薦閱讀:
    https://www.cnblogs.com/yinzhengjie2020/p/12344057.html

5>.配置監控主機信息,需要指定zabbix proxy

6>.為agent指定主動模式的監控模板

  自定義主動模式監控模板快速制作,博主推薦閱讀:
    https://www.cnblogs.com/yinzhengjie2020/p/12343243.html

7>.zabbix proxy監控的主機添加成功

8>.被動模式配置

  如果出現問題請不要慌張,思考在哪一個步驟出現問題了,解決掉即可。

  被動模式和主動模式步驟類似,需要注意以下幾點:
    (1)數據庫名稱需要改變;
    (2)數據庫的授權用戶一定要配置清除;
    (3)在zabbix proxy配置文件中修改相應的數據庫配置信息,特別注意得改動ProxyMode的值為1;
    (4)在zabbix webUI添加zabbix proxy信息,記得勾選被動模式;
    (5)在創建的zabbix proxy后添加主機時記得選擇對應的proxy即可;

9>.zabbix 配置出錯常見解決方案

  各組件版本不一致引發的問題:
    問題描述:
      zabbix server版本並不會向下兼容,如果你zabbix server使用的4.x以上版本,推薦zabbix proxy盡量選擇和zabbix server相同的版本,否則你會發現在配置zabbix server和zabbix proxy配置分布式監控系統時自然是失敗的;
      zabbix server和zabbix java gateway版本也推薦設置成一致,否則你會發現在使用zabbix server監控類似於tomcat,redis時始終無法獲取監控的數據。
    
    解決思路:
      建議采用相同的安裝方式,可以使用yum方式安裝,也可以使用源碼方式或者二進制方式安裝均可。
      基於yum方式安裝,請保存好rpm包,在擴容節點時注意版本問題,最好是有私有的yum倉庫,統一配置內網的私有倉庫,避免多次下載。


  配置文件參數設置錯誤的問題:
    問題描述:
      這種情況大多數發生在zabbix agent的配置文件中,剛剛接觸zabbix 監控系統的小伙伴經常會出現配置文件出錯。

    解決思路:
      可以使用測試工具和日志來排查問題,比如zabbix_get工具,日志是運維排錯的基本功,千萬別忽略日志的重要性。

 


免責聲明!

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



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