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

 

posted @ 2023-05-25 14:59  小粉优化大师  阅读(472)  评论(0编辑  收藏  举报