• zabbix分布式


    zabbix分布式

    Zabbix proxy 使用场景:
    监控远程区域设备 监控本地网络不稳定区域
    监控上千设备时,减轻 zabbix server 的负荷
    简化分布式监控的维护。

    当监控的服务器成千上万时,普通监控的Server压力会很大,所以就有了分布式监控来分担Server压力,即添加代理服务器,功能与Server差不多,代理服务器统一收集agent监控数据返回给Server进行处理。

    zabbix proxy 仅仅需要一条 tcp 连接到 zabbix server,所以防火墙上仅仅需要加上一条规则即可zabbix proxy 数据库必须和 server 分开,否则数据会被破坏

    zabbix proxy 收集到数据之后,首先将数据缓存在本地,然后在一定的时间之后传递给 zabbix server,这样就不会因为服务器的任何临时通信问题而丢失数据。这个时间由 proxy配置文件中参数 ProxyLocalBuffer和ProxyOfflineBuffer决定

    实验准备
    设备1、2搭建环境搭建在之前博客,此处不在搭建

    主机ip
    设备1 zabbix-server192.168.70.10
    设备3 zabbix-proxy192.168.70.30
    设备2 zabbix-agent192.168.70.20

    设备3

    [root@localhost ~]# ls
    anaconda-ks.cfg  sysconfigure.sh
    [root@localhost ~]# bash sysconfigure.sh   执行脚本配置环境
    
    • 1
    • 2
    • 3

    安装matiadb-server

    [root@localhost ~]# yum -y install mariadb-server
    
    • 1

    启动mariadb

    [root@localhost ~]# systemctl start mariadb
    
    • 1

    启动开机自启

    [root@localhost ~]# systemctl enable mariadb
    
    • 1

    进入数据库

    [root@localhost ~]# mysql

    创建zabbix_proxy库,并且给与utf8可识别汉语

    MariaDB [(none)]> create database zabbix_proxy character set utf8 collate utf8_bin;
    Query OK, 1 row affected (0.00 sec)
    
    mysql授权  zabbix_proxy 用户可访问 zabbix_proxy库内所有表 
    MariaDB [(none)]> grant all on zabbix_proxy.* to zabbix_proxy@localhost identified by '123456';
    Query OK, 0 rows affected (0.00 sec)
    
    查看库
    MariaDB [(none)]> show databases;
    +--------------------+
    | Database           |
    +--------------------+
    | information_schema |
    | mysql              |
    | performance_schema |
    | test               |
    | zabbix_proxy       |
    +--------------------+
    5 rows in set (0.00 sec)
    
    
    查看用户
    MariaDB [(none)]> select user,host from mysql.user;
    +--------------+--------------+
    | user         | host         |
    +--------------+--------------+
    | root         | 127.0.0.1    |
    | root         | ::1          |
    |              | localhost    |
    | root         | localhost    |
    | zabbix_proxy | localhost    |
    |              | zabbix-proxy |
    | root         | zabbix-proxy |
    +--------------+--------------+
    7 rows in set (0.00 sec)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35

    修改主机名

    [root@localhost ~]# hostnamectl set-hostname zabbix-proxy
    [root@localhost ~]# exit
    
    • 1
    • 2

    网络源

    [root@zabbix-proxy ~]# wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
    [root@zabbix-proxy ~]# wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-
    
    • 1
    • 2

    清除缓存

    [root@zabbix-proxy ~]# yum clean all
    [root@zabbix-proxy ~]# yum makecache 
    
    • 1
    • 2

    清华大学链接下载软件 zabbix-proxy-mysql-5.0.22-1.el7.x86_64.rpm

    [root@zabbix-proxy ~]# wget https://mirrors.tuna.tsinghua.edu.cn/zabbix/zabbix/5.0/rhel/
    7/x86_64/zabbix-proxy-mysql-5.0.22-1.el7.x86_64.rpm
    
    正在连接 mirrors.tuna.tsinghua.edu.cn (mirrors.tuna.tsinghua.edu.cn)|101.6.15.130|:443... 已连接。
    错误: 无法验证 mirrors.tuna.tsinghua.edu.cn 的由 “/C=US/O=Let's Encrypt/CN=R3” 颁发的证书:
      颁发的证书已经过期。
    要以不安全的方式连接至 mirrors.tuna.tsinghua.edu.cn,使用“--no-check-certificate”。
    
    
    [root@zabbix-proxy ~]# wget --no-check-certificate https://mirrors.tuna.tsinghua.edu.cn/
    zabbix/zabbix/5.0/rhel/7/x86_64/zabbix-proxy-mysql-5.0.22-1.el7.x86_64.rpm
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    安装

    [root@zabbix-proxy ~]# rpm -hvi zabbix-proxy-mysql-5.0.22-1.el7.x86_64.rpm
    
    • 1

    查看各个路径

    [root@zabbix-proxy ~]# rpm -ql zabbix-proxy-mysql 
    /etc/logrotate.d/zabbix-proxy
    /etc/zabbix/zabbix_proxy.conf
    /usr/lib/systemd/system/zabbix-proxy.service
    /usr/lib/tmpfiles.d/zabbix-proxy.conf
    /usr/lib/zabbix/externalscripts
    /usr/sbin/zabbix_proxy_mysql
    /usr/share/doc/zabbix-proxy-mysql-5.0.22
    /usr/share/doc/zabbix-proxy-mysql-5.0.22/AUTHORS
    /usr/share/doc/zabbix-proxy-mysql-5.0.22/COPYING
    /usr/share/doc/zabbix-proxy-mysql-5.0.22/ChangeLog
    /usr/share/doc/zabbix-proxy-mysql-5.0.22/NEWS
    /usr/share/doc/zabbix-proxy-mysql-5.0.22/README
    /usr/share/doc/zabbix-proxy-mysql-5.0.22/schema.sql.gz
    /usr/share/man/man8/zabbix_proxy.8.gz
    /var/log/zabbix
    /var/run/zabbix
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17

    导入初始数据表与架构表

    [root@zabbix-proxy ~]# zcat /usr/share/doc/zabbix-proxy-mysql-5.0.22/schema.sql.gz | mysql -uzabbix_proxy -p123456 zabbix_proxy
    
    • 1

    修改配置文件

    [root@zabbix-proxy ~]# vim /etc/zabbix/zabbix_proxy.conf 
    ……
    30     Server=192.168.70.10             #指定zabbix server地 址
    
    
    
    49     Hostname=Zabbix-proxy      #指定本机名称(自定 义),用于zabbix server区分每一个proxy节点
    
    
    
    173   DBName=zabbix_proxy              #指定数据库名(与数据库 创建的库名保持一致)
    
    
    188   DBUser=zabbix_proxy          #指定连接数据库用户名 (与数据库授权用户名称保持一致)
    
    
    196   DBPassword=123456          #指定用户密码
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17

    开启

    [root@zabbix-proxy ~]# systemctl start zabbix-proxy.service 
    
    • 1

    重启

    [root@zabbix-proxy ~]# systemctl restart zabbix-proxy.service 
    
    • 1

    开机自启

    [root@zabbix-proxy ~]# systemctl enable zabbix-proxy.service 
    
    • 1

    查看网络端口

    [root@zabbix-proxy ~]# netstat -ntlp
    Active Internet connections (only servers)
    Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
    tcp        0      0 0.0.0.0:3306            0.0.0.0:*               LISTEN      16504/mysqld        
    tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      6647/sshd           
    tcp        0      0 127.0.0.1:25            0.0.0.0:*               LISTEN      8010/master         
    tcp        0      0 0.0.0.0:10051           0.0.0.0:*               LISTEN      27384/zabbix_proxy  
    tcp6       0      0 :::22                   :::*                    LISTEN      6647/sshd           
    tcp6       0      0 ::1:25                  :::*                    LISTEN      8010/master         
    tcp6       0      0 :::10051                :::*                    LISTEN      27384/zabbix_proxy  
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    重启

    [root@zabbix-proxy ~]# systemctl restart zabbix-proxy.service 
    
    • 1

    192.168.70.20 设备

    修改配置文件

    [root@host-20 ~]# vim /etc/zabbix/zabbix_agentd.conf 
    ……
    119   Server=192.168.70.30    #指定zabbix proxy 地址
           ServerActive=127.0.0.1    本机自己
    171   Hostname=192.168.70.20    #指定本机名称(自定 义),用于zabbix proxy区分每一个agent节点
    
    • 1
    • 2
    • 3
    • 4
    • 5

    重启

    [root@host-20 ~]# systemctl restart zabbix-agent.service 
    
    • 1

    查看网络端口

    [root@host-20 ~]# netstat -ntpl
    Active Internet connections (only servers)
    Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
    tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      6802/nginx: master  
    tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      6672/sshd           
    tcp        0      0 127.0.0.1:25            0.0.0.0:*               LISTEN      6883/master         
    tcp        0      0 0.0.0.0:10050           0.0.0.0:*               LISTEN      12480/zabbix_agentd 
    tcp6       0      0 :::22                   :::*                    LISTEN      6672/sshd           
    tcp6       0      0 ::1:25                  :::*                    LISTEN      6883/master         
    tcp6       0      0 :::10050                :::*                    LISTEN      12480/zabbix_agentd 
    
    [root@host-20 ~]# systemctl restart zabbix-agent.service 
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12

    进入界面在 管理——>agent代理程序
    在这里插入图片描述
    配置——>主机——>
    在这里插入图片描述
    模板选择 更新
    在这里插入图片描述
    主机处 再次更新
    在这里插入图片描述
    配置——>主机 标红的地方显示表示正常
    在这里插入图片描述
    此处ZBX不亮则 从 zabbix-server zabbix-proxy zbbix-agent 一次重启一次。如果无效则删除模板再次选择 更新 主机更新尝试。

    解决方案参考文献
    https://blog.csdn.net/weixin_30776545/article/details/99486652
    https://blog.csdn.net/weixin_44234846/article/details/99621182?utm_term=zabbix%E7%9A%84ZBX%E6%B2%A1%E4%BA%AE&utm_medium=distribute.pc_aggpage_search_result.none-task-blog-2allsobaiduweb~default-2-99621182-null-null&spm=3001.4430

    zabbix分布式搭建文章
    https://www.cnblogs.com/ywb-articles/p/11826613.html

    这里是引用

  • 相关阅读:
    如何把握好Shopee节日大促?Shopee77大促营销策略
    【SpringBoot】常用的的各种注解(二):Controller层相关注解
    【正点原子STM32连载】 第三十四章 DAC实验 摘自【正点原子】MiniPro STM32H750 开发指南_V1.1
    嵌入式学习笔记(1)ARM的编程模式和7种工作模式
    wireshark常见使用表达式
    Web安全(文件上传的漏洞)
    Python实战回归模型-消费者人群画像-信用智能评分(基于中国移动用户数据)
    编写第一个Go程序
    typeScript--[函数定义]
    Hyper-V Ubuntu 虚拟机配置双网卡
  • 原文地址:https://blog.csdn.net/weixin_45861372/article/details/126021377