前言
随间互联网、云计算的飞速发展,越来越多的企业系统架构越来越复杂,且迭代的速度也为之迅速。随着业务量、流量的增长,庞大的业务系统架构即将面临一系列的问题,同时也是企业飞速发展所需解决的痛点。
- 复杂庞大的业务系统架构,给运行维护增加一定的难度与复杂度。
- 大量服务应用、模块的API接口的状态运行情况需要监测。
- 各类监控数据的收集、分析、整理耗时、费力,统一展示(可视化)需求迫切。
- 业务系统运行状态周报、月报数据难以统计、导出。
- 故障点的快速发现与定位,减少业务中断率势在必行。
不仅企业管理者面临的问题,同时也给企业的技术人员带来一定维护压力,一个行之有效监控体系迫在眉睫。
什么是监控系统
简单来说,监控系统就是一套解决应用、服务或系统故障发现、故障预警、故障定位,运行状态展示等多种功能融合一体的一个解决方案**。也可以称之为一套系统。
监控系统是整个运维环节,乃至整个产品生命周期中最重要的一环,事前及时预警发现故障,事后提供翔实的数据用于追查定位问题。
监控系统作为一个成熟的运维产品,业界有很多开源的实现可供选择。
监控系统的目标
对于使用监控来说,首先,得确立目标是什么,需要达到什么的效果,这才是重点**。根据实际工作经验总结如下:
- 对系统、服务或平台的运行状态实行实时不间断监控
- 不间断实时反应系统、服务或平台的运行状态信息
- 提前预知可能存在的故障风险
- 实现故障预警报警功能
- 通过监控数据快速定位故障原因
- 最终保证系统持续、稳定、安全运行
- 状态数据可视化与统计、导出、归档(历史数据可追溯)
如何使用监控
**
- 首先需要了解被监控对象的运行、工作原理与过程
- 确立需要监控被监控对象的哪些指标,如:服务的可用性、端口状态,网卡的内外流量等
- 定义监控阀值报警范围、报警等级,如:内存可用剩余多少需要报警?磁盘空间使用率达到多少需要报警?
- 建立完善的故障处理流程体系,如:紧急故障、非紧急故障、一般故障等处理方法与流程
监控流程
1、收集数据
- 通过什么方式收集数据?
- 收集哪些数据?
2、存储数据
- 存储数据的介质,如:MySQL数据库
- 存储数据的时限,如:历史数据的保留时长
3、展示数据
- 以何种方式展示,如:web界面?开发APP?
- 展示哪些数据
4、故障报警
- 电话报警
- 邮件报警
- 微信报警
- 短信报警
- 钉钉报警
5、告警处置
- 根据故障等级处理:紧急、非紧急
- 设定的故障处理预案
监控对象
**
了解完监控的目标、流程之后,还需要了解到底监控哪些内容?也就是被监控的对象是哪些。一般实际环境中基本监控可以分为以下几种,如下:
1、CPU监控
- CPU整体使用情况:用户态与内核态,空闲率等
- 单个CPU的使用情况
2、磁盘监控
- 磁盘容量:分区使用量(已用与可用容量)
- 磁盘IO
- 磁盘的数据读写效率
3、内存监控
- 内存使用量:已用、可用
4、网络监控
- 内网卡出入流量
- 外网卡出入流量
- TCP状态
5、系统重要进程监控
- 系统进程状态
- 系统服务进程开销
6、应用服务监控
- 应用的进程状态
- 应用端口状态
- 一些个性化的需求
7、硬件设备监控
以往对设备监控这块,我们单凭肉眼观察其状态灯的变化与变化频率来判断的时代一去不复返了,劣势大家都知道:重复、繁重、效率低下,而且还不适用于大规模设备集群。
- 路由器状态
- 交换机状态
- 服务器状态
8、安全监控
安全监控一般使用第三方接收较多,个人开发或开源产品不多。
- 攻击
- 漏洞
9、API接口监控
复杂的、大型系统中API监控非常重要,主是针对监控API接口GET、POST、PUT等请求。
找到合适的监控工具
根据具体情况而定;
**
希望你能通过这篇文章找到监控系统的思路。