监控软件之zabbix
zabbix概述
一、zabbix概述
Zabbix 是一个企业级分布式开源监控解决方案。Zabbix 软件能够监控众多网络参数和服务器的健康度、完整性。Zabbix 使用灵活的告警机制,允许用户为几乎任何事件配置基于邮件的告警。这样用户可以快速响应服务器问题。Zabbix 基于存储的数据提供出色的报表和数据可视化功能。
1.1、监控使用对象
服务器、路由器、交换机、存储、防火墙、IP、PORT、URL、自定义监控对象
1.2、zabbix优势
- .分布式监控,天生具有的功能,适合于构建分布式监控系统,具有node,proxy2种分布式模式
- .自动化功能,自动发现,自动注册主机,自动添加模板,自动添加分组,是天生的自动化运维利器的推荐,当然于自动化运维工具搭配,Puppet+zabbix,或者saltstack+zabbix,那是如鱼得水。
- .自定义监控比较方便,自定义监控项非常简单,支持变量,支持low level discovery。
- .触发器,也就是报警条件有多重判断机制,当然,这个需要你去研究一下,这也是zabbix的精华之处,
- .支持多种监控方式,agentd,snmp,ipmi,jmx
1.3、zabbix功能组件
Server
Zabbix server 是 Zabbix软件的核心组件,agent 向其报告可用性、系统完整性信息和统计信息。server也是存储所有配置信息、统计信息和操作信息的核心存储库
数据库
所有配置信息以及 Zabbix 采集到的数据都被存储在数据库中。
Web 界面
为了从任何地方和任何平台轻松访问 Zabbix ,我们提供了基于 web 的界面。该界面是 Zabbix server 的一部分,通常(但不一定)和 Zabbix server 运行在同一台物理机器上。
Proxy
Zabbix proxy 可以代替 Zabbix server采集性能和可用性数据。Zabbix proxy在Zabbix的部署是可选部分;但是proxy的部署可以很好的分担单个Zabbix server的负载。
Agent
Zabbix agents 部署在被监控目标上,用于主动监控本地资源和应用程序,并将收集的数据发送给 Zabbix server。
1.4、zabbix数据存储:
存储系统:
SQL: MySQL/MariaDB(Zabbix)
NoSQL: Redis(Open-falcon)
rrd: Round Robin Database(Cacti)
数据:
历史数据: 每个监控项采集到的每个监控值
趋势数据: 趋势表里主要保留某个监控项一个小时内历史数据的最大值、最小值和平均值以及该监控项一个小时内所采集到的数据个数。
阈值: severity,可按照等级实现层级报警
告警: email, 短信, 微信,语音,故障自治愈
1.5、四大核心任务:
采集: zabbix-server, zabbix-proxy,zabbix-agent
Agentless: SNMP,Telnet,ssh, IPMI, JMX,
Agent: zabbix agent
存储: zabbix database
展示: zabbix web
graph -> screen -> slideshow(将多个screen以幻灯片的方式进行轮流展示)
告警:
host (host groups) <- templates
host -> items -> triggers -> action (条件-conditions, 操作-operations)