Zabbix监控原理及架构

什么是Zabbix?

Zabbix是一个用于网络,操做系统和应用程序的开源监控软件,它旨在监视和跟踪各类网络服务,服务器和其余网络硬件的状态。html

为何须要对各种系统进行监控?

在系统构建时的正常流程中,一般是不容许未被监控的系统或应用上线的,由于未被监控的系统存在不可预知性、故障未知性等不稳定因素,且没法及时被发现并排除。这对整个架构或系统来讲都是很大的风险隐患。因此咱们原则上是须要对整个架构或系统进行监控,随时监测系统各方面的指标是否正常,以提升整个系统的稳定性。服务器

Zabbix是如何实现系统监控的?

一个完整的监控系统所需指标:

1.采样:周期性的获取某个被监测指标的相关数据网络

2.存储:将采集到的数据存储在指定的存储系统中,Zabbix默认是MySQL架构

  对于数据的存储可分为两大类:app

  历史数据:可理解为过去某一时间点的数据分布式

  趋势数据:可理解为过去某一段时间的数据ide

3.展现:采集完数据后,为了使数据能更直观的展示在用户面前,可将采集到的数据作二次处理,作成各种图形。Zabbix就是使用的PHP程序将采集的数据经过Web GUI直观的展现给用户。spa

4.报警:当监控的指标出现异常时须要监控系统能自动的发出告警信息,甚至在出现报警后能自动完成修复。操作系统

Zabbix支持的数据采集协议:

1.SNMP:(Simple Network Management Protocol),这是一个很是古老的且通用的监控协议,几乎任何设备都支持用此方式进行系统监控。scala

2.Agent:在被监控端安装专门的监控程序,将数据采集后经过Agent发送至Server。

3.IPMI:智能平台管理接口。可在经常使用的服务器上看到相似以太网口的接口。

4.JMX:Java Management Extensions

Zabbix的经常使用组件:

1.Zabbix Web GUI:提供Web界面

2.Zabbix Database:提供数据存储功能,专用于存储配置信息,以及采集到的数据

3.Zabbix Server:接收Agent采集数据的核心组件。

4.Zabbix Agent:部署在被监控主机上,用于采集本地数据。

5.Zabbix Proxy:当被监控节点较多时,用于减轻Server压力的组件,也用于分布式监控系统。由Proxy接收数据后统一发送至Server。

Zabbix架构图:

Zabbix逻辑图:

Zabbix逻辑组件:

主机组(host groups)

主机(hosts)

应用(application)

监控项(items)

触发器(triggers)

事件(events)

动做(actions):条件(conditions)和操做(operations)

媒介(media):发送通知的通道,短信,邮件等

通知(notiflcations)

远程命令(remote command)

报警升级(escalation)

模板(template)

图形(graph)

屏幕(screens)

幻灯(slide show)

Zabbix实现监控的两种模式:

简单的讲,主动模式和被动模式都是将Agent做为参照的

主动模式:由Agent主动创建TCP连接并向Server端发送请求。

被动模式:由Server创建TCP连接并向Agent端发送请求。

 

Zabbix基础教程:http://www.javashuo.com/article/p-mjdgrqcs-hq.htmlhttp://www.javashuo.com/article/p-mdjxxfit-hp.html

相关文章
相关标签/搜索