wreqwrqw 发表于 2015-7-6 08:49:17

(7)Zabbix分布式监控proxy实现

分布式监控概述分布式监控,主要用在与机房分布在多个城市,在各地机房部署zabbix proxy服务器,由zabbix proxy服务器收集各个机房的agent数据,然后将这些数据主动或被动发送到zabbix Server。

Zabbix提供了两种分布式解决方案:
使用代理(proxy):zabbix-proxy负载收集数据,并把数据发送到zabbixserver,数据在本地缓存一段时间,但不会保存在本地
使用节点(node):完整的zabbixserver,把自己监控到的数据信息发送给主节点一份。也就是通过主节点可以查看子节点的监控数据。
Server-proxy-client架构图:


Server-node-client架构图:

Master-Proxy相比Master-Node的优点有以下:(1)Proxy压力小,数据库只存储一定时间数据(2)Master压力变小,数据不是源源不断获取,减小IO压力(3)架构更清晰,易维护
示例:proxy实现配置node2节点作为proxy服务器监控node3。
Node2节点配置proxy安装mysql

1
2
# yum -y install mysql-server
# service mysqld start




创建数据库

1
2
3
mysql> CREATE DATABASE zabbix_proxy CHARACTER SET utf8;
mysql> GRANT ALL ON zabbix_proxy.* TO zbxuser@'172.16.%.%' IDENTIFIED BY 'zbxpass';
mysql> FLUSH PRIVILEGES;




导入数据库

1
# mysql zabbix_proxy < /usr/share/doc/zabbix-proxy-mysql-2.4.5/create/schema.sql




导入完成登录到zabbix_proxy数据库使用show tables命令就可以看到一堆表。

安装zabbix-proxy

1
# yum -y --nogpgcheck localinstall zabbix-proxy-2.4.5-1.el6.x86_64.rpm zabbix-proxy-mysql-2.4.5-1.el6.x86_64.rpm




修改配置文件

1
2
3
4
5
6
7
8
9
10
# vim /etc/zabbix/zabbix_proxy.conf
Server=172.16.4.100      #指明zabbix服务器地址
Hostname=node2            #指定主机名
DBHost=172.16.4.101      #指明数据库服务器地址
DBName=zabbix_proxy      #指明数据库服务器名称
DBUser=zbxuser            #指明数据库用户名
DBPassword=zbxpass       #指明数据库密码
DBSocket=/tmp/mysql.sock #数据库sock接口
ConfigFrequency=600      #指定多长时间从zabbix服务器拉取一次配置
DataSenderFrequency=1    #指定多长时间向zabbix服务器送一次数据




配置完成启动服务

1
2
3
4
# service zabbix-proxy start
# netstat -lnt | grep 10051
tcp      0      0 0.0.0.0:10051               0.0.0.0:*                   LISTEN      
tcp      0      0 :::10051                  :::*                        LISTEN




node3设置由于node3节点,以前做过设置,所以只需要将主服务器的地址修改为proxy服务器,修改完成之后,就会将数据发送给proxy


1
2
# vim /etc/zabbix/zabbix_agentd.conf
Server=172.16.4.101            #指定zabbix服务器地址为proxy服务器




zabbix服务器添加代理在管理 -->系统代理程式 中点击创建代理即可添加代理服务器

设置代理名称和模式,设置完成代理主机就创建好了

创建监控主机时,勾选使用node2监控即可


设置完成主机的显示名称会出现node2:node3


页: [1]
查看完整版本: (7)Zabbix分布式监控proxy实现