You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
hxy
e2557dd2e7
|
1 year ago | |
---|---|---|
.github/workflows | 1 year ago | |
ChangeLog.d | 1 year ago | |
Images | 1 year ago | |
build | 1 year ago | |
conf | 1 year ago | |
create | 1 year ago | |
database | 1 year ago | |
include | 1 year ago | |
m4 | 1 year ago | |
man | 1 year ago | |
misc | 1 year ago | |
sass | 1 year ago | |
src | 1 year ago | |
templates | 1 year ago | |
tests | 1 year ago | |
ui | 1 year ago | |
.gitattributes | 1 year ago | |
.gitignore | 1 year ago | |
AUTHORS | 1 year ago | |
COPYING | 1 year ago | |
ChangeLog | 1 year ago | |
ChangeLog.legend | 1 year ago | |
INSTALL | 1 year ago | |
Makefile.am | 1 year ago | |
NEWS | 1 year ago | |
README | 1 year ago | |
bootstrap.sh | 1 year ago | |
build-backend.xml | 1 year ago | |
build.xml | 1 year ago | |
configure.ac | 1 year ago | |
sonar-project.properties | 1 year ago |
README
### 基于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](./Images/微信图片_20230831210000.png) 2. 下图可以看到企业微信收到了nginx服务终止的告警以及运维人员恢复后的提示: <img src="./Images/微信图片_20230831203416.jpg" alt="image" style="zoom:25%;" /> <img src="./Images/微信图片_20230831203414.jpg" alt="基于zabbix的智能运维实验 (educoder.net)" style="zoom:25%;" /> 检测的CPU使用率如下,超过10%会告警。受篇幅原因不展示告警信息: ![基于zabbix的智能运维实验 (educoder.net)](./Images/微信图片_20230831205909.png) 检测的网络带宽速率如下,超过400bps会告警。受篇幅原因不展示告警信息: ![基于zabbix的智能运维实验 (educoder.net)](./Images/微信图片_20230831205932.png) 检测的内存使用率如下,超过50%会告警。受篇幅原因不展示告警信息: ![基于zabbix的智能运维实验 (educoder.net)](./Images/微信图片_20230831210855.png) 检测的硬盘使用率如下,超过50%会告警。受篇幅原因不展示告警信息: <img src="./Images/微信图片_20230831210355.png" alt="基于zabbix的智能运维实验 (educoder.net)" style="zoom: 80%;" /> #### 在小组实验过程中,有很多有意思的现象: 1. Zabbix Server与Zabbix Agent在不同网段,在Server端连接时,会因为网络波动,造成时而连接时而连接不了的情况,容易形成波动较大数据。 2. VMware虚拟机网段与主机网段不一致,但可以通过主机IP地址进行不同地址Zabbix Server与Zabbix Agent进行通信。