zabbix proxy配置实战案例

                                     作者:尹正杰

版权声明:原创作品,谢绝转载!否则将追究法律责任。

一.zabbix proxy概述

  1.   上一篇博客我们分享了zabbix agent有两种工作模式,即主动模式和被动模式,默认是被动模式,主动模式需要我们手动去配置,使用主动模式可以适当减轻zabbix server的负载,但当规模超过500个节点以后,尽管是主动模式也会很吃力了,此时需要引入zabbix proxy
  2.  
  3.   zabbix是一个分布式的监控系统,支持通过代理服务zabbix proxy收集zabbix agent的数据,然后把收集保存在本地数据库并发送给zabbix server进行统一存储和展示。  
  4.  
  5.   当企业的服务器超过500台以上后,尽管使用主动模式,zabbix server的负载依旧不小,此时,可以引入zabbix proxy来减轻zabbix server的负载。
  6.  
  7.   引入zabbix proxy后,zabbix agent的监控数据不会直接发送给zabbix server,而是将监控数据发送给zabbix proxy,一个zabbix server可以配置多个zabbix proxy以减轻zabbix server的负担,让各个zabbix proxy分而治之。
  8.  
  9.   生产环境中,如果使用zabbix proxy大多数场景是使用主动模式。zabbix proxyzabbix server之间的功能对比:
        轻量级:
          zabbix proxy是轻量级服务;
          zabbix server想必zabbix proxy来说是重量级;
  10.  
  11.     图形化:
          zabbix proxy是没有图形界面展示的;
          zabbix server带图形控制界面;
  12.  
  13.     可以独立工作:
          zabbix proxy是可以独立工作的,它可以独立采集数据并存储;
          zabbix server也是可以独立工作的,可以进行数据采集,存储,分析,展示于一体;
  14.  
  15.     易维护:
          zabbix proxy是易于维护的,配置完成后基本无需管理;
          zabbix server维护起来也不难;
  16.  
  17.     独立数据库:
          zabbix proxy可以保留部分数据,因为zabbix proxy的节点可以有多个,每个zabbix proxy监控的数据不尽相同,因此每个zabbix proxy保存的数据并不是整个监控系统的数据;
          zabbix server保留指定时间内的所有数据;
  18.  
  19.     报警通知:
          zabbix proxy不支持报警通知,连最基本的发送邮件功能都不支持;
          zabbix server支持邮件,短信,微信等告警机制。

二.创建zabbix proxy节点的数据库

1>.试验架构说明

  1.   proxy205.yinzhengjie.org.cn
  2.     zabbix proxy active  
  3.  
  4.   proxy205.yinzhengjie.org.cn
        zabbix proxy

2>.zabbix proxy节点安装mysql驱动

  1. [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
  2. [root@proxy206.yinzhengjie.org.cn ~]#
  3. [root@proxy206.yinzhengjie.org.cn ~]# dpkg -i zabbix-release_4.-+bionic_all.deb
  4. [root@proxy206.yinzhengjie.org.cn ~]#
  5. [root@proxy206.yinzhengjie.org.cn ~]# apt update
  6. [root@proxy206.yinzhengjie.org.cn ~]#
  7. [root@proxy206.yinzhengjie.org.cn ~]# apt -y install zabbix-proxy-mysql

3>.数据库授权

  1. [root@mysql202.yinzhengjie.org.cn ~]# mysql
  2. Welcome to the MariaDB monitor. Commands end with ; or \g.
  3. Your MariaDB connection id is
  4. Server version: 10.1.-MariaDB-0ubuntu0.18.04. Ubuntu 18.04
  5.  
  6. Copyright (c) , , Oracle, MariaDB Corporation Ab and others.
  7.  
  8. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
  9.  
  10. MariaDB [(none)]>
  11. MariaDB [(none)]> SHOW DATABASES;
  12. +--------------------+
  13. | Database |
  14. +--------------------+
  15. | information_schema |
  16. | mysql |
  17. | performance_schema |
  18. | zabbix_server |
  19. +--------------------+
  20. rows in set (0.00 sec)
  21.  
  22. MariaDB [(none)]>

MariaDB [(none)]> SHOW DATABASES;

  1. MariaDB [(none)]> CREATE DATABASE zabbix_proxy_active CHARACTER SET utf8 COLLATE utf8_bin;
  2. Query OK, row affected (0.00 sec)
  3.  
  4. MariaDB [(none)]>
  5. MariaDB [(none)]> GRANT ALL PRIVILEGES ON zabbix_proxy_active.* TO zabbix_proxy_active@'172.200.3.%' IDENTIFIED BY 'yinzhengjie';
  6. Query OK, rows affected (0.00 sec)
  7.  
  8. MariaDB [(none)]>
  1. MariaDB [(none)]> SHOW GRANTS FOR zabbix_proxy_active@'172.200.3.%';
  2. +------------------------------------------------------------------------------------------------------------------------------+
  3. | Grants for zabbix_proxy_active@172.200..% |
  4. +------------------------------------------------------------------------------------------------------------------------------+
  5. | GRANT USAGE ON *.* TO 'zabbix_proxy_active'@'172.200.3.%' IDENTIFIED BY PASSWORD '*BD0B1F48FDC55BD27555FC2F22FF29A68A25A1D7' |
  6. | GRANT ALL PRIVILEGES ON `zabbix_proxy_active`.* TO 'zabbix_proxy_active'@'172.200.3.%' |
  7. +------------------------------------------------------------------------------------------------------------------------------+
  8. rows in set (0.00 sec)
  9.  
  10. MariaDB [(none)]>

MariaDB [(none)]> SHOW GRANTS FOR zabbix_proxy_active@'172.200.3.%';

  1. MariaDB [(none)]> SELECT user,host FROM mysql.user;
  2. +---------------------+-------------+
  3. | user | host |
  4. +---------------------+-------------+
  5. | zabbix_proxy_active | 172.200..% |
  6. | zabbix | 172.200..% |
  7. | root | localhost |
  8. +---------------------+-------------+
  9. rows in set (0.00 sec)
  10.  
  11. MariaDB [(none)]>

MariaDB [(none)]> SELECT user,host FROM mysql.user;

  1. MariaDB [(none)]> SHOW DATABASES;
  2. +---------------------+
  3. | Database |
  4. +---------------------+
  5. | information_schema |
  6. | mysql |
  7. | performance_schema |
  8. | zabbix_proxy_active |
  9. | zabbix_server |
  10. +---------------------+
  11. rows in set (0.00 sec)
  12.  
  13. MariaDB [(none)]>
  14. MariaDB [(none)]>

MariaDB [(none)]> SHOW DATABASES;

4>.测试proxy节点是否可以正常连接数据库

  1. [root@proxy205.yinzhengjie.org.cn ~]# mysql -u zabbix_proxy_active -h 172.200.5.202 -pyinzhengjie
  2. mysql: [Warning] Using a password on the command line interface can be insecure.
  3. Welcome to the MySQL monitor. Commands end with ; or \g.
  4. Your MySQL connection id is
  5. Server version: 5.5.-10.1.-MariaDB-0ubuntu0.18.04. Ubuntu 18.04
  6.  
  7. Copyright (c) , , Oracle and/or its affiliates. All rights reserved.
  8.  
  9. Oracle is a registered trademark of Oracle Corporation and/or its
  10. affiliates. Other names may be trademarks of their respective
  11. owners.
  12.  
  13. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
  14.  
  15. mysql>
  16. mysql>
  17. mysql> SHOW DATABASES;
  18. +---------------------+
  19. | Database |
  20. +---------------------+
  21. | information_schema |
  22. | zabbix_proxy_active |
  23. +---------------------+
  24. rows in set (0.00 sec)
  25.  
  26. mysql>
  27. mysql> QUIT
  28. Bye
  29. [root@proxy205.yinzhengjie.org.cn ~]#
  30. [root@proxy205.yinzhengjie.org.cn ~]#

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

5>.初始化数据库

  1. [root@proxy205.yinzhengjie.org.cn ~]# find / -name schema.sql.gz
  2. /usr/share/zabbix-proxy-mysql/schema.sql.gz
  3. [root@proxy205.yinzhengjie.org.cn ~]#
  4. [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服务的常用配置参数

  1. [root@proxy205.yinzhengjie.org.cn ~]# grep ProxyMode= /etc/zabbix/zabbix_proxy.conf
  2. # ProxyMode=
  3. [root@proxy205.yinzhengjie.org.cn ~]#
  4. [root@proxy205.yinzhengjie.org.cn ~]# sed -r -i 's@# (ProxyMode=)@\1@' /etc/zabbix/zabbix_proxy.conf
  5. [root@proxy205.yinzhengjie.org.cn ~]#
  6. [root@proxy205.yinzhengjie.org.cn ~]# grep ProxyMode= /etc/zabbix/zabbix_proxy.conf
  7. ProxyMode=
  8. [root@proxy205.yinzhengjie.org.cn ~]#
  9. [root@proxy205.yinzhengjie.org.cn ~]#

[root@proxy205.yinzhengjie.org.cn ~]# sed -r -i 's@# (ProxyMode=)@\1@' /etc/zabbix/zabbix_proxy.conf                  #默认就是0,即默认就是主动模式

  1. [root@proxy205.yinzhengjie.org.cn ~]# grep ^Server= /etc/zabbix/zabbix_proxy.conf
  2. Server=127.0.0.1
  3. [root@proxy205.yinzhengjie.org.cn ~]#
  4. [root@proxy205.yinzhengjie.org.cn ~]# sed -r -i 's#(Server=)127.0.0.1#\1172.200.5.203#' /etc/zabbix/zabbix_proxy.conf
  5. [root@proxy205.yinzhengjie.org.cn ~]#
  6. [root@proxy205.yinzhengjie.org.cn ~]# grep ^Server= /etc/zabbix/zabbix_proxy.conf
  7. Server=172.200.5.203
  8. [root@proxy205.yinzhengjie.org.cn ~]#
  9. [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的地址

  1. [root@proxy205.yinzhengjie.org.cn ~]# grep ServerPort= /etc/zabbix/zabbix_proxy.conf
  2. # ServerPort=
  3. [root@proxy205.yinzhengjie.org.cn ~]#
  4. [root@proxy205.yinzhengjie.org.cn ~]# sed -r -i 's@# (ServerPort=)@\1@' /etc/zabbix/zabbix_proxy.conf
  5. [root@proxy205.yinzhengjie.org.cn ~]#
  6. [root@proxy205.yinzhengjie.org.cn ~]# grep ServerPort= /etc/zabbix/zabbix_proxy.conf
  7. ServerPort=
  8. [root@proxy205.yinzhengjie.org.cn ~]#
  9. [root@proxy205.yinzhengjie.org.cn ~]#

[root@proxy205.yinzhengjie.org.cn ~]# sed -r -i 's@# (ServerPort=)@\1@' /etc/zabbix/zabbix_proxy.conf                   #修改zabbix server的端口,如果你生成环境不是默认端口需要自行改动哟~

  1. [root@proxy205.yinzhengjie.org.cn ~]# grep ^Hostname= /etc/zabbix/zabbix_proxy.conf
  2. Hostname=Zabbix proxy
  3. [root@proxy205.yinzhengjie.org.cn ~]#
  4. [root@proxy205.yinzhengjie.org.cn ~]# sed -r -i 's@(Hostname=)Zabbix proxy@\1zabbix_proxy_yinzhengjie_active@' /etc/zabbix/zabbix_proxy.conf
  5. [root@proxy205.yinzhengjie.org.cn ~]#
  6. [root@proxy205.yinzhengjie.org.cn ~]# grep ^Hostname= /etc/zabbix/zabbix_proxy.conf
  7. Hostname=zabbix_proxy_yinzhengjie_active
  8. [root@proxy205.yinzhengjie.org.cn ~]#
  9. [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的主机名

  1. [root@proxy205.yinzhengjie.org.cn ~]# grep ListenPort= /etc/zabbix/zabbix_proxy.conf
  2. # ListenPort=
  3. [root@proxy205.yinzhengjie.org.cn ~]#
  4. [root@proxy205.yinzhengjie.org.cn ~]# sed -r -i 's@# (ListenPort=)@\1@' /etc/zabbix/zabbix_proxy.conf
  5. [root@proxy205.yinzhengjie.org.cn ~]#
  6. [root@proxy205.yinzhengjie.org.cn ~]# grep ListenPort= /etc/zabbix/zabbix_proxy.conf
  7. ListenPort=
  8. [root@proxy205.yinzhengjie.org.cn ~]#
  9. [root@proxy205.yinzhengjie.org.cn ~]#

[root@proxy205.yinzhengjie.org.cn ~]# sed -r -i 's@# (ListenPort=)@\1@' /etc/zabbix/zabbix_proxy.conf                  #指定zabbix proxy的监听地址

  1. [root@proxy205.yinzhengjie.org.cn ~]# hostname -i
  2. 172.200.3.205
  3. [root@proxy205.yinzhengjie.org.cn ~]#
  4. [root@proxy205.yinzhengjie.org.cn ~]# grep SourceIP= /etc/zabbix/zabbix_proxy.conf
  5. # SourceIP=
  6. [root@proxy205.yinzhengjie.org.cn ~]#
  7. [root@proxy205.yinzhengjie.org.cn ~]# sed -r -i 's@# (SourceIP=)@\1172.200.3.205@' /etc/zabbix/zabbix_proxy.conf
  8. [root@proxy205.yinzhengjie.org.cn ~]#
  9. [root@proxy205.yinzhengjie.org.cn ~]# grep SourceIP= /etc/zabbix/zabbix_proxy.conf
  10. SourceIP=172.200.3.205
  11. [root@proxy205.yinzhengjie.org.cn ~]#
  12. [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

  1. [root@proxy205.yinzhengjie.org.cn ~]# grep LogType= /etc/zabbix/zabbix_proxy.conf
  2. # LogType=file
  3. [root@proxy205.yinzhengjie.org.cn ~]#
  4. [root@proxy205.yinzhengjie.org.cn ~]# sed -r -i 's@# (LogType=)@\1@' /etc/zabbix/zabbix_proxy.conf
  5. [root@proxy205.yinzhengjie.org.cn ~]#
  6. [root@proxy205.yinzhengjie.org.cn ~]# grep LogType= /etc/zabbix/zabbix_proxy.conf
  7. LogType=file
  8. [root@proxy205.yinzhengjie.org.cn ~]#
  9. [root@proxy205.yinzhengjie.org.cn ~]#

[root@proxy205.yinzhengjie.org.cn ~]# sed -r -i 's@# (LogType=)@\1@' /etc/zabbix/zabbix_proxy.conf                    #指定日志的类型

  1. [root@proxy205.yinzhengjie.org.cn ~]# grep DebugLevel= /etc/zabbix/zabbix_proxy.conf
  2. # DebugLevel=
  3. [root@proxy205.yinzhengjie.org.cn ~]#
  4. [root@proxy205.yinzhengjie.org.cn ~]#
  5. [root@proxy205.yinzhengjie.org.cn ~]# sed -r -i 's@# (DebugLevel=)3@\14@' /etc/zabbix/zabbix_proxy.conf
  6. [root@proxy205.yinzhengjie.org.cn ~]#
  7. [root@proxy205.yinzhengjie.org.cn ~]# grep DebugLevel= /etc/zabbix/zabbix_proxy.conf
  8. DebugLevel=
  9. [root@proxy205.yinzhengjie.org.cn ~]#
  10. [root@proxy205.yinzhengjie.org.cn ~]#

[root@proxy205.yinzhengjie.org.cn ~]# sed -r -i 's@# (DebugLevel=)3@\14@' /etc/zabbix/zabbix_proxy.conf                 #初次配置zabbix proxy时可以设置日志级别为调试模式便于观察,后续记得关闭哟~

  1. [root@proxy205.yinzhengjie.org.cn ~]# grep DBHost= /etc/zabbix/zabbix_proxy.conf
  2. # DBHost=localhost
  3. [root@proxy205.yinzhengjie.org.cn ~]#
  4. [root@proxy205.yinzhengjie.org.cn ~]# sed -r -i 's@# (DBHost=)localhost@\1172.200.5.202@' /etc/zabbix/zabbix_proxy.conf
  5. [root@proxy205.yinzhengjie.org.cn ~]#
  6. [root@proxy205.yinzhengjie.org.cn ~]# grep DBHost= /etc/zabbix/zabbix_proxy.conf
  7. DBHost=172.200.5.202
  8. [root@proxy205.yinzhengjie.org.cn ~]#
  9. [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连接的数据库的地址

  1. [root@proxy205.yinzhengjie.org.cn ~]# grep ^DBName= /etc/zabbix/zabbix_proxy.conf
  2. DBName=zabbix_proxy
  3. [root@proxy205.yinzhengjie.org.cn ~]#
  4. [root@proxy205.yinzhengjie.org.cn ~]# sed -r -i 's#(DBName=)zabbix_proxy#\1zabbix_proxy_active#' /etc/zabbix/zabbix_proxy.conf
  5. [root@proxy205.yinzhengjie.org.cn ~]#
  6. [root@proxy205.yinzhengjie.org.cn ~]# grep ^DBName= /etc/zabbix/zabbix_proxy.conf
  7. DBName=zabbix_proxy_active
  8. [root@proxy205.yinzhengjie.org.cn ~]#
  9. [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连接数据库的名称

  1. [root@proxy205.yinzhengjie.org.cn ~]# grep ^DBUser= /etc/zabbix/zabbix_proxy.conf
  2. DBUser=zabbix
  3. [root@proxy205.yinzhengjie.org.cn ~]#
  4. [root@proxy205.yinzhengjie.org.cn ~]# sed -r -i 's#(DBUser=)zabbix#\1zabbix_proxy_active#' /etc/zabbix/zabbix_proxy.conf
  5. [root@proxy205.yinzhengjie.org.cn ~]#
  6. [root@proxy205.yinzhengjie.org.cn ~]# grep ^DBUser= /etc/zabbix/zabbix_proxy.conf
  7. DBUser=zabbix_proxy_active
  8. [root@proxy205.yinzhengjie.org.cn ~]#
  9. [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连接的数据库的用户名

  1. [root@proxy205.yinzhengjie.org.cn ~]# grep DBPassword= /etc/zabbix/zabbix_proxy.conf
  2. # DBPassword=
  3. [root@proxy205.yinzhengjie.org.cn ~]#
  4. [root@proxy205.yinzhengjie.org.cn ~]# sed -r -i 's@# (DBPassword=)@\1yinzhengjie@' /etc/zabbix/zabbix_proxy.conf
  5. [root@proxy205.yinzhengjie.org.cn ~]#
  6. [root@proxy205.yinzhengjie.org.cn ~]# grep DBPassword= /etc/zabbix/zabbix_proxy.conf
  7. DBPassword=yinzhengjie
  8. [root@proxy205.yinzhengjie.org.cn ~]#
  9. [root@proxy205.yinzhengjie.org.cn ~]#

[root@proxy205.yinzhengjie.org.cn ~]# sed -r -i 's@# (DBPassword=)@\1yinzhengjie@' /etc/zabbix/zabbix_proxy.conf            #配置zabbix proxy连接的数据库的密码

  1. [root@proxy205.yinzhengjie.org.cn ~]# grep ProxyLocalBuffer= /etc/zabbix/zabbix_proxy.conf
  2. # ProxyLocalBuffer=
  3. [root@proxy205.yinzhengjie.org.cn ~]#
  4. [root@proxy205.yinzhengjie.org.cn ~]# sed -r -i 's@# (ProxyLocalBuffer=)0@\1720@' /etc/zabbix/zabbix_proxy.conf
  5. [root@proxy205.yinzhengjie.org.cn ~]#
  6. [root@proxy205.yinzhengjie.org.cn ~]# grep ProxyLocalBuffer= /etc/zabbix/zabbix_proxy.conf
  7. ProxyLocalBuffer=
  8. [root@proxy205.yinzhengjie.org.cn ~]#
  9. [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天的保留时间哟~

  1. [root@proxy205.yinzhengjie.org.cn ~]# grep ProxyOfflineBuffer= /etc/zabbix/zabbix_proxy.conf
  2. # ProxyOfflineBuffer=
  3. [root@proxy205.yinzhengjie.org.cn ~]#
  4. [root@proxy205.yinzhengjie.org.cn ~]# sed -r -i 's@# (ProxyOfflineBuffer=)1@\1720@' /etc/zabbix/zabbix_proxy.conf
  5. [root@proxy205.yinzhengjie.org.cn ~]#
  6. [root@proxy205.yinzhengjie.org.cn ~]# grep ProxyOfflineBuffer= /etc/zabbix/zabbix_proxy.conf
  7. ProxyOfflineBuffer=
  8. [root@proxy205.yinzhengjie.org.cn ~]#
  9. [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保存的最长时间

  1. [root@proxy205.yinzhengjie.org.cn ~]# grep HeartbeatFrequency= /etc/zabbix/zabbix_proxy.conf
  2. # HeartbeatFrequency=
  3. [root@proxy205.yinzhengjie.org.cn ~]#
  4. [root@proxy205.yinzhengjie.org.cn ~]# sed -r -i 's@# (HeartbeatFrequency=)60@\1120@' /etc/zabbix/zabbix_proxy.conf
  5. [root@proxy205.yinzhengjie.org.cn ~]#
  6. [root@proxy205.yinzhengjie.org.cn ~]# grep HeartbeatFrequency= /etc/zabbix/zabbix_proxy.conf
  7. HeartbeatFrequency=
  8. [root@proxy205.yinzhengjie.org.cn ~]#

[root@proxy205.yinzhengjie.org.cn ~]# sed -r -i 's@# (HeartbeatFrequency=)60@\1120@' /etc/zabbix/zabbix_proxy.conf          #修改心跳检测时间,生成环境可以酌情设置2~5分钟

  1. [root@proxy205.yinzhengjie.org.cn ~]# grep ConfigFrequency= /etc/zabbix/zabbix_proxy.conf
  2. # ConfigFrequency=
  3. [root@proxy205.yinzhengjie.org.cn ~]#
  4. [root@proxy205.yinzhengjie.org.cn ~]# sed -r -i 's@# (ConfigFrequency=)3600@\1300@' /etc/zabbix/zabbix_proxy.conf
  5. [root@proxy205.yinzhengjie.org.cn ~]#
  6. [root@proxy205.yinzhengjie.org.cn ~]# grep ConfigFrequency= /etc/zabbix/zabbix_proxy.conf
  7. ConfigFrequency=
  8. [root@proxy205.yinzhengjie.org.cn ~]#
  9. [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分钟

  1. [root@proxy205.yinzhengjie.org.cn ~]# grep DataSenderFrequency= /etc/zabbix/zabbix_proxy.conf
  2. # DataSenderFrequency=
  3. [root@proxy205.yinzhengjie.org.cn ~]#
  4. [root@proxy205.yinzhengjie.org.cn ~]# sed -r -i 's@# (DataSenderFrequency=)1@\160@' /etc/zabbix/zabbix_proxy.conf
  5. [root@proxy205.yinzhengjie.org.cn ~]#
  6. [root@proxy205.yinzhengjie.org.cn ~]# grep DataSenderFrequency= /etc/zabbix/zabbix_proxy.conf
  7. DataSenderFrequency=
  8. [root@proxy205.yinzhengjie.org.cn ~]#
  9. [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发送数据的间隔时间周期

  1. [root@proxy205.yinzhengjie.org.cn ~]# grep StartPollers= /etc/zabbix/zabbix_proxy.conf
  2. # StartPollers=
  3. [root@proxy205.yinzhengjie.org.cn ~]#
  4. [root@proxy205.yinzhengjie.org.cn ~]# sed -r -i 's@# (StartPollers=)5@\130@' /etc/zabbix/zabbix_proxy.conf
  5. [root@proxy205.yinzhengjie.org.cn ~]#
  6. [root@proxy205.yinzhengjie.org.cn ~]# grep StartPollers= /etc/zabbix/zabbix_proxy.conf
  7. StartPollers=
  8. [root@proxy205.yinzhengjie.org.cn ~]#
  9. [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倍

  1. [root@proxy205.yinzhengjie.org.cn ~]# grep JavaGateway= /etc/zabbix/zabbix_proxy.conf
  2. # JavaGateway=
  3. [root@proxy205.yinzhengjie.org.cn ~]#
  4. [root@proxy205.yinzhengjie.org.cn ~]# sed -r -i 's@# (JavaGateway=)@\1172.200.5.203@' /etc/zabbix/zabbix_proxy.conf
  5. [root@proxy205.yinzhengjie.org.cn ~]#
  6. [root@proxy205.yinzhengjie.org.cn ~]# grep JavaGateway= /etc/zabbix/zabbix_proxy.conf
  7. JavaGateway=172.200.5.203
  8. [root@proxy205.yinzhengjie.org.cn ~]#
  9. [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程序的监控啦~

  1. [root@proxy205.yinzhengjie.org.cn ~]# grep JavaGatewayPort= /etc/zabbix/zabbix_proxy.conf
  2. # JavaGatewayPort=
  3. [root@proxy205.yinzhengjie.org.cn ~]#
  4. [root@proxy205.yinzhengjie.org.cn ~]# sed -r -i 's@# (JavaGatewayPort=)@\1@' /etc/zabbix/zabbix_proxy.conf
  5. [root@proxy205.yinzhengjie.org.cn ~]#
  6. [root@proxy205.yinzhengjie.org.cn ~]# grep JavaGatewayPort= /etc/zabbix/zabbix_proxy.conf
  7. JavaGatewayPort=
  8. [root@proxy205.yinzhengjie.org.cn ~]#
  9. [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服务的监听端口

  1. [root@proxy205.yinzhengjie.org.cn ~]# grep StartJavaPollers= /etc/zabbix/zabbix_proxy.conf
  2. # StartJavaPollers=
  3. [root@proxy205.yinzhengjie.org.cn ~]#
  4. [root@proxy205.yinzhengjie.org.cn ~]# sed -r -i 's@# (StartJavaPollers=)0@\120@' /etc/zabbix/zabbix_proxy.conf
  5. [root@proxy205.yinzhengjie.org.cn ~]#
  6. [root@proxy205.yinzhengjie.org.cn ~]# grep StartJavaPollers= /etc/zabbix/zabbix_proxy.conf
  7. StartJavaPollers=
  8. [root@proxy205.yinzhengjie.org.cn ~]#
  9. [root@proxy205.yinzhengjie.org.cn ~]#

[root@proxy205.yinzhengjie.org.cn ~]# sed -r -i 's@# (StartJavaPollers=)0@\120@' /etc/zabbix/zabbix_proxy.conf            #设置用于收集java gateway数据的线程数

  1. [root@proxy205.yinzhengjie.org.cn ~]# grep ListenIP= /etc/zabbix/zabbix_proxy.conf
  2. # ListenIP=0.0.0.0
  3. [root@proxy205.yinzhengjie.org.cn ~]#
  4. [root@proxy205.yinzhengjie.org.cn ~]# sed -r -i 's@# (ListenIP=)@\1@' /etc/zabbix/zabbix_proxy.conf
  5. [root@proxy205.yinzhengjie.org.cn ~]#
  6. [root@proxy205.yinzhengjie.org.cn ~]# grep ListenIP= /etc/zabbix/zabbix_proxy.conf
  7. ListenIP=0.0.0.0
  8. [root@proxy205.yinzhengjie.org.cn ~]#
  9. [root@proxy205.yinzhengjie.org.cn ~]#

[root@proxy205.yinzhengjie.org.cn ~]# sed -r -i 's@# (ListenIP=)@\1@' /etc/zabbix/zabbix_proxy.conf                   #设置zabbix proxy的监听地址,你可以自定义的IP地址

  1. [root@proxy205.yinzhengjie.org.cn ~]# grep "# CacheSize=8M" /etc/zabbix/zabbix_proxy.conf
  2. # CacheSize=8M
  3. [root@proxy205.yinzhengjie.org.cn ~]#
  4. [root@proxy205.yinzhengjie.org.cn ~]# sed -r -i "s@# (CacheSize=)8@\1512@" /etc/zabbix/zabbix_proxy.conf
  5. [root@proxy205.yinzhengjie.org.cn ~]#
  6. [root@proxy205.yinzhengjie.org.cn ~]# grep ^CacheSize /etc/zabbix/zabbix_proxy.conf
  7. CacheSize=512M
  8. [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

  1. [root@proxy205.yinzhengjie.org.cn ~]# grep StartDBSyncers= /etc/zabbix/zabbix_proxy.conf
  2. # StartDBSyncers=
  3. [root@proxy205.yinzhengjie.org.cn ~]#
  4. [root@proxy205.yinzhengjie.org.cn ~]# sed -r -i 's@# (StartDBSyncers=)4@\110@' /etc/zabbix/zabbix_proxy.conf
  5. [root@proxy205.yinzhengjie.org.cn ~]#
  6. [root@proxy205.yinzhengjie.org.cn ~]# grep StartDBSyncers= /etc/zabbix/zabbix_proxy.conf
  7. StartDBSyncers=
  8. [root@proxy205.yinzhengjie.org.cn ~]#
  9. [root@proxy205.yinzhengjie.org.cn ~]#

[root@proxy205.yinzhengjie.org.cn ~]# sed -r -i 's@# (StartDBSyncers=)4@\110@' /etc/zabbix/zabbix_proxy.conf              #设置zabbix proxy预先启动用于数据库的线程数

  1. [root@proxy205.yinzhengjie.org.cn ~]# grep HistoryCacheSize= /etc/zabbix/zabbix_proxy.conf
  2. # HistoryCacheSize=16M
  3. [root@proxy205.yinzhengjie.org.cn ~]#
  4. [root@proxy205.yinzhengjie.org.cn ~]# sed -r -i 's@# (HistoryCacheSize=)@\1512@' /etc/zabbix/zabbix_proxy.conf
  5. [root@proxy205.yinzhengjie.org.cn ~]#
  6. [root@proxy205.yinzhengjie.org.cn ~]# grep HistoryCacheSize= /etc/zabbix/zabbix_proxy.conf
  7. HistoryCacheSize=512M
  8. [root@proxy205.yinzhengjie.org.cn ~]#
  9. [root@proxy205.yinzhengjie.org.cn ~]#

[root@proxy205.yinzhengjie.org.cn ~]# sed -r -i 's@# (HistoryCacheSize=)@\1512@' /etc/zabbix/zabbix_proxy.conf             #设置zabbix proxy的历史缓存大小,可酌情调大,生产环境推荐设置为2G

  1. [root@proxy205.yinzhengjie.org.cn ~]# grep HistoryIndexCacheSize= /etc/zabbix/zabbix_proxy.conf
  2. # HistoryIndexCacheSize=4M
  3. [root@proxy205.yinzhengjie.org.cn ~]#
  4. [root@proxy205.yinzhengjie.org.cn ~]# sed -r -i 's@# (HistoryIndexCacheSize=)@\1128@' /etc/zabbix/zabbix_proxy.conf
  5. [root@proxy205.yinzhengjie.org.cn ~]#
  6. [root@proxy205.yinzhengjie.org.cn ~]# grep HistoryIndexCacheSize= /etc/zabbix/zabbix_proxy.conf
  7. HistoryIndexCacheSize=128M
  8. [root@proxy205.yinzhengjie.org.cn ~]#
  9. [root@proxy205.yinzhengjie.org.cn ~]#

[root@proxy205.yinzhengjie.org.cn ~]# sed -r -i 's@# (HistoryIndexCacheSize=)@\1128@' /etc/zabbix/zabbix_proxy.conf          #设置zabbix proxy的历史索引的缓存大小,可酌情调大,生产环境推荐设置为2G

  1. [root@proxy205.yinzhengjie.org.cn ~]#
  2. [root@proxy205.yinzhengjie.org.cn ~]# grep ^Timeout= /etc/zabbix/zabbix_proxy.conf
  3. Timeout=
  4. [root@proxy205.yinzhengjie.org.cn ~]#
  5. [root@proxy205.yinzhengjie.org.cn ~]# sed -r -i 's#(Timeout=)4#\130#' /etc/zabbix/zabbix_proxy.conf
  6. [root@proxy205.yinzhengjie.org.cn ~]#
  7. [root@proxy205.yinzhengjie.org.cn ~]# grep ^Timeout= /etc/zabbix/zabbix_proxy.conf
  8. Timeout=
  9. [root@proxy205.yinzhengjie.org.cn ~]#
  10. [root@proxy205.yinzhengjie.org.cn ~]#

[root@proxy205.yinzhengjie.org.cn ~]# sed -r -i 's#(Timeout=)4#\130#' /etc/zabbix/zabbix_proxy.conf                    #设置每个监控项获取数据的最长超时时间

  1. [root@proxy205.yinzhengjie.org.cn ~]# grep AllowRoot= /etc/zabbix/zabbix_proxy.conf
  2. # AllowRoot=
  3. [root@proxy205.yinzhengjie.org.cn ~]#
  4. [root@proxy205.yinzhengjie.org.cn ~]# sed -r -i 's@# (AllowRoot=)@\1@' /etc/zabbix/zabbix_proxy.conf
  5. [root@proxy205.yinzhengjie.org.cn ~]#
  6. [root@proxy205.yinzhengjie.org.cn ~]# grep AllowRoot= /etc/zabbix/zabbix_proxy.conf
  7. AllowRoot=
  8. [root@proxy205.yinzhengjie.org.cn ~]#
  9. [root@proxy205.yinzhengjie.org.cn ~]#

[root@proxy205.yinzhengjie.org.cn ~]# sed -r -i 's@# (AllowRoot=)@\1@' /etc/zabbix/zabbix_proxy.conf                    #禁止root用户启动zabbix proxy

  1. [root@proxy205.yinzhengjie.org.cn ~]# grep "# User=" /etc/zabbix/zabbix_proxy.conf
  2. # User=zabbix
  3. [root@proxy205.yinzhengjie.org.cn ~]#
  4. [root@proxy205.yinzhengjie.org.cn ~]# sed -r -i 's@# (User=)@\1@' /etc/zabbix/zabbix_proxy.conf
  5. [root@proxy205.yinzhengjie.org.cn ~]#
  6. [root@proxy205.yinzhengjie.org.cn ~]# grep ^User= /etc/zabbix/zabbix_proxy.conf
  7. User=zabbix
  8. [root@proxy205.yinzhengjie.org.cn ~]#
  9. [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服务

  1. [root@proxy205.yinzhengjie.org.cn ~]# ss -ntl
  2. State Recv-Q Send-Q Local Address:Port Peer Address:Port
  3. LISTEN 127.0.0.53%lo: 0.0.0.0:*
  4. LISTEN 0.0.0.0: 0.0.0.0:*
  5. LISTEN [::]: [::]:*
  6. [root@proxy205.yinzhengjie.org.cn ~]#
  7. [root@proxy205.yinzhengjie.org.cn ~]# systemctl start zabbix-proxy.service
  8. [root@proxy205.yinzhengjie.org.cn ~]#
  9. [root@proxy205.yinzhengjie.org.cn ~]# ss -ntl
  10. State Recv-Q Send-Q Local Address:Port Peer Address:Port
  11. LISTEN 127.0.0.53%lo: 0.0.0.0:*
  12. LISTEN 0.0.0.0: 0.0.0.0:*
  13. LISTEN 0.0.0.0: 0.0.0.0:*
  14. LISTEN [::]: [::]:*
  15. [root@proxy205.yinzhengjie.org.cn ~]#
  16. [root@proxy205.yinzhengjie.org.cn ~]# systemctl list-unit-files | grep zabbix-proxy.service
  17. zabbix-proxy.service disabled
  18. [root@proxy205.yinzhengjie.org.cn ~]#
  19. [root@proxy205.yinzhengjie.org.cn ~]#
  20. [root@proxy205.yinzhengjie.org.cn ~]# systemctl enable zabbix-proxy.service
  21. Synchronizing state of zabbix-proxy.service with SysV service script with /lib/systemd/systemd-sysv-install.
  22. Executing: /lib/systemd/systemd-sysv-install enable zabbix-proxy
  23. [root@proxy205.yinzhengjie.org.cn ~]#
  24. [root@proxy205.yinzhengjie.org.cn ~]#
  25. [root@proxy205.yinzhengjie.org.cn ~]# systemctl list-unit-files | grep zabbix-proxy.service
  26. zabbix-proxy.service enabled
  27. [root@proxy205.yinzhengjie.org.cn ~]#

[root@proxy205.yinzhengjie.org.cn ~]# systemctl start zabbix-proxy.service

8>.重复上述步骤

  1.   本实验总共有两个zabbix proxy,因此重复上述步骤即可,注意改动数据库名称哟~

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

1>.点击"创建代理"

2>.填写zabbix proxy的信息

3>.zabbix proxy添加完成

4>.使用Zabbix proxy监控CentOS操作系统

  1.   博主推荐阅读:
  2.     https://www.cnblogs.com/yinzhengjie2020/p/12344057.html

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

6>.为agent指定主动模式的监控模板

  1.   自定义主动模式监控模板快速制作,博主推荐阅读:
  2.     https://www.cnblogs.com/yinzhengjie2020/p/12343243.html

7>.zabbix proxy监控的主机添加成功

8>.被动模式配置

  1.   如果出现问题请不要慌张,思考在哪一个步骤出现问题了,解决掉即可。
  2.  
  3.   被动模式和主动模式步骤类似,需要注意以下几点:
        (1)数据库名称需要改变;
        (2)数据库的授权用户一定要配置清除;
        (3)在zabbix proxy配置文件中修改相应的数据库配置信息,特别注意得改动ProxyMode的值为1;
        (4)在zabbix webUI添加zabbix proxy信息,记得勾选被动模式;
        (5)在创建的zabbix proxy后添加主机时记得选择对应的proxy即可;

9>.zabbix 配置出错常见解决方案

  1.   各组件版本不一致引发的问题:
  2.     问题描述:
  3.       zabbix server版本并不会向下兼容,如果你zabbix server使用的4.x以上版本,推荐zabbix proxy尽量选择和zabbix server相同的版本,否则你会发现在配置zabbix serverzabbix proxy配置分布式监控系统时自然是失败的;
  4.       zabbix serverzabbix java gateway版本也推荐设置成一致,否则你会发现在使用zabbix server监控类似于tomcatredis时始终无法获取监控的数据。
  5.     
  6.     解决思路:
  7.       建议采用相同的安装方式,可以使用yum方式安装,也可以使用源码方式或者二进制方式安装均可。
  8.       基于yum方式安装,请保存好rpm包,在扩容节点时注意版本问题,最好是有私有的yum仓库,统一配置内网的私有仓库,避免多次下载。
  9.  
  10.   配置文件参数设置错误的问题:
  11.     问题描述:
  12.       这种情况大多数发生在zabbix agent的配置文件中,刚刚接触zabbix 监控系统的小伙伴经常会出现配置文件出错。
  13.  
  14.     解决思路:
          可以使用测试工具和日志来排查问题,比如zabbix_get工具,日志是运维排错的基本功,千万别忽略日志的重要性。

zabbix proxy配置实战案例的更多相关文章

  1. zabbix java gateway配置实战案例

    zabbix java gateway配置实战案例 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.部署tomcat服务 博主推荐阅读: CentOS: https://www. ...

  2. zabbix proxy分布式监控部署

    一.proxy分布式监控介绍 来源于zabbix官网: https://www.zabbix.com/documentation/3.4/zh/manual/distributed_monitorin ...

  3. zabbix agent的主动工作模式实战案例

    zabbix agent的主动工作模式实战案例 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.zabbix agent的工作模式概述 zabbix agent的主动工作模式: ...

  4. 使用Zabbix监控Nginx服务实战案例

    使用Zabbix监控Nginx服务实战案例 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任.  一.编译安装nginx步骤详解并开启状态页 博主推荐阅读: https://www.cn ...

  5. 使用zabbix server监控tomcat实战案例

    使用zabbix server监控tomcat实战案例 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 大家都知道,zabbix server效率高是使用C语言编写的,有很多应用程序 ...

  6. (33)zabbix proxy分布式监控配置

    概述 zabbix proxy可以代替zabbix server检索客户端的数据,然后把数据汇报给zabbix server,并且在一定程度上分担了zabbix server的压力.zabbix pr ...

  7. 基于SpringCloud的Microservices架构实战案例-配置文件属性内容加解密

    使用过SpringBoot配置文件的朋友都知道,资源文件中的内容通常情况下是明文显示,安全性就比较低一些.打开application.properties或application.yml,比如mysq ...

  8. Nginx 核心配置-根目录root指令与别名alias指令实战案例

    Nginx 核心配置-根目录root指令与别名alias指令实战案例 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.试验环境说明 1>.虚拟机环境说明 [root@nod ...

  9. ZABBIX Proxy容器启动的配置过程

    ZABBIX Proxy容器启动的配置过程 环境介绍 版本 zabbix6 zabbix server 与 zabbix proxy 非同一台主机,zabbix proxy为主动方式提交给server ...

随机推荐

  1. 洛谷P1301 魔鬼之城 题解

    想找原题请点击这里:传送门 题目描述 在一个被分割为N*M个正方形房间的矩形魔鬼之城中,一个探险者必须遵循下列规则才能跳跃行动.他必须从(, )进入,从(N, M)走出:在每一房间的墙壁上都写了一个魔 ...

  2. 解决RStudio(非conda安装)在使用Anaconda中的R环境时,缺失“ libbz2-1.dll ”而不能正常启动问题

    1.问题描述 当非conda安装的RStudio,在调用Anaconda中的R环境时,报如下错误: 2.解决办法 下载同版本的R,对Anaconda中R相应的文件进行替换(图标中标注的部分) R3.5 ...

  3. [读书]The Man Who Solved the Market

    出乎个人意料的是,西蒙斯是从FICC类品种起步的,包括量化投资方法获得第一次重大突破也是在FICC品种上. FICC市场的深度不够,所以文艺复兴科技实现规模扩张是股票策略成功之后的事情,很靠后. 虽然 ...

  4. 详解python的数字类型变量与其方法

    以下内容引自:https://www.jb51.net/article/97752.htm python数据类型是不允许改变的,这就意味着如果改变 Number 数据类型的值,将重新分配内存空间.下面 ...

  5. nginx 性能优化的概述及在CPU资源方面的处理

    nginx的性能优化的概述 软件层面的提升硬件的使用率 增大CPU的利用率 增大内存的利用率 增大磁盘IO利用率 增大网络带宽利用率 提升硬件规格 网卡:万兆网卡.例如10G.25G.40G等 磁盘: ...

  6. 吴裕雄 Bootstrap 前端框架开发——Bootstrap 排版:设定单词首字母大写

    <!DOCTYPE html> <html> <head> <title>菜鸟教程(runoob.com)</title> <meta ...

  7. Spring boot 启动图片

    生成工具:http://patorjk.com/software/taag/#p=testall&h=0&v=0&f=Graffiti&t=Type%20Somethi ...

  8. 搭建DHCP服务

    DHCP服务流程 1.DHCP客户端初次接入网络时,会发送DHCP发现报文(DHCP Discover),用于查找和定位DHCP服务器. 2.DHCP服务器在接收到DHCP发现报文后,发送DHCP提供 ...

  9. AJAX请求返回JSON数据动态生成html

    1:DeliveryPersonVO对象 package com.funcanteen.business.entity.delivery.vo; import java.util.List; impo ...

  10. UniGUI之提示信息MessageDlg及获得信息Prompt(15)

    UniGui的信息弹出框MessageDlg的原型定义如下: procedure MessageDlg(const Msg: string; DlgType: TMsgDlgType; Buttons ...