随笔
应用监控指北
解设我们千辛万苦搭建好了一个监控平台,那么应该配置哪些监控项呢?
本文将以通俗易懂的方式,梳理简单梳理一下需要的关键监控项。
一、基础设施层监控
1. 服务器硬件资源
- CPU使用率
高CPU使用率会导致性能瓶颈,需要及时监控和优化。 - 内存使用率
内存不足可能导致系统崩溃或频繁垃圾回收(GC)。 - 磁盘IO和空间
磁盘耗尽或IO瓶颈会直接影响系统的可用性。 - 网络带宽和延迟
网络丢包和延迟问题会影响系统性能,尤其在分布式系统中。
2. 虚拟化和容器
- 容器资源限制(CPU、内存、磁盘空间)
超出限制会导致应用异常。 - 主机节点资源利用率
确保多个容器或虚拟机稳定运行。
工具推荐:使用普米(Prometheus)和 Zabbix 进行实时监控。
二、应用层监控
1. 服务健康状态
- 接口可用性
确保核心业务接口可访问。 - 响应时间
及时发现性能下降的问题。 - 错误率(如5xx、4xx)
快速识别程序异常或配置错误。
2. 应用性能
- QPS/TPS(每秒查询/事务量)
衡量系统负载能力。 - 线程池状态
避免线程池耗尽,确保服务稳定。 - GC时间和频率
排查Java等语言的内存管理问题。
3. 日志异常
- 关键字监控(如“ERROR”、“Exception”)
快速定位潜在问题。 - 日志流量突增
可能是系统故障或恶意攻击的信号。
工具推荐:使用 CAT 监控性能,日志指标采集工具监控日志异常。
三、数据库层监控
1. 连接池
- 连接池使用率
连接耗尽会直接影响业务执行。
2. 查询性能
- 慢查询
找出性能瓶颈的SQL语句。 - 查询失败率
预警潜在的数据库问题。
3. 数据库资源
- CPU、内存、磁盘IO
衡量数据库压力。 - 主从同步延迟
确保数据一致性。
数据库监控也可以通过普米设置报警。连接池可以通过 CAT 中的拓展。慢日志可以基于日志。
四、网络层监控
1. API网关
- 请求数量和延迟
评估流量和性能。 - 限流/熔断触发次数
发现流量异常或下游问题。
2. 网络连接
- HTTP连接错误率
检查连接超时或网络中断。 - 防火墙规则日志
检测潜在的恶意访问。
五、安全监控
1. 用户行为
- 登录失败次数
防止暴力破解。 - 敏感操作日志
追踪高风险操作。
2. 系统漏洞
- 异常文件改动
检测入侵行为。 - 未授权访问
发现非法操作。
这些一般隶属于安全部门处理,但是安全部门一般不是研发,也是需要借助一个平台的。
六、业务指标监控
1. 核心业务流程
- 订单数量、支付成功率
确保业务正常运行。 - 用户转化率
发现问题并优化策略。
2. 自定义指标
根据业务模型定制监控指标(如库存状态、广告点击率)。
业务系统是非常复杂的,一般可以配置数量+失败率/成功率+波动比例
总结
实施监控的关键原则
- 全面性
覆盖系统的各个层级,避免监控盲区。 - 实时性
快速收集数据,及时发现并处理问题。 - 高可用性
监控系统本身需要稳定可靠。 - 灵活性
支持动态调整监控规则和指标。
结合自己具体的业务,配置后及时的处理报警,而不是等用户报警上来时,希望可以帮到你。