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

需要时间较长点

下载数据库

yum -y install mysql-server mysql

启动数据库,获取密码
systemctl start mysqld
grep password /var/log/mysqld.log

修改密码
mysqladmin -uroot -p'旧密码' password '新密码'

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

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

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

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

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

# mysql -uroot -p
password
mysql> set global log_bin_trust_function_creators = 0;
mysql> quit;

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

vim /etc/zabbix/zabbix_proxy.conf

全部打开或者修改
ProxyMode=1   #被动

Server=192.168.231.219  #主的zabbix-server的IP

ServerPort=10051 

Hostname=zabbix-proxy

EnableRemoteCommands=1

LogRemoteCommands=1

DBHost=localhost  #默认即可

DBName=zabbix_proxy  #数据库名字

DBUser=zabbix  #远程登录数据库的用户名字

DBPassword=Qianfeng@123

ConfigFrequency=30

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

编写配置文件

vim /etc/zabbix/zabbix_agentd.conf 

Server=192.168.231.230    #proxy的IP
ServerActive=192.168.231.230
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服务,数据已更新

### Zabbix Proxy 安装配置与使用方法 #### 一、Zabbix Proxy 的作用 Zabbix Proxy 是一种用于分布式监控环境中的组件,可以减轻主服务器的压力并提高系统的可扩展性和可靠性。Proxy 负责收集数据并将这些数据发送到 Zabbix Server,在此过程中减少了 Agent 和 Server 之间的直接通信。 #### 二、安装过程概述 为了设置 Zabbix Proxy, 需要在目标机器上执行一系列命令来完成软件包的获取以及必要的初始化工作: 编辑 `/etc/zabbix/zabbix_proxy.conf` 文件以指定数据库密码和其他参数[^1]: ```bash DBPassword=password Server=X.X.X.X ``` 启动 Zabbix Proxy 进程。 #### 三、具体配置实例 在一个具体的案例中,假设存在以下 IP 地址分配情况: - **Zabbix Server**: `192.168.136.20` - **Zabbix Proxy**: `192.168.136.201` - **Zabbix Agent**: `192.168.136.11` 对于上述网络布局下的 Zabbix Proxy 设置操作如下:调整相应的配置文件之后应当重启服务确保更改生效;建议采用特定指令刷新缓存而非简单停止再开启的方式以便于维护业务连续性[^3]: ```bash [root@proxy ~]# zabbix_proxy -R config_cache_reload ``` #### 四、验证连接状态 确认代理已成功注册并与中心节点建立了有效的联系非常重要。这通常涉及到检查日志记录或利用 Web UI 中提供的工具来进行诊断测试。 #### 五、注意事项 当在生产环境中实施此类变更时,请务必谨慎行事,并始终遵循最佳实践指南,比如先备份现有配置文件以防万一出现问题能够迅速恢复原状。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值