zabbix的日常监控-分布式监控(十)

参考博文:http://blog.51cto.com/jinlong/2051966

zabbix proxy 可以代替 zabbix server 检索客户端的数据,然后把数据汇报给 zabbix server,并且在一定程度上分担了zabbix server 的压力.zabbix proxy 可以非常简便的实现了集中式、分布式监控。

Zabbix_proxy只需要一条tcp链接到zabbix_server,只需要配置一个防火墙规则。zabbix_proxy数据库必须和server分开,否则数据会被破坏。因为这两个数据库的表大部分相同。

Zabbix_proxy收集的所有数据在传输到服务器之前都存储在本地。然后再一定时间之后传递给zabbix_server。这个时间是由proxy配置文件中参数ProxyLocalBuffer and ProxyOfflineBuffer决定。

Zabbix_proxy是一个数据收集器。它不计算触发器,处理事件或发送警报

备注:使用 agent active 模式,一定要记住在 agent 的配置文件参数 ServerActive 加上 proxy IP 地址。

zabbix proxy 使用场景:

  跨机房、跨区域监控

  简化 zabbix 的维护

  减轻zabbix server的压力

分布式部署

 1、安装zabbix_proxy软件

rpm -ivh http://repo.zabbix.com/zabbix/3.4/rhel/7/x86_64/zabbix-release-3.4-2.el7.noarch.rpm
yum install -y zabbix-proxy zabbix-proxy-mysql mariadb*

systemctl enable mariadb
systemctl start mariadb

 

2、配置zabbix_proxy库

[root@web-node3 ~]# mysql
MariaDB [(none)]> create database zabbix_proxy character set utf8;

MariaDB [(none)]> grant all on zabbix_proxy.* to zabbix_proxy@localhost identified by 'zabbix_proxy';

[root@web-node3 ~]# rpm -ql zabbix-proxy-mysql

 [root@web-node3 ~]# zcat /usr/share/doc/zabbix-proxy-mysql-3.4.7/schema.sql.gz | mysql -uzabbix_proxy -p zabbix_proxy
#查看创建的库

MariaDB [(none)]> show databases;          #是否有zabbix_proxy库存在

MariaDB [(none)]> use zabbix_proxy;       #进入到改库

MariaDB [zabbix_proxy]> show tables;    #查看数据是否存在

或一条命令检测

mysql -uzabbix_proxy -pzabbix_proxy -e "use zabbix_proxy;show tables;"

  

3、修改zabbix_proxy的配置文件

[root@web-node3 ~]# vim /etc/zabbix/zabbix_proxy.conf

ProxyMode=0       #使用主动模式,1为被动模式,默认为主动模式,web前端也配置主动模式

Server=10.0.0.200    #填写zabbix-server的ip地址

DBHost=localhost

Hostname=zabbix-proxy    #本机主机名

DBName=zabbix_proxy       #数据库名

DBUser=zabbix_proxy       #用户名

DBPassword=zabbix_proxy   #zabbix_proxy数据库米密码

Timeout=15

配置文件中没有配置的内容如下:(有需要可以配置)
# ProxyLocalBuffer=0
#数据保留的时间(小时为单位)
# ProxyOfflineBuffer=1
#连不上Server,数据要保留多久(小时为单位,默认1小时)
# DataSenderFrequency=1
#数据的发送时间间隔(默认是1秒)
# StartPollers=5
#启动的线程数
# StartIPMIPollers=0
#启动IPMI的线程数

 

4、启动进程

systemctl start zabbix-proxy.service
netstat -luntp|grep 10051

  

5、zabbix-server端配置

第二步:把监控的主机改成agent代理模式

配置--主机--选择修改的主机---

 

注:把修改的这台主机的zabbix-agent配置文件内的server地址指向zabbix-proxy的IP地址并重启。

#一个zabbix agent客户端配置文件如下
[root@server ~]# grep '^[a-Z]' /etc/zabbix/zabbix_agentd.conf PidFile=/var/run/zabbix/zabbix_agentd.pid LogFile=/var/log/zabbix/zabbix_agentd.log LogFileSize=0 Server=10.0.0.111 ServerActive=10.0.0.111 Hostname=Zabbix server Include=/etc/zabbix/zabbix_agentd.d/ UserParameter=nginx.status[*],/etc/zabbix/nginx_zbx.sh $1 UserParameter=tcp[*],/etc/zabbix/scripts/tcp_status_ss.sh $1

  

 

注:结果是出图正常,如果不出图大部分是因为防火墙的问题,开通相应端口 后使用nmap -p 10051  10.0.0.111 扫描端口。

 

原文地址:https://www.cnblogs.com/huangyanqi/p/8542686.html