zabbix_proxy使用

背景

阿里云的网络有俩种网络架构,经典网络和专有网络(vpc)

我们的监控机zabbix是在VPC内网的,如果对经典网络(公网)进行监控呢?

可能方法有很多,但是我使用了zabbix的proxy主动模式,这种场景正符合分布式监控:)

拓扑图

输入图片说明

关于proxy的使用场景

  • 监控远程区域设备
  • 监控本地网络不稳定区域
  • 当 zabbix 监控上千设备时,使用它来减轻 server 的压力
  • 简化分布式监控的维护

zabbix proxy 仅仅需要一条 tcp 连接到 zabbix server

zabbix proxy 是一个数据收集器,它不计算触发器、不处理事件、不发送报警

官网参考

部署

proxy安装

yum install http://repo.zabbix.com/zabbix/3.2/rhel/6/x86_64/zabbix-release-3.2-1.el6.noarch.rpm

yum install zabbix-proxy-mysql

proxy需要一个独立的数据库,请勿和server同库。

create database zabbix_proxy DEFAULT CHARACTER SET latin1;
use zabbix_proxy;     
source /usr/share/doc/zabbix-proxy-mysql-3.2.6/schema.sql;
grant all privileges on zabbix_proxy.* to zabbix@'127.0.0.1' identified by 'zabbix';

proxy配置

主要修改以下配置

ProxyMode=0
Server=zabbix_server的外网IP  //注意要限制访问,可能有人发现,你监控服务器是放内网啊,怎么有公网的IP,额,你可以用弹性IP或者负载均衡的虚拟服务器组来转发哈
ServerPort=10051
Hostname=zabbix_proxy的主机名
DBHost=127.0.0.1
DBName=zabbix_proxy
DBUser=zabbix
DBPassword=zabbix
DBSocket=/data/mysql/mysql.sock 

agent安装配置

yum install zabbix-agent

配置文件用以下内容即可

LogFile=/var/log/zabbix/zabbix_agentd.log
PidFile=/var/run/zabbix/zabbix_agentd.pid
EnableRemoteCommands=1
Server=proxy内网IP
ServerActive=proxy的内网IP:10051
Hostname=agent的主机名
RefreshActiveChecks=120
BufferSize=2048
Timeout=15
UnsafeUserParameters=1
Include=/etc/zabbix/zabbix_agentd.d

启动

新建代理

在我们的zabbix界面上点击管理--agent代理程序--创建代理

agent代理程序名称 为 zabbix_proxy的主机名 (建议一致 )

添加主机

只需要填写以下

  • 主机名称 为 agent的hostname
  • 在...群组里
  • IP地址 为 agent的内网IP
  • 由agent代理程序监测 下拉 选择我们刚创建的代理名称 (敲黑板)
  • 模板 添加你需要的模板

完成~

猜你喜欢

转载自my.oschina.net/longquan/blog/1631077