Zabbix使用指南

概念

基本概念

  • zabbix支持的通讯方式
    • agent:通过专用的代理程序进行监控,与常见的master/agent模型类似,如果被监控对象支持对应的agent,推荐首选。
    • ssh/telnet:通过远程控制协议进行通讯,比如ssh或者telnet。
    • SNMP:通过SNMP协议与被监控对象进行通讯,SNMP协议(Simple Network Management Protocol,即 简单网络管理协议)。通常,我们无法在路由器、交换机这种硬件上安装agent,但是大部分网络设备都支持这种协议,其实SNMP协议的工作方式也可以理解为master/agent的工作方式。(学习资料:SNMP介绍与netsnmp库使用
    • IPMI:通过IPMI接口进行监控,我们可以通过标准的IPMI硬件接口,监控被监控对象的物理特征,比如电压,温度,风扇状态,电源状态等。
    • JMX:通过JMX进行监控,JMX(Java Management Extensions,即Java管理扩展),常用于 监控JVM虚拟机时。

核心组件

  • zabbix agent:部署在被监控主机上,负责被监控主机的数据,并将数据发送给zabbix server。
  • zabbix server:负责接收agent发送的报告信息,并且负责组织配置信息、统计信息、操作数据等。
  • zabbix database:用于存储所有zabbix的配置信息、监控数据的数据库。
  • zabbix web:zabbix的web界面,管理员通过web界面管理zabbix配置以及查看zabbix相关监控信息,可以单独部署在独立的服务器上。
  • zabbix proxy:可选组件,用于分布式监控环境中,zabbix proxy代表server端,完成局部区域内的信息收集,最终统一发往server端。

基础架构

在这里插入图片描述

  • 如图,我们将zabbix agent部署到被监控主机上,由agent采集数据,报告给负责监控的中心主机,中心主机也就是master/agent模型中的master,负责监控的中心主机被称为zabbix server,zabbix server将从agent端接收到的信息存储于zabbix的数据库中,我们把zabbix的数据库端称为zabbix database, 如果管理员需要查看各种监控信息,则需要zabbix的GUI,zabbix的GUI是一种Web GUI,我们称之为zabbix web。

proxy架构

在这里插入图片描述

  • 当监控规模变得庞大时,zabbix支持分布式监控,我们可以把成千上万台的被监控对象分成不同的区域,每个区域中设置一台代理主机,区域内的每个被监控对象的信息被agent采集,提交给代理主机,代理主机的作用就好比zabbix server,我们称这些代理主机为zabbix proxy,zabbix proxy再将收集到的信息统一提交给真正的zabbix server处理。这样,zabbix proxy分摊了zabbix server的压力,同时,我们还能够通过统一的监控入口,监控所有的对象,当监控规模庞大到需要使用zabbix proxy时,zabbix的架构如下图,我们可以对比下图,理解上述描述。

工作模式

  • 主动模式(Active):agent端会将采集完的数据主动发送给server端,即对于agent端来说是主动的。
  • 被动模式(Passive):agent端不主动发送数据,而是等待server过来拉取数据。
  • 总结:主动/被动模式都是对于agent端来说的,主动模式与被动模式可以同时存在,并不冲突。
  • zabbix_sender:管理员可以在agent端使用该工具,测试是否能够向server端发送数据。
  • zabbix_get:管理员可以在server端使用该工具,测试是否能够从agent端拉取数据。

监控配置的相关概念

  • 抽象流程:我们想监控的指标在zabbix中称为“监控项”(item),如 磁盘使用率。如果想获取指标的值,必须使用 “键”(key, item key),key 类似对应命令的“命令别名”,通过 key,可以监控cpu、内存、硬盘灯常用指标信息,还可自定义key。

  • 监控项(Item):

  • 键(Key, item key):

  • 应用集(Application):一组监控项

  • 触发器(Triggers):一个条件表达式,通过触发器定义被监控项的阈值。

    • 被触发为 “Problem”,未被触发(回到合理范围)为 “OK”。
  • 事件(Events):当触发器的状态发生改变时,会产生对应的“事件”。zabbix中,有“触发器事件”等几种事件。

  • 动作(Actions):当某个事件产生时,需要对应的处理措施。

zabbix常用命令

  • zabbix_get:Server 查看 Agent数据
    • zabbix_get -s IP -k key: zabbix_get -s 172.16.0.13 -k system.cpu.switches
  • 启动/重启agent:systemctl restart zabbix-agent
  • 查看启动情况:ps aux|grep zabbix

触发器

  • Name:触发器名称
  • Severity:严重程度
  • Expression:触发器表达式
  • PROBLEM event generation mode:表达式处于“Problem”状态时,重复地生成“问题事件”。
  • Description:描述
  • URL:为触发器添加url,方便快速定位到触发器所对应的监控项,我们可以把对应监控项的“最新数据”的图片链接填入url处。

触发器表达式

在这里插入图片描述

  • Item(监控项):指定监控项。

  • Function(功能):如何定义监测值,比如,最近T次监测或T分钟以内,磁盘剩余出现小于13%的情况,在功能栏则选择“最新的值<N”。

  • Last of (T)(最后一个T):定义“最近T次内,磁盘剩余小于13%”

  • Time shift(排班):定义“T分钟内,磁盘剩余小于13%”

  • Result(阈值):设置阈值为13。

  • 示例:011这台主机上的分区剩余率如果最近两次被检测到的值大于13,则触发。
    在这里插入图片描述

发现(Discovery)

网络发现

  • 通过网络发现配置,无需过多管理,也能在快速变化的环境中使用Zabbix。

  • Zabbix网络发现基于:

    • IP范围
    • 可用的外部服务(FTP、SSH、WEB、POP3、IMAP、TCP、ICMP ping等)
    • 来自Zabbix客户端的信息(仅 未加密模式)
    • 来自snmp客户端的信息
    • 注意:不支持 发现网络拓扑
  • 官方指南:配置网络发现规则

  • 参考资料:ICMP协议与自动化ping实现

网络发现的流程:发现 -> 事件 -> 动作。

发现

  • Zabbix定期扫描“网络发现规则”中定义的IP范围,并为每条规则单独配置了检测的频率。
  • 每次检测到服务和主机(IP)后,网络发现模块都会生成一个发现事件。

在这里插入图片描述

动作

  • 基于事件的网络发现动作, 可以根据设备类型、IP地址、状态、运行时间/停机时间等进行配置,查看操作 and 条件页面。

Active agent自动注册

  • Zabbix Active agent可以实现自动注册,进而服务器对其进行监控。通过这种方式,无需在服务器上进行手动配置便可直接启动对新host的监控。当以前未知的active agent要求检查时,会发生自动注册。

  • 被动检查:Active agent自动注册还支持对被添加的主机进行被动检查的监控。当active agent要求检查时,前提是在配置文件中已定义好了“ListenIP”或“ListenPort”配置参数,这些参数将发送到服务器。

  • 配置:在 配置文件中(Zabbix server- zabbix_agentd.conf) 指定服务器。

    • ServerActive=10.0.0.1
  • Active agent自动注册动作:当服务器从agent收到自动注册请求时,它会调用一个 动作。必须要为agent自动注册 配置一个事件源为“自动注册”的动作。(设置 网络发现 不需要使active agents自动注册。)

  • 自动注册 与 代理的潜在问题

    • 唯一性:同一个主机 会被 多台 代理 处理吗?

自动发现(LLD)

  • 自动发现 提供了一种在计算机上为不同实体自动创建监控项,触发器和图形的方法。例如,zabbix可以在你的机器上自动开始监控文件系统或者网络接口,而无需为每个文件系统或网络接口手动创建监控项。此外,可以配置zabbix根据定期执行发现后得到的实际结果,来移除不需要的监控项。

网络发现、自动注册 与 自动发现的区别

  • 网络发现:用于发现主机?
  • 自动注册:用于 使主机被监控?
  • 自动发现:用于配置 监控项?

分布式监控 - Proxy代理

  • Zabbix proxy 可以代替 zabbix server 收集性能和可用性数据,然后把数据汇报给 zabbix server。在一定程度上分担了zabbix server 的压力。

  • 实现集中式和分布式监控的 最简单方法:所有agents和proxies报告给一个Zabbix server并且所有数据都集中收集时。

  • 注意:

    • zabbix proxy 数据库必须和 server 分开,否则数据会被破坏。
    • zabbix proxy 仅仅需要一条 tcp 连接到 zabbix server。
    • zabbix proxy 是一个数据收集器,它不计算触发器、不处理事件、不发送报警、无远程命令。
    • 使用 agent active 模式,一定要记住在 agent 的配置文件参数 ServerActive 加上 proxy 的 IP 地址。
  • zabbix proxy功能表:
    在这里插入图片描述

参考

官方指南

zabbix系列文章

自动发现与自动注册

代理

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值