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工具,日志是运维排错的基本功,千万别忽略日志的重要性。

 

posted @ 2020-02-21 23:44  JasonYin2020  阅读(2105)  评论(0编辑  收藏  举报