Zabbix

 

简介

 

  • Zabbix是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。zbbix能监视各种网络参数,保证服务器系统的安全运营;并提供灵活的通知机制以让系统管理员快速定位解决存在的各种问题。
  • Zabbix是由AlexelVladishev创建,目前由Zabbix SLA在持续开发和支持。
  • Zabbix是一个企业级的分布式开源监控翻案。
  • Zabbix是一款能够监控各种网络参数以及服务器健康性和完整性的软件。
  • Zabbix使用灵活的通知机制,允许用户为几乎任何事件配置基于邮件的告警,这样可以快速反馈服务器的问题。基于已存储的数据,Zabbix提供了出色的报告和数据可视化功能。这些功能使得Zabbix成为容量规划的理想方案。
  • Zabbix支持主动轮询和被动捕获。
  • Zabbix所有的报告、统计信息和配置参数都可以通过基于Web的前端页面进行访问。基于Web的前端页面可以确保您从任何方面评估您的网络状态和服务器的健康性。
  • Zabbix是免费的。Zabbix是根据GPL通用公共允许可证第2版编写和发行的。这意味着它的源代码都是免费发行的,可供公众任意使用,商业支持由Zabbix公司提供。

Zabbix监控介绍

1.Zabbix监控架构

 

 

 2.Zabbix优点

  • 开源,无软件成本投入
  • Server对设备性能要求低
  • 支持设备多,自带多种监控模板
  • 支持分布式集中管理,有制动发现功能,可以实现自动化监控
  • 开放式接口,扩展性强,插件容易编写
  • 当监控的item比较多服务器队列比较大时可以采用被动状态,被监控客户端主动从server端下载需要架空的item然后取数据上传到server端。这种方式对服务器负载比较小。
  • Api的支持,方便与其他系统结合

3.Zabbix却缺点

  • 需要在被监控主机上安装agent,所有数据都储存在数据库中,产生的数据很大,瓶颈主要在数据库。
  • 项目批量修改不方便 
  • 社区成熟,但文本资料相对较少,服务支持有限;
  • 入门容易,能实现基本的监控,但是深层次需要需要非常熟悉Zabbix并进行大量的二次定制开发难度较大
  • 系统级别报警设置相对比较多,如果不筛选的话报警邮件会很多,并且自定义的项目报警需要自己设置,过程比较繁琐
  • 缺少数据汇总工功能,如无法查看一组服务器的平均值,需要进行二次开发

4.Zabbix监控系统对象

  • 数据库:Mysql、MariaDB、Oracle、Server           agent
  • 应用软件:Nginx、Apache、PHP、Tomcat          agent
  • 集群:  LVS、Keepalived、HAproxy、RHCS、F5   agent
  • 虚拟化:VMware、KVM、XEN、docker、k8s         agent 
  • 硬件:服务器、存储、网络设备                           IPMI
  • 网络:网络环境(内网环境、外网环境)                  SNMP

 

 

 

5.Zabbix监控方式

1.被动模式

  • 被动检测 :相对于agent而言;agent,server请求获取配置的各种监控相关的数据,agent接收请求,获取数据并响应给server

2.被动模式

  • 主动检测:相当于agent而言,agent(active);agent向server请求与自己相关监控项配置,主动地将server配置的相关的数据发送给server;
  • 主动监控能及大节约监控server的资源。

6.Zabbix架构

 

 

  1.  Zabbix Server
  • Zabbix Server是agent程序报告系统可用性、系统完整性和统计数据的核心组件,是所有配置信息、统计信息和操作数据的核心存储器。   

  2.Zabbix数据库存储

  • 所有配置信息和Zabbix收集到的数据都被存储在数据库中。

  3. Zabbix Web界面

  • 为了从任何地方和任何平台都可以轻松地访问Zabbix,提供基于Web的Zabbix界面,该界面是Zabbix Server的一部分,通常(但不一定)更ZabbixServer运行在同一台物理机器上。 

  4.Zabbix Proxy代理服务器

  • Zabbix Proxy可以代替Zabbix Server手机性能和可用性数据。Proxy代理服务器是Zabbix软件可选择部署的一部分,当然,Proxy代理服务器可以帮助单台Zabbix Server分担负载压力。

  5.Zabbix Agent 监控代理

  • Zabbix agents监控代理部署在监控目标上,能够主动监控本地资源和应用程序,并收集到的数据报告给Zabbix Server。

  6.Zabbix数据流

  • 监控方面,为了创建一个监控项(item)用于采集数据,必须先创建一个主机(host)。
  • 告警方面,在监控项创建触发器(trigger)通过触发器(trigger)来触发警告(action),因此,如果你想收到Server XCPU负载过高的警告,必须满足:
  1.  为Server创建一个host并关联一个用于对CPU进行监控的监控项(Item)。
  2. 创建一个Trigger,设置成当Cpu负载过高时会触发。
  3. Tigger被触发,发送告警邮件。 

 7.Zabbix常用术语的含义

1.主机(host)

  • 一台你想要监控的网络设备,用IP或域表示

2.主机组(host group)

  • 主机的逻辑组;它包含主机和模板。一个主机组里的主机和模板之间并没有任何直接的关联。通常在给不同用户组的主机分配权限时使用主机组

3.监控项(Item)

  • 你想要接收的主机的特定数据,一个度量数据。

4.触发器(Trigger)

  • 一个被用于定义问题阈值和"评估"监控项接收到数据的逻辑表达式
    • 当接收到的数据高于阈值时,触发器从"ok"变成"Problem"状态。当接收到的数据低于阙值时,触发器保留/返回一个"ok"的状态。

5.事件(event)

  • 单次发生的需要注意的事情,例如触发器状态改变或发现有监控代理自动注册

6.异常(problem)

  • 一个处在"异常"状态的触发器。

7.动作(action)

  • 一个对事件做出反应的预定义的操作。
  • 一个动作由操作(例如发出通知)和条件(当时操作正在发生)组成

8.升级(escalation)

  • 一个动作内执行操作的自定义场景;发送通知/执行远程命令的序列。

9.媒介(media)

  • 发送告警通知的手段;告警通知的途径。

10.通知(notification)

  • 利用已选择的媒体途径把事件相关的信息发给用户。

11.远程命令(remote command)

  • 一个预定义好的,满足一些条件的情况下,可以在被监控主机上自动执行的命令。

12.模板(template)

  • 一组可以被应用到一个或多个主机上的实体(监控项,触发器,图形,聚合图形,应用,LLD,Web场景)的集合。
  • 模板的任务就是加快对主机监控任务的实施;也可以使监控任务的批量修改更加简单,模板是直接关联到每台单独的主机上的。

13.应用(application)

  • 一组监控项组成的逻辑分组

14.Web场景(Web scenario)

  • 利用一个或多个HTTP请求来检查网站的可用性。

15.前端(frontend)

  • Zabbix提供的web界面。(0

16.Zabbix API

  • Zabbix API允许你使用JSON RPC协议(是一个无状态且轻量级的远程过程调用(RPC)传输协议,其传递内容透过JSON为主)来创建、更新和获取Zabbix对象(如主机、监控项、图形和其他)信息或者执行任何其他的自定义的任务。

17.Zabbix Server

  • Zabbix软件实现监控的核心程序,主要功能是与Zabbix proxies和Agents进行交互、触发器计算、发送告警通知;并将数据集中保存等。

18.Zabbix Agent

  • 一个部署在被监控对象上的,能够主动监控本地资源和应用的程序。
  • Zabbix Agent部署在监控的目标上,主动检测本地的资源和应用(硬件驱动、内存、处理器统计信息)。
  • Zabbix Agent手机本地操作信息并将数据报告给Zabbix Server用于进一步处理。一旦出现异常(比如硬盘空间已满或者有崩溃的服务进程),Zabbix Server会主动警告管理员只当机器上的异常。Zabbix Agents的极端高校缘于它可以利用本地系统调用来完成统计数据的收集。

19.被动(passive)和主动(active)检查

Zabbix Agents 可以执行被动和主动两种检查方式

  1. 被动检查(passive check)模式中agent应答数据请求,Zabbix Server(或者proxy)询问agent数据,如CPU的负载情况,然后Zabbix Agent回送结果。
  2. 主动检查(active check)处理过程相对复杂。Agent必须首先从Zabbix Server索取监控项列表以进行独立处理,然后周期性的将数据发送Server。
  3. 执行被动或者主动检查是通过选择相应的检测项类型来配置的。item type。Zabbix Agent处理监控项类型有Zabbix Agent和Zabbix Agent(active)

20.Zabbix Proxy

  • 一个帮助Zabbix Server收集数据,分担ZabbixServer的负载程序
  • Zabbix Proxy是一个可以从一个或者多个监控设备手机监控数据,并将信息发送到Zabbix Server的进程,基本上是代表Server工作的,所有收集的数据都在本地进行缓存,然后传送到Proxy所属的Zabbix Server。
  • 部署Proxy是可选的,但是可能非常有益于分散单个Zabbix Server的负载。如果只有proxy收集数据,Server上的进程就会减少CPU消耗和磁盘I/O负载。
  • Zabbix Proxy是完成远程区域、分支机构、没有本地管理员的网络的集中监控的理想解决方案。
  • Zabbix Proxy需要使用独立的数据库。

posted on 2021-04-04 14:57  ljr_1995  阅读(188)  评论(0)    收藏  举报

导航