zabbix之使用proxy实现分布式监控

zabbix proxy 是相当于zabbix server的代表,它每隔一段时间从一台或者多台监控设备上收集监测数据,并发送给zabbix server端,然后proxy将该些数据存放在数据库中一段时间(预防proxy向server中传监测数据失败的措施,该些数据在到达时间后会被自动清理)。

部署proxy是可选的,但是对于分担zabbix server的负载是非常有效的,如果尽在proxies上收集监测数据,将大大减少服务器进程对CPU资源和磁盘IO的消耗。

一、环境

IP                    角色             hostname          zabbix版本     系统
192.168.244.133    zabbix server       monitor.xxx.com     2.2.5      CentOS 6.5
192.168.244.134    zabbix proxy        proxy.xxx.com       2.2.5      CentOS 6.5
192.168.244.135    zabbix agent        node1.xxx.com       2.2.5      CentOS 6.5

zabbix server和zabbix agent安装请见:http://gzguitar.blog.51cto.com/5406286/1542176

二、zabbix proxy安装

  1. 安装依赖包
# yum -y install mysql mysql-server gcc gcc-c++ automake autoconf curl curl-devel net-snmp net-snmp-devel libssh2 libssh2-devel

2.添加用户

# groupadd zabbix
# useradd -g zabbix zabbix

3.下载、解压、安装源码包

# tar xf zabbix-2.2.5.tar.gz
# cd zabbix-2.2.5
# ./configure --prefix=/usr/local/zabbix --enable-agent --enable-proxy --with-mysql --with-net-snmp --with-libcurl --with-ssh2
# make && make install

4.配置数据库

# mysql -uroot -p
  mysql> create database zabbix character set utf8;
  mysql> grant all privileges on zabbix.* to [email protected] identified by ‘zabbix’;
  mysql> flush privileges; 
# mysql -uzabbix -pzabbix zabbix < database/mysql/schema.sql

5.修改zabbix_proxy.conf文件,修改后的文件如下

[[email protected] etc]# grep -v "#" zabbix_proxy.conf|sed ‘/^$/d‘
Server=192.168.244.133     #该值应为zabbix server的IP或者域名
Hostname=proxy.xxx.com     #proxy 主机名
LogFile=/tmp/zabbix_proxy.log
DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=zabbix
ProxyLocalBuffer=0  
ProxyOfflineBuffer=1      # proxy或者server无法连接时,保留离线的监控数据的时间,单位小时
ConfigFrequency=120       # server和proxy配置修改同步时间间隔,设定5-10分钟即可
DataSenderFrequency=10    # 数据发送时间间隔,10-30s
StartPollers=10           # 开启多线程数,一般不要超过30个
StartPollersUnreachable=1 # 该线程用来单独监控无法连接的主机,1个即可
StartTrappers=10          # trapper线程数
StartPingers=1            # fping线程数
CacheSize=64M             # 用来保存监控数据的缓存数,根据监控主机数量适当调整
Timeout=10                # 超时时间,设定不要超过30s,否则会拖慢其他监控数据抓取时间
TrapperTimeout=30

6.创建启动脚本

# /bin/cp misc/init.d/fedora/core/zabbix_agentd /etc/init.d/zabbix_proxy
# sed -i ‘s/BASEDIR=\/usr\/local/BASEDIR=\/usr\/local\/zabbix/g‘ /etc/init.d/zabbix_proxy
# sed -i ‘s/\s\+BINARY_NAME=zabbix_agentd/BINARY_NAME=zabbix_proxy/g‘ /etc/init.d/zabbix_proxy
# /bin/cp misc/init.d/fedora/core/zabbix_agentd /etc/init.d/zabbix_agentd
# sed -i ‘s/BASEDIR=\/usr\/local/BASEDIR=\/usr\/local\/zabbix/g‘ /etc/init.d/zabbix_agentd

7.启动zabbix_proxy服务

# service zabbix_proxy start

三、agent配置

1.修改zabbix_agentd.conf文件

# vim /usr/local/zabbix/etc/zabbix_agentd.conf
Server=192.168.244.133         # proxy IP或者域名
ServerActive=192.168.244.133   # proxy IP或者域名
Hostname=node1.xxx.com

2.重启zabbix_agentd服务

service zabbix_agentd restart

四、server端配置

1.在web页面下添加proxy节点,Administration --> DM --> Create proxy

(1)proxy name必须和zabbix_proxy.conf中的Hostname保持一致,如果是主机名要确保zabbix server能够解析

(2)proxy mode分为Active和Passive,其中Active是代理服务器将主动连接zabbix server并请求分配数据;Passive是zabbix server连接代理服务器,由于zabbix server本来就负载和I/O比较大,建议不试用被动模式

(3)hosts就是proxy下面所要管辖的被监控服务器

2.在web页面下添加proxy管辖范围内要被监控的服务器信息,Configuration --> Host --> Create Host --> 填写信息和关联模板 --> save

过一会就有相关数据出现了

时间: 2024-10-06 13:53:37

zabbix之使用proxy实现分布式监控的相关文章

zabbix专题:第十一章 zabbix proxy分布式监控配置

zabbix专题:第十一章 zabbix proxy分布式监控配置             对Linux有兴趣的朋友加入QQ群:476794643 在线交流 本文防盗链:http://zhang789.blog.51cto.co zabbix proxy分布式监控配置 zabbix proxy可以代替zabbix server检索客户端的数据,然后把数据汇报给zabbix server,并且在一定程度上分担了zabbix server的压力.zabbix proxy可以非常简便的实现了集中式.分

zabbix 监控--阿里云主机(Proxy分布式监控)

之前写了zabbix server.client端的配置,但这只能监控局域网内主机的所有状态,那如果是夸网段呢?比如阿里云上的主机如何监控,有人会说 你在阿里上在建立个zabbix不就可以了,我嫌麻烦,哈哈 今天就带大家一起陪尝试通过zabbix proxy代理的方式,进行分布式监控:  一.  zabbix proxy介绍: zabbix proxy 是一个数据收集器,它不计算触发器.不处理事件.不发送报警,只是检查并收集数据,将信息反馈给server端. zabbix proxy监控原理图

Zabbix分布式监控proxy实现

分布式监控概述 分布式监控,主要用在与机房分布在多个城市,在各地机房部署zabbix proxy服务器,由zabbix proxy服务器收集各个机房的agent数据,然后将这些数据主动或被动发送到zabbix Server. Zabbix提供了两种分布式解决方案: 使用代理(proxy):zabbix-proxy负载收集数据,并把数据发送到zabbixserver,数据在本地缓存一段时间,但不会保存在本地 使用节点(node):完整的zabbixserver,把自己监控到的数据信息发送给主节点一

zabbix分布式监控部署proxy安装

之前写过一篇源码安装zabbix2.2.9版本,server端安装文档: http://mofansheng.blog.51cto.com/8792265/1679728 下面分享一下zabbix分布式监控proxy安装过程: 环境说明:centos6.6 64位系统:LAMP环境: 前提是zabbix server端已经安装完毕,server IP为192.168.20.10,proxy本机 IP 为192.168.20.11 :agent IP为192.168.20.12: 1.编译安装za

Zabbix监控(十六):分布式监控-Zabbix Proxy

说明:Zabbix支持分布式监控,利用Proxy代理功能,在其他网络环境中部署代理服务器,将监控数据汇总到Zabbix主服务器,实现多网络的分布式监控,集中监控. 1.分布式监控原理 Zabbix proxy和Zabbix server一样,各自监控自己网络内的设备,Proxy将监控数据传给Server,管理员在Server上就可以集中监控了.Proxy可以有多个.可以跨公网.可以跨地域限制,能有效分担Server的资源负载. 2.Zabbix Proxy安装环境参考 http://ywzhou

zabbix使用proxy分布式监控

原理图: 概述 zabbix proxy可以代替zabbix server收集性能和可用性数据然后把数据汇报给zabbix server,并且在一定程度上分担了zabbix server的压力.此外,当所有agents和proxies报告给一个Zabbix server并且所有数据都集中收集时,使用proxy是实现集中式和分布式监控的最简单方法. zabbix proxy 使用场景: 监控远程区域设备 监控本地网络不稳定区域 当 zabbix 监控上千台设备时,使用它来减轻 server 的压力

LNMP+zabbix分布式监控搭建及版本升级

LNMP+zabbix分布式监控搭建需要组件:gcc gcc-c++ openssl* pcre pcre-devel gd gd-devel libjpeg-devel libpng-devel libxml2-devel bzip2-devel libcurl-devel autoconf automake imake expat-devel cmake libaio libaio-devel bzr bison libtool ncurses5-devel ncurses-devel ne

自动化运维工具之Zabbix分布式监控应用(五)

分布式监控概述proxy and nodeZabbix常用3种架构-->Server-agent-->Server-Node-agent-->Server-Proxy-agent Zabbix能高效地监控分布式IT架构在大型环境中Zabbix提供两种解决方案-->使用代理(proxy)-->使用节点(node)Proxy or Node?-->代理(proxy)用于本区域数据收集,并将数据发送给server-->节点(node)提供完整的Zabbix server

第6章Zabbix分布式监控

p.MsoNormal,li.MsoNormal,div.MsoNormal { margin: 0cm; margin-bottom: .0001pt; text-align: justify; text-indent: 5.0pt; line-height: 150%; font-size: 10.5pt; font-family: Consolas } h1 { margin-top: 17.0pt; margin-right: 0cm; margin-bottom: 16.5pt; ma