zabbix_01-理论
Posted 涛哥的MST
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了zabbix_01-理论相关的知识,希望对你有一定的参考价值。
zabbix 系列分为:
1.zabbix 理论
2.zabbix+lnmp 部署
3.zabbix 功能配置
4.zabbix 分布式
5.zabbix+grafana
6.zabbix 生产监控示例
zabbix概述
zabbix是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。
zabbix能监视各种网络参数,保证服务器系统的安全运营;并提供灵活的通知机制以让系统管理员快速定位/解决存在的各种问题。
zabbix由2部分构成,zabbix server与可选组件zabbix agent。
zabbix server可以通过SNMP,zabbix agent,ping,端口监视等方法提供对远程服务器/网络状态的监视,数据收集等功能,它可以运行在Linux,Solaris,HP-UX,AIX,Free BSD,Open BSD,OS X等平台上。
zabbix架构图
zabbix一次完整的监控
添加主机(主机组)---> 添加item--->trigger (event :ok --->problem,problem --->ok)
--->action(对某个事件的反应,发通知(通知信息中使用了大量的宏),发不发通知取决于condition(自定义触发条件),operation(step))
zabbix 数据采集方式
1.snmp
2.zabbix_agent
3.icmp/ssh/IPMI
4.web
......
zabbix数据展示
php /web/gui
zabbix数据存储
mysql/pgsql/oracle
zabbix报警
1.mail (smtp)
2.chat message
3.sms
......
zabbix如何确定监控对象
1.手动添加
2.自动发现
zabbix涉及的术语释义
zabbix server :负责接收agent 发送的报告信息的核心组件,所有配置、统计数据及操作数据均由其组织进行。
database storage: 专用于存储所有配置信息,以及由zabbix 收集的数据。
web interface :zabbix 的GUI 结构,通常与server 运行在同一台主机上。
proxy: 可选组件,常用于分布监控环境中,代理server 收集部分被监控端的监控数据并统一发往server 端。
agent :部署在被监控主机上,负责收集本地数据并发往server端或porxy 端。
主机(host):要监控的网络设备,可由IP 或DNS 名称指定。
主机组(host group ):主机的逻辑容器,可以包含主机和模板,但同一个组内的主机和模板不能互相链接,主机组通常在给用户或用户组指派监控权限时使用。
监控项(item):一个特定监控指标的相关的数据,这些数据来自于被监控对象;对于item 是zabbix 进行数据收集的核心,没有item ,将没有数据。相对某监控对象来说,每个item 都由 key 进行标识。
触发器(trigger):监控项仅负责收集数据,而通常收集数据的目的还包括在某指标对应的数据超出合理范围时给相关人员发送告警信息,“触发器”正是用于监控项所收集的数据定义阈值。每一个触发器仅能关联至一个监控项,但可以为一个监控项同时使用多个触发器。事实上,为一个监控项定义多个具有不同阈值的触发器,可以实现不同级别的报警功能。一个触发器由一个表达式构成,它定义了监控项所采取的数据的一个阈值,一旦某次采集的数据超出了此触发器定义的阈值,触发器状态将会转换为 “problem”;而当采取的数据再次回归至合理范围内时,其状态将重新返回到ok
触发器(trigger)表达式:触发器表达式高度灵活,可以以之创建出非常复杂的测试条件。基本的触发器表达式格式如下:
{<server>:<key>.<function>(<parameter>)}<operator><constant>
事件(event):即发生的一个值得关注的事情,例如触发器的状态转变,新的agent 或重新上线的agent 的自动注册等。
动作(action): 之对于特定事件事先定义的处理方法,通过包含操作(如发送通知)和条件(何时执行操作).
报警升级(escalation):发送警报或执行远程命令的自定义方案,如每隔5分钟发送一次警报,共发送5次等。
媒介(media):发送通知的手段或通道,如email 、jabber 或sms 等。
通知(notification):通过选定的媒介向用户发送的有关某事件的信息。
远程命令(remote command):预定义的命令,可在被监控主机处于某特定条件下时自动执行。
模板(template):用于快速定义被监控主机的预设条目集合,通常包含了item,trigger,graph,screen,application 以及low-level discovery rule;
模板可以直接链接到单个主机
应用程序(application):一组item的集合
web 场景(web scennario):用于检测web 站点可用性的一个或多个http 请求。
宏(macros):宏是一种抽象,它根据一系列预定义的规则替换一定的文本模式,而解释器或编译器在遇到宏时会自动进行这一模式替换。类似地,zabbix 基于宏保存预设文本模式,并且在调用时将其替换为其中的文本。zabbix 有许多内置的宏,如{host.name},{host.ip},{trigger.description},{trigger.name},{trigger.events.ack}等。为了更强的灵活性,zabbix 还支持在全局、模板或主机级别使用用户自定义宏(user macro)。
宏(macros)自定义:用户自定义宏要使用 “{$MACRO}”这种特殊的语法格式。宏可以应用在item keys 和descriptions,trigger 名称和表达式、主机接口IP/DNS 及端口,discovery 机制的snmp协议的相关信息中等。宏的名称只能使用大写字母,数字以及下划线。
宏(macros)替换次序:首先是主机级别的宏,其次是当前主机上一级模板中(直接链接至主机的模板)的宏,多个一级模板按其ID 号排序,再接着是二级模板中的宏;而后依次类推。最后检查的是全局宏。
zabbix 如果无法查找到某主机定义使用的宏,则不会对其进行替换操作。
以上是关于zabbix_01-理论的主要内容,如果未能解决你的问题,请参考以下文章
zabbix4.0理论+操作——02(zabbix部署+邮件报警)