• zabbix-proxy分布式监控


    Zabbix是一款开源的企业级网络监控软件,可以监测服务器、网络设备、应用程序等各种资源的状态和性能指标。在大型环境中,如果只有一个Zabbix Server来监控所有的节点,可能会遇到性能瓶颈和数据处理难题。

    为了解决这个问题,Zabbix提供了分布式监控的功能,允许多个Zabbix Server之间通过代理和数据共享来协同完成监控任务。其中,zabbix-proxy就是一种可选的代理,它可以缓解Zabbix Server的负担,提高监控效率。

    zabbix-proxy可以安装在局域网内的节点上,负责采集这些节点的监控数据,并将数据转发给Zabbix Server。相比于Zabbix Server直接采集数据,zabbix-proxy的优势在于:

    1. 减轻Zabbix Server的负荷,提高监控效率。
    2. 可以在低带宽、高延迟的网络环境下工作,避免数据传输的瓶颈。
    3. 可以在多个Zabbix Server之间共享数据,提高监控数据的可用性和容错能力

    需要注意的是,zabbix-proxy仅负责数据采集和转发,不具备数据处理和存储的能力。因此,在使用分布式监控时,需要根据实际情况合理安排Zabbix Server和zabbix-proxy的数量和布局,以满足监控要求和性能需求。

    实验

    zabbix-server  192.168.231.219

    zabbix-proxy    192.168.231.230

    zabbix-agent    192.168.231.231

    在230机器上操作安装proxy

    首先关闭防火墙与selinux

    systemctl stop firewalld  && setenforce 0

    下载Zabbix repository

    rpm -Uvh https://repo.zabbix.com/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm

    清理缓存

    yum  clean all
    

    下载zabbix proxy

    yum   -y  install zabbix-proxy-mysql

    需要时间较长点

    下载数据库

    1. yum -y install mysql-server mysql
    2. 启动数据库,获取密码
    3. systemctl start mysqld
    4. grep password /var/log/mysqld.log
    5. 修改密码
    6. mysqladmin -uroot -p'旧密码' password '新密码'

    登录数据库创建库 创建用户授权

    1. # mysql -uroot -p
    2. password
    3. mysql> create database zabbix_proxy character set utf8 collate utf8_bin;
    4. mysql> create user zabbix@localhost identified by 'password';
    5. mysql> grant all privileges on zabbix_proxy.* to zabbix@localhost;
    6. mysql> set global log_bin_trust_function_creators = 1;
    7. mysql> quit;

    导入初始架构和数据,系统将提示您输入新创建的密码。

     zcat /usr/share/doc/zabbix-proxy-mysql*/schema.sql.gz | mysql -uzabbix -p   zabbix_proxy

    在导入数据库架构后,禁用log_bin_trust_function_creators选项。

    1. # mysql -uroot -p
    2. password
    3. mysql> set global log_bin_trust_function_creators = 0;
    4. mysql> quit;

    编辑配置文件/etc/zabbix/zabbix_proxy.conf

    1. vim /etc/zabbix/zabbix_proxy.conf
    2. 全部打开或者修改
    3. ProxyMode=1 #被动
    4. Server=192.168.231.219 #主的zabbix-server的IP
    5. ServerPort=10051
    6. Hostname=zabbix-proxy
    7. EnableRemoteCommands=1
    8. LogRemoteCommands=1
    9. DBHost=localhost #默认即可
    10. DBName=zabbix_proxy #数据库名字
    11. DBUser=zabbix #远程登录数据库的用户名字
    12. DBPassword=Qianfeng@123
    13. ConfigFrequency=30
    14. DataSenderFrequency=1

    打开zabbix的web页面

    输入192.168.231.219/zabbix

    下载被管理的zabbix-agent

    关闭防火墙与selinux

    rpm -Uvh https://repo.zabbix.com/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm

    清理环境

    yum clean all
    

    下载Zabbix agent

    yum  -y  install zabbix-agent

    编写配置文件

    1. vim /etc/zabbix/zabbix_agentd.conf
    2. Server=192.168.231.230 #proxy的IP
    3. ServerActive=192.168.231.230
    4. Hostname=zabbix-agent2

    启动zabbix-agent

    systemctl start zabbix-agent

    打开zabbix的web端

    设置监控项,agent端首先下载了nginx并启动服务,因此有80端口

    检查 TCP 端口 是否处于侦听状态。返回 0 - 未侦听;1 - 正在侦听

    设置触发器

    正常状态为1,当为0时,则不正常 开始触发警报

    查看最新数据

    测试

    当停止agent端的nginx服务

    systemctl stop nginx 

    再次开启nginx服务,数据已更新

  • 相关阅读:
    【信号调理】精密检波电路和PCB示例
    Shell特殊变量(Shell $#、$*、$@、$?、$$)的使用
    完整实现-通过DelayQueue实现延时任务
    字符串算法--$\mathcal{KMP,Trie}$树
    小程序中如何查看会员的访问记录
    【牛客网-前端笔试题】——vue专项练习
    mysql 闪回表工具
    021-Java对象类型转换,instanceof语句使用方法
    PHP请求API接口案例采集电商平台数据获取淘宝/天猫优惠券查询示例
    Uni-ControlNet: All-in-One Control toText-to-Image Diffusion Models——【论文笔记】
  • 原文地址:https://blog.csdn.net/m0_59933574/article/details/134478224