• 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工具,日志是运维排错的基本功,千万别忽略日志的重要性。
  • 相关阅读:
    ADO.NET 3.5高级编程:应用LINQ&Entity Framework
    C#高级编程(第8版)
    ASP.NET MVC 4 Web编程
    Version of SQLCE in WP8
    字符圆角尖角实现对话框
    数字跳动放大
    jquery框架和mvvm框架的类名操作性对比
    按钮也是一门大学问
    图片轮播
    滑动显示大图升级版
  • 原文地址:https://www.cnblogs.com/yinzhengjie2020/p/12343765.html
Copyright © 2020-2023  润新知