zabbix-监控原理、实践流程说明
1、监控原理
1.1、流程解析
1.1.1、基本流程
根据我们之前 数据流程和软件架构图 的学习来看,zabbix的监控流程默认情况下,应该是这样的一个流程:
准备工作 - 数据采集 - 数据获取 - 数据存储 - 信息分析处理 - 日志记录 - 数据展示
1.2、事故展示
1.3、内容梳理
1、准备工作 - 配置zabbix服务端和客户端并正常启动 - zabbix server端存在大量的监控脚本文件,加载自动监控功能 2、数据采集 - 客户端的zabbix_agentd以守护进程的方式来获取当前节点的所有默认监控条目 3、数据获取 - zabbix server借助于类似zabbix_get的机制通过本机的10051端口连接客户端的10050端口,根据指定的监控条目项获取对应的监控数据 4、数据存储 - zabbix server 将获取到的数据存在数据库的对应数据表中 5、信息处理 - 根据zabbix server加载的大量监控功能指标,对数据进行合理的分析,并按照对应的操作进行处理 6、日志记录 - 信息处理完毕后,在日志文件中进行记录 7、数据展示 - zabbix 的web界面从数据库中加载所有的server属性以及监控数据,根据配置在web界面上展示
1.4、术语解析
1.4.1、监控对象
Host (主机) - 要监控的网络设备、主机节点等,可由IP、主机名或域名称来指定 Host Group (主机组) - 为了方面批量管理大量Host,我们会通过主机组的方式设置一些通用的权限设置 Item (监控项) - 一个特定监控指标的相关数据,这些数据来自于被监控对象,它是zabbix进行数据收集的核心。 Application(应用) - 一组item监控项的合理组合。 Media(媒介) - 一般表示消息通知的通知渠道,如Email、Jabber或SMS等 Remote command(远程命令) - 预定义的命令,可在被监控主机处于某个特定条件下时自动执行 User (用户) - zabbix的资源操作用户。 User Group(用户组) - 为了方面批量管理大量User,我们会通过用户组的方式设置一些通用的资源操作权限。 Graph (图形) - 为了方便对监控数据进行分析,一般会将监控数据以各种各样的形式在图中进行展示。 Screen (屏幕) - 为了集中管理和查看大量的Graph,我们会将有关联的Graph放在一个Screen中集中展示。 Map (拓扑图) - 当主机非常多的时候,为了方便分析主机间的网络拓扑关系,我们会将多台主机的数据流转在Map中展示。
1.4.2、监控动作
Trigger (触发器) - 表达式,用于对获取到的监控数据进行综合性的分析,然后根据设定好的阈值进行评判,OK or Problem。 Event (事件) - 每一次监控对象的Trigger动作都是一个事件,例如触发器的状态转变,节点的上下线等。 Action (动作) - 指对于特定事件事先定义的处理方法,通过包含操作(如发送通知)和条件(何时执行操作) Notification (通知) - 通过选定的媒介向用户发送的有关某事件的信息(可灵活定制mail发送程序) Escalation(报警升级) - 事件发生后,对应的Action没有达到目标,那么自动触发更严厉有效的动作的过程,比如越级上报。 Template (模板) - 用于快速定义被监控主机的预设条目集合,通常包含了item、trigger、graph、application等。
2、实践流程说明
2.1、术语梳理解析
1、准备工作 - 配置zabbix服务端和客户端并正常启动 - 使用User对象登录到Zabbix的web界面,User Group的赋予User特定的资源操作权限。 - 监控对象服务是正常 2、数据采集 - 在web界面上创建 Host资源,实现服务端于被监控节点的网络连接 - 在Web界面上创建 Host Group 资源,对特定应用场景的Host进行批量管理 3、数据获取 - 在被监控节点上创建特有的item资源条目 - 在Web界面上的指定Host资源中,创建特定的 Item 监控条目 4、数据存储 - zabbix server 将获取到的数据存在数据库的对应数据表中,这一步我们不用动。 5、信息处理 - 在Web界面上创建Template对象整合现有的所有Trigger对象 - 在Web界面上创建单独的Trigger资源,然后整合到现有的Template对象中 - 当被监控节点的监控数据超出设定的阈值就会被Trigger检测出来并执行Event - 在Web界面上做好Media对象,便于后续的通信机制正常运行 - 根据与设定好的动作执行后续Action,同时做大量的通知机制Notification|Escalation等 6、日志记录 - 信息处理完毕后,在日志文件中进行记录,这一步不用动。 7、数据展示 - 在Web界面上创建Graph对象,将获取到的所有监控数据进行展示 - 在Web界面上创建Screen对象,将大量的Graph对象集中展示 - 在Web界面上创建Map对象,将主机节点间的通信数据在网络拓扑图中详细展示。 - 在web界面上创建Dashboard,综合展示所有的图形
2.2、实践原则
如果要做zabbix的监控数据,我们必须遵循以下实践操作原则: 1、必须保证zabbix server 和 zabbix agent 服务稳定运行 2、在Zabbix server的web界面上依次创建 Host 和Host、Group资源对象,这两个顺序可以颠倒。 3、在zabbix agent主机上创建能够正常运行的item条目,而且能够被zabbix server上被zabbix_get调用 4、在zabbix server的web界面上,进入到Host界面关联指定的Item对象 5、在zabbix server的web界面上,为指定的Host主机关联Template或者Trigger对象 6、在zabbix server的web界面上,依次创建 Graph对象、Screen对象、Map对象等。 7、有需要的情况下,在zabbix server的web界面上,配置Media对象,并关联到对应的Trigger上。 注意事项: 这六原则是有前后依赖关系的,只有保证前面原则没有问题的基础上,才能对后面的原则进行实践。
3、总结
1、流程解析
准备工作 - 数据采集 - 数据获取 - 数据存储 - 信息处理 - 日志记录 - 数据展示
2、流程梳理
监控对象 - Host|Host Group|Item|Application|Media|command|User|User Group|Graph等
监控动作 - Trigger|Event|Action|Notification|Escalation|Template