|
|
### 基于Zabbix 6.0监控系统实现智能运维演示系统
|
|
|
|
|
|
该项目采用Zabbix 6.0对主机和服务器进行监控,并根据监控数据设置触发器,从而实现异常检测并设立多种报警方式,包括QQ邮箱报警、企业微信报警和钉钉报警等多种方式。从监控,到异常检测告警,针对压缩后告警进行根因分析,并结合知识图谱(开源模型)指导行动和修复故障。
|
|
|
|
|
|
告警时,项目基于CPU负荷、内存使用、磁盘使用、网络状况、端口和日志相关指标设立下列触发器,包括:
|
|
|
|
|
|
1. **阈值警报触发器:** 触发器用于监控上述指标的值,一旦该值超过或低于设定的阈值,就触发警报。例如,CPU使用率超过90%。
|
|
|
2. **异常检测触发器:** 触发器用于检测异常情况,如服务器离线、服务崩溃等,一旦发现异常,即可触发警报。
|
|
|
3. **性能指标监控触发器:** 触发器用于监控性能指标,如响应时间、延迟等,以确保系统处于良好状态。
|
|
|
4. **多个条件组合触发器:** 触发器基于多个监控项的组合条件。例如,当CPU使用率超过90%并且内存使用率超过80%时触发警报。
|
|
|
5. **持续监控触发器:** 触发器通常有一个延迟时间,只有在一定时间范围内满足条件才会触发警报,以避免误报。
|
|
|
|
|
|
处理异常时,项目根据大量故障及其对应原因的带标签数据,运用知识图谱强大的逻推理能力,实现对异常原因的分析,并进一步生成告警信息,辅助运维人员对系统实时不间断调控。
|
|
|
|
|
|
#### Zabbix介绍
|
|
|
|
|
|
Zabbix是一款开源的网络监控和报警系统,用于监视各种网络设备、服务器和应用程序的健康状态和性能。它能够收集各种指标和数据,如CPU使用率、内存使用率、网络流量等,然后将这些数据用于生成报表、图表和警报,以帮助管理员和运维团队及时发现和解决问题。
|
|
|
|
|
|
Zabbix具有以下主要特点:
|
|
|
|
|
|
1. **多种监控方式:** Zabbix支持多种监控方式,包括代理式、被动式和主动式监控,能够适应不同网络架构和需求。
|
|
|
2. **灵活的报警系统:** Zabbix可以根据预设的阈值和条件生成报警,管理员可以通过电子邮件、短信等方式接收警报。
|
|
|
3. **数据收集和图表展示:** Zabbix能够收集大量的性能指标和数据,然后将这些数据以图表和报表的形式展示,帮助管理员分析趋势和问题。
|
|
|
4. **自定义监控项:** 用户可以根据需要定义自己的监控项,以监视特定的应用程序、服务或指标。
|
|
|
5. **自动发现功能:** Zabbix可以自动发现网络上的设备和服务,简化了添加新设备到监控系统中的过程。
|
|
|
6. **可扩展性:** Zabbix支持插件和扩展,允许用户根据需要定制和扩展功能。
|
|
|
|
|
|
Zabbix 由几个主要的功能组件组成,分别是:
|
|
|
|
|
|
1. **Zabbix Server:**是整个监控系统的核心组件。它负责收集、存储、处理和显示监控数据。以下是Zabbix Server的主要功能:
|
|
|
- 数据收集和存储: Zabbix Server通过与Zabbix Agents、SNMP设备和其他数据源通信,收集各种性能指标和数据,如CPU使用率、内存使用率、网络流量等。
|
|
|
- 数据处理和分析: 收集的数据被Zabbix Server分析和处理,以便生成图表、报表、趋势和警报。管理员可以使用这些数据来监视系统的健康状态和性能。
|
|
|
- 警报生成和管理: 基于预定义的阈值和条件,Zabbix Server可以生成警报,通知管理员和运维人员存在问题。这可以通过电子邮件、短信等多种方式实现。
|
|
|
- 图表和可视化: Zabbix Server提供了可视化工具,管理员可以创建自定义图表和报表,以便更好地理解和分析监控数据。
|
|
|
- 自动发现和管理: Zabbix Server支持自动发现网络设备和服务,从而简化了添加新设备到监控系统中的流程。
|
|
|
2. **Zabbix Agent:** Zabbix Agent是安装在需要监控的目标主机上的代理程序。它负责收集本地性能数据并将其发送给Zabbix Server。以下是Zabbix Agent的主要功能:
|
|
|
- 数据采集: Zabbix Agent在本地收集主机的性能数据,如CPU利用率、内存使用率、磁盘空间等。
|
|
|
- 数据传输: 收集到的数据通过Zabbix Agent传输到Zabbix Server,供后者分析和处理。
|
|
|
- 低资源消耗: Zabbix Agent被设计为低资源消耗,对目标主机的影响较小。
|
|
|
- 主动和被动监控: Zabbix Agent支持主动模式和被动模式。在主动模式下,Agent定期向Server发送数据;在被动模式下,Server请求Agent发送数据。
|
|
|
- 自定义监控项: 可以在Zabbix Agent上配置自定义的监控项,以满足特定的监控需求。
|
|
|
3. **Zabbix proxy:**Zabbix Proxy是Zabbix监控系统中的另一个重要组件,用于增强系统的性能和扩展性。如果网络被分割成多个不同的子网,每个子网都有一个Proxy可以收集数据并将其汇总到中央Server。与Zabbix server相比:
|
|
|
* **数据处理:** Zabbix Proxy负责缓存和汇总数据,而Zabbix Server负责数据的分析、处理和显示。Proxy不执行警报生成等高级任务,这些任务由Zabbix Server处理。
|
|
|
* **位置和作用:** Zabbix Proxy通常放置在分布式网络的边缘,负责从监控目标收集数据并将其传输到Zabbix Server。Zabbix Server则集中管理整个监控系统。
|
|
|
* **数据传输:** Proxy使用主动模式将数据发送给Server,而Server使用被动模式接收来自Proxy的数据请求。这种通信方式允许Proxy在网络隔离或安全性环境中工作。
|
|
|
* **功能:** Zabbix Server具有更强大的功能,包括警报、报表、可视化等。Proxy主要负责数据收集和转发。
|
|
|
* **扩展性:** Zabbix Proxy允许在大规模和分布式环境中进行扩展,通过将任务分发到多个Proxy来提高性能。Zabbix Server则是监控系统的核心,不同的Proxy可以协同工作以支持更大规模的监控。
|
|
|
|
|
|
#### 演示系统简介
|
|
|
|
|
|
以监控nginx服务的终止和重启并向**企业微信**提出告警为例
|
|
|
|
|
|
1. 下图可以看到nginx服务终止,并在运维人员恢复后重启的过程:
|
|
|
|
|
|
![image](https://code.educoder.net/p39718465/zabbix/tree/master/Images%2F微信图片_20230831210000.png)
|
|
|
|
|
|
2. 下图可以看到企业微信收到了nginx服务终止的告警以及运维人员恢复后的提示:
|
|
|
|
|
|
! [基于zabbix的智能运维实验 (educoder.net)](https://code.educoder.net/p39718465/zabbix/tree/master/Images%2F微信图片_20230831203416.jpg)
|
|
|
|
|
|
! [基于zabbix的智能运维实验 (educoder.net)](https://code.educoder.net/p39718465/zabbix/tree/master/Images%2F微信图片_20230831203414.jpg)
|
|
|
|
|
|
检测的CPU使用率如下,超过10%会告警。受篇幅原因不展示告警信息:
|
|
|
|
|
|
! [基于zabbix的智能运维实验 (educoder.net)](https://code.educoder.net/p39718465/zabbix/tree/master/Images%2F微信图片_20230831205909.png)
|
|
|
|
|
|
检测的网络带宽速率如下,超过400bps会告警。受篇幅原因不展示告警信息:
|
|
|
|
|
|
! [基于zabbix的智能运维实验 (educoder.net)](https://code.educoder.net/p39718465/zabbix/tree/master/Images%2F微信图片_20230831205932.png)
|
|
|
|
|
|
检测的内存使用率如下,超过50%会告警。受篇幅原因不展示告警信息:
|
|
|
|
|
|
! [基于zabbix的智能运维实验 (educoder.net)](https://code.educoder.net/p39718465/zabbix/tree/master/Images%2F微信图片_20230831210855.png)
|
|
|
|
|
|
检测的硬盘使用率如下,超过50%会告警。受篇幅原因不展示告警信息:
|
|
|
|
|
|
! [基于zabbix的智能运维实验 (educoder.net)](https://code.educoder.net/p39718465/zabbix/tree/master/Images%2F微信图片_20230831210355.png)
|
|
|
|
|
|
#### 在小组实验过程中,有很多有意思的现象:
|
|
|
|
|
|
1. Zabbix Server与Zabbix Agent在不同网段,在Server端连接时,会因为网络波动,造成时而连接时而连接不了的情况,容易形成波动较大数据。
|
|
|
2. VMware虚拟机网段与主机网段不一致,但可以通过主机IP地址进行不同地址Zabbix Server与Zabbix Agent进行通信。
|