Zabbix是一个分布式的监控系统。分布式监控适合跨机房、跨地域的网络监控。从多个Proxy收集数据,而每个Proxy可以采集多个设备的数据,从而轻松地构建分布式监控系统。

ZabbixProxy可以用在以下环境中。

1.监控远程区域。

2.监控拥有不可靠网络连接的区域。

3.当监控以千计的设备时分担Zabbix-Server服务器的压力。

4.简化分布式监控的维护。

Proxy架构的使用环境可以用6-1来表示。

图6-1

1.Proxy和Server之间只需要一个TCP端口连接。因此,从安全方面考虑,需要一条防火墙规则来确保数据传输的安全。

2.Proxy采集到的数据在传送给服务器之前都报错在本地。这样保证Proxy和Server断开数据不丢失。ProxyLocalBuffer和ProxyOfflineBuffer控制数据在本地保存的时间。

1.1准备部署Proxy环境

下面要开始实践了,首先说明下实践环境:

主机名

IP地址

描述

系统版本

linux-node1.com

192.168.90.11

Zabbix-Server

CentOS7

linux-node2.com

192.168.90.12

Zabbix-Proxy

CentOS7

linux-node4.com

192.168.90.14

Zabbix-Agent

CentOS6

1.2安装Zabbix-proxy

源码安装Zabbix的时候加上--enable-proxy参数。

1.采用yum安装,yum安装方式如下:

[root@linux-node2 ~]# rpm -ivh http://repo.zabbix.com/zabbix/3.0/rhel/7/x86_64/zabbix-release-3.0-1.el7.noarch.rpm

[root@linux-node2 ~]# yum install zabbix-proxy zabbix-proxy-mysql mariadb -y

1.  导入Zabbix-Proxy的数据库

[root@linux-node2 ~]# systemctl start mariadb

MariaDB [(none)]> create database zabbix_proxy character set utf8 collate utf8_bin;

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

MariaDB [(none)]> flush privileges;

[root@linux-node2 ~]# cd /usr/share/doc/zabbix-proxy-mysql-3.0.3/

[root@linux-node2 zabbix-proxy-mysql-3.0.3]# zcat schema.sql.gz |mysql -uroot zabbix_proxy

3.配置Zabbix-Proxy.conf

zabbix-proxy配置文件详解:https://www.zabbix.com/documentation/3.0/manual/appendix/config/zabbix_proxy

[root@linux-node2 ~]# grep '^[a-Z]' /etc/zabbix/zabbix_proxy.conf

Server=192.168.90.11

Hostname=Zabbix proxy

LogFile=/var/log/zabbix/zabbix_proxy.log

LogFileSize=0

PidFile=/var/run/zabbix/zabbix_proxy.pid

DBName=zabbix_proxy

DBUser=zabbix_proxy

DBPassword=zabbix_proxy

SNMPTrapperFile=/var/log/snmptrap/snmptrap.log

Timeout=4

ExternalScripts=/usr/lib/zabbix/externalscripts

LogSlowQueries=3000

4.启动Zabbix-Proxy服务

[root@linux-node2 ~]# systemctl start zabbix-proxy

[root@linux-node2 ~]# systemctl enable zabbix-proxy

1.3Web界面配置Proxy

在Zabbix Server GUI中配置zabbix-proxy:单击Administrator→Prxies 如图6-2所示

图6-2

1.4监控Proxy架构主机

1.监控一台Agent主机,Agent端调整为主动模式,以及监听的Server为Proxy的IP

[root@linux-node4 ~]# 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=127.0.0.1

ServerActive=192.168.90.12

Hostname=linux-node4.com

Include=/etc/zabbix/zabbix_agentd.d/

2.添加主机的方式和正常模式一样。唯一的不同是Monitored by Proxy选项选择的是Proxy名称。如图6-3

图6-3

3.添加主动模式)模板,如图6-4所示

图6-4

4.查看使用Proxy监控,如图6-5、图6-6

图6-5

图6-6

如果zabbix_proxy出现错误:started to fail (ZBX_TCP_READ() failed: [4] Interrupted system call)

解决办法:注释server以及Proxy主机上hosts中取消Zabbix Agent,重启server以及Proxy

1.5Proxy主被模式

zabbix-agent的工作方式有Active(主动模式)和Passive(被动模式)。Zabbix-Server和Zabbix-Agent之间的通信是Zabbix的专用协议,数据格式为JSON。主动模式由于是Agent将采集到的数据主动发送给Server,而不要需要Server每次连接Agent等待采集,所以采用主动模式会使Zabbix-Server具有最好的性能,在实际生产环境中,一定要将工作模式设置为主动模式,并尽可能地采用更多的Proxy,以降低Server的负担。

1.5.1Porxy被动模式

默认情况下,Zabbix-Agent工作在被动模式下,工作的模式是由Key和Zabbix_agent.conf参数配置决定的。

图6-7

在zabbix-agent.conf文件中设置被动模式,即将Server参数设置为允许连接的Server,修改配置文件需要重启Zabbix-agent

Server = 127.0.0.1,192.168.90.11

被动模式的流程

1.Server打开一个TCP连接。

2.Server发送一个Key为Agent.ping

3.Agent接受到这个请求,然后响应数据

4.Server对接收到的数据进行处理。

5.TCP连接关闭。

1.5.2Proxy主动模式

在zabbix-agent.conf文件中设置主动模式,即将ServerActive参数设置为允许连接的{Server|Proxy},即可配置主动模式。修改配置文件需要重启Zabbix-agent

ServerActive = 127.0.0.1,192.168.90.11

在item中,将Items的检测方式修改为主动模式(默认为被动模式),为了提高性能或者环境需要,将所有的items批量修改为主动模式。

图6-8

图6-9

Agent向Server请求检测列表

1.Agent向Server建立一个TCP的连接。

2.Agent请求需要检测的数据列表。

3.Server响应Agent,发送一个Items列表。

4.Agent响应请求。

5.TCP连接完成本次会话后关闭。

6.Agent开始周期性地收集数据。

Agent发送数据给Server

1.Agent向Server建立一个TCP连接。

2.Agent发送在采集周期内,需要采集数据给server

3.Server处理Agent发送的数据。

4.TCP连接关闭。

第6章Zabbix分布式监控的更多相关文章

  1. Zabbix分布式监控系统实践

    https://www.zabbix.com/wiki/howto/install/Ubuntu/ubuntuinstall 环境介绍OS: Ubuntu 10.10 Server 64-bitSer ...

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

    LNMP+zabbix分布式监控搭建需要组件:gcc gcc-c++ openssl* pcre pcre-devel gd gd-devel libjpeg-devel libpng-devel l ...

  3. zabbix分布式监控部署--技术流ken

    前言 zabbix proxy可以代替zabbix server检索客户端的数据,然后把数据汇报给zabbix server,并且在一定程度上分担了zabbix server的压力.zabbix pr ...

  4. 06 Zabbix分布式监控和主被动模式

    06 Zabbix分布式监控和主被动模式 zabbix proxy设置 使用zabbix代理的好处 监控拥有不可靠的远程区域 当监控项目数以万计的时候使用代理分担zabbix-proxy压力 简化分布 ...

  5. Zabbix分布式监控

    上一篇:Zabbix的API的使用 zabbix分布式监控 新建一台主机 安装zabbix proxy和数据库 yum -y install mariadb-server zabbix-proxy-m ...

  6. zabbix 分布式监控及优化

    1..zabbix分布式监控,模拟多机房实现监控? 1.有多机房时,需要用到proxy 1.网络不通 2.网络延迟 2.当监控的主机较多时,也可以用proxy来缓解压力 1.安装proxy [root ...

  7. zabbix 分布式监控(proxy)源码安装

    安装分布式监控(代理节点) 1.下载软件zabbix-3.2.1.tar.gz 1.1 解压 wget http://nchc.dl.sourceforge.net/project/zabbix/ZA ...

  8. zabbix分布式监控的部署与win被控端

    zabbix是一个分布式监视,管理系统,基于server-clinet架构,可用于监视各种网络服务,服务器和网络机器等状态. server端基于C语言,web管理端Frontend则是基于PHPA制作 ...

  9. 第七章 :分布式监控与SNMP监控

    7.1 分布式监控 7.1.1 作用 分担压力,减轻负载 多机房监控 zabbix Server  ===>  zabbix agent (只能同一个局域网监控) 分担压力,降低负载 zabbi ...

随机推荐

  1. java android 读写三菱PLC 使用TCP/IP 协议

    本文将使用一个Github开源的组件库技术来读写三菱PLC和西门子plc数据,使用的是基于以太网的TCP/IP实现,不需要额外的组件,读取操作只要放到后台线程就不会卡死线程,本组件支持超级方便的高性能 ...

  2. 类的静态方法@staticmethod

    静态方法 @staticmethod 静态方法是定义在类内部的函数,此函数的作用域是类的内部 说明: 静态方法需要使用 @staticmethod装饰器定义 静态方法与普通函数定义相同,不需要传入se ...

  3. 类的析构方法__del__

    析构方法: 语法: class 类名: def __del__(self): ... 说明: 析构方法在对象被销毁时被自动调用 python建议不要在对象销毁时做任何事情,因为销毁的时间难以确定 cl ...

  4. BZOJ1066 SCOI2007 蜥蜴 【网络流-最大流】

    BZOJ1066 SCOI2007 蜥蜴 Description 在一个r行c列的网格地图中有一些高度不同的石柱,一些石柱上站着一些蜥蜴,你的任务是让尽量多的蜥蜴逃到边界外. 每行每列中相邻石柱的距离 ...

  5. 剑指offer第六章

    剑指offer第六章 1.数字在排序数组中出现的次数 统计一个数字在排序数组中出现的次数.例如输入排序数组{1,2,3,3,3,3,4,5}和数字3,由于3在数组中出现了4次,所以输出4 分析:思路1 ...

  6. Redis 字符串与哈希

    /*** * 字符串 redis里的字符串 ***/ //设置key的值 redis 127.0.0.1:6379> set key 'my name is imay' //设置值的过期时间 ( ...

  7. LG1429 平面最近点对(加强版)

    题意 给定平面上n个点,找出其中的一对点的距离,使得在这n个点的所有点对中,该距离为所有点对中最小的 2≤n≤200000 分析 参照3A17K的题解. 我们充分发扬人类智慧: 将所有点全部绕原点旋转 ...

  8. js 正则表达式符号含义

    \ 做为转意,即通常在"\"后面的字符不按原来意义解释,如/b/匹配字符"b",当b前面加了反斜杆后/\b/,转意为匹配一个单词的边界. -或- 对正则表达式功 ...

  9. 微软Enterprise Library 4.1和Unity 1.2

    说明 微软模式与实践团队今天发布了Enterprise Library 4.1和Unity 1.2版本,这次发布的主要新特性如下: 1. 支持Visual Studio 2008 SP1 2. Uni ...

  10. bzoj 1070 [SCOI2007]修车——网络流(拆边)

    题目:https://www.lydsy.com/JudgeOnline/problem.php?id=1070 后面还有几辆车在这个人这儿修,自己这辆车的时间对总时间的贡献就要多乘上几倍. 所以可以 ...