|
|
|
@ -1,32 +1,53 @@
|
|
|
|
|
Zabbix is free software, released under the GNU General Public License
|
|
|
|
|
(GPL) version 2.
|
|
|
|
|
|
|
|
|
|
You can redistribute it and/or modify it under the terms of the GNU GPL
|
|
|
|
|
as published by the Free Software Foundation; either version 2 of the
|
|
|
|
|
License, or (at your option) any later version.
|
|
|
|
|
|
|
|
|
|
The formal terms of the GPL can be found at
|
|
|
|
|
http://www.fsf.org/licenses/ .
|
|
|
|
|
|
|
|
|
|
This program is distributed in the hope that it will be useful,
|
|
|
|
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
|
|
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
|
|
|
General Public License for more details.
|
|
|
|
|
|
|
|
|
|
Exception for linking with OpenSSL
|
|
|
|
|
|
|
|
|
|
In addition, as a special exception, we give permission to link the code
|
|
|
|
|
of Zabbix with the OpenSSL project OpenSSL library (or with modified
|
|
|
|
|
versions of it that use the same license as the OpenSSL library), and
|
|
|
|
|
distribute the linked executables.
|
|
|
|
|
|
|
|
|
|
Please see https://www.zabbix.com/ for detailed information about Zabbix.
|
|
|
|
|
|
|
|
|
|
On-line Zabbix documentation is available at
|
|
|
|
|
https://www.zabbix.com/documentation/6.2/manual/ .
|
|
|
|
|
|
|
|
|
|
Zabbix installation instructions can be found at
|
|
|
|
|
https://www.zabbix.com/documentation/6.2/manual/installation/ .
|
|
|
|
|
|
|
|
|
|
If you are installing Zabbix from packages the instructions can be found at
|
|
|
|
|
https://www.zabbix.com/documentation/6.2/manual/installation/install_from_packages/ .
|
|
|
|
|
### 基于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可以协同工作以支持更大规模的监控。
|
|
|
|
|
|
|
|
|
|
#### 在小组实验过程中,有很多有意思的现象:
|
|
|
|
|
|
|
|
|
|
1. Zabbix Server与Zabbix Agent在不同网段,在Server端连接时,会因为网络波动,造成时而连接时而连接不了的情况,容易形成波动较大数据。
|
|
|
|
|
2. VMware虚拟机网段与主机网段不一致,但可以通过主机IP地址进行不同地址Zabbix Server与Zabbix Agent进行通信。
|
|
|
|
|
3.
|
|
|
|
|