- 前言
- 为什么要写这本书
- 读者对象
- 如何阅读本书
- 勘误和支持
- 致谢
- 第一部分 安全运维篇
- 第 1 章 Linux 服务器安全运维
- 第 2 章 Linux 网络安全运维
- 第 3 章 数据安全工具 DRBD、extundelete
- 第二部分 运维故障排查篇
- 第 4 章 Linux 系统运维故障排查思路
- 第 5 章 Linux 故障排查案例实战
- 第三部分 自动化运维篇
- 第 6 章 轻量级运维利器 pssh、pdsh 和 mussh
- 第 7 章 分布式监控系统 Ganglia
- 第 8 章 基于 nagios 的分布式监控报警平台 Centreon
- 第 9 章 通过 Ganglia 与 Centreon 构建智能化监控报警平台
- 第四部分 集群架构篇
- 第 10 章 高性能 Web 服务器 Nginx
- 第 11 章 高性能集群软件 Keepalived
- 第 12 章 千万级高并发负载均衡软件 HAProxy
- 第 13 章 构建高性能的 MySQL 集群系统
- 第 14 章 高性能负载均衡集群软件 HAProxy
9.1 智能运维监控报警平台的组成
随着大数据时代的来临,运维工作的难度越来越大,每名运维人员都要面临不计其数的服务器和海量的数据,如何保证众多服务器和业务系统稳定高效地运行并尽量减少死机时间,成为考核运维工作的重要指标,而要实现大规模的运维,必须有一套行之有效的智能运维监控管理系统,本章就详细介绍如何构建一套完善的运维监控报警平台。
运维的核心工作可以分为运行监控和故障处理两个方面,对业务系统进行精确、完善的监控,保证能够在第一时间发现故障并迅速通知运维人员处理故障是运维监控系统要实现的基础功能;一个功能完善的智能监控系统,不但可以自动处理一些简单故障,减少运维工作量,还应该在应用可能出现故障时预先发出报警,预防故障发生。因此,构建一个智能的运维监控平台,必须以运行监控和故障报警这两个方面为重点,将所有业务系统中涉及的网络资源、硬件资源、软件资源、数据库资源等纳入统一的运维监控平台中,并通过消除管理软件的差别、数据采集手段的差别,对各种不同的数据来源实现统一管理、统一规范、统一处理、统一展现、统一用户登录、统一权限控制,最终实现运维规范化、自动化、智能化的大运维管理。
一个智能的运维监控平台一般的设计架构从低到高可以分为 6 层,如图 9-1 所示。
- 数据收集层:位于第一层,即最底层,主要收集网络数据、业务系统数据、数据库数据、操作系统数据等,然后将收集的数据进行规范化并存储。
- 数据展示层:位于第二层,是一个 Web 展示界面,主要是将数据收集层获取的数据进行统一展示,展示的方式可以是曲线图、柱状图、饼状态等,通过将数据图形化,可以帮助运维人员了解一段时间内主机或网络的运行状态和运行趋势,并作为运维人员排查问题或解决问题的依据。
- 数据提取层:位于第三层,主要是对从数据收集层获取的数据进行规格化和过滤处理,提取需要的数据到监控报警模块,这个部分是监控和报警两个模块的衔接点。
- 报警规则配置层:位于第四层,主要是根据第三层获取到的数据进行报警规则设置、报警阈值设置、报警联系人设置和报警方式设置等。
- 报警事件生成层:位于第五层,主要是对报警事件进行实时记录,将报警结果存入数据库以备调用,并将报警结果形成分析报表,以统计一段时间内的故障率和故障发生趋势。
- 用户展示管理层:位于最顶层,是一个 Web 展示界面,主要是将监控统计结果、报警故障结果进行统一展示,并实现多用户、多权限管理,实现统一用户和统一权限控制。
图 9-1 智能运维监控平台的一般设计架构
在这 6 层中,从功能实现划分,又分为三个模块,分别是数据收集模块、数据提取模块和监控报警模块,每个模块完成的功能如下。
- 数据收集模块:此模块主要完成基础数据的收集与图形展示。数据收集的方式有很多种,可以通过 SNMP 实现,也可以通过代理模块实现,还可以通过自定义脚本实现。常用的数据收集工具有 Cacti、Ganglia 等。
- 数据提取模块:此模板主要完成数据的筛选过滤和采集,将需要的数据从数据收集模块提取到监控报警模块中。可以通过数据收集模块提供的接口或自定义脚本实现数据的提取。
- 监控报警模块:此模块主要完成监控脚本的设置、报警规则设置、报警阈值设置、报警联系人设置等,并将报警结果进行集中展现和历史记录。常见的监控报警工具有 nagios、Centreon 等。
在了解了运维监控平台的一般设计思路之后,接下来详细介绍如何通过软件实现这样一个智能运维监控系统。
图 9-2 是根据图 9-1 的设计思路形成的一个运维监控平台实现拓扑图,从图中可以看出,主要由三大部分组成,分别是数据收集模块、监控报警模块和数据提取模块,其中,数据提取模块用于其他两个模块之间的数据通信,而数据收集模块可以由一台或多台数据收集服务器组成,每个数据收集服务器可以直接从服务器群组收集各种数据指标,经过规范数据格式,最终将数据存储到数据收集服务器中。监控报警模块通过数据提取模块从数据收集服务器获取需要的数据,然后设置报警阈值、报警联系人等,最终实现实时报警。报警方式支持手机短信报警、邮件报警等,另外,也可以通过插件或者自定义脚本来扩展报警方式。这样一整套监控报警平台就基本实现了。
图 9-2 常见运维监控平台拓扑结构
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论