可观测监控事项简要学习

发布时间 2023-12-11 15:32:18作者: 济南小老虎

可观测监控事项简要学习


主机层-CPU资源

CPU的使用率.
细分为: 1-idle 整体使用率us 用户 sy 系统 wa IO等待 si 中断耗时 

报警阙值:
整体使用率: 
数据库不超过min{80%, 最近平均CPU使用率的1.5倍} 
如果绝对值较高,或者是背离正常业务线较多, 需要报警处理. 

sy wa si 等耗时超过正常情况下的一倍时也应该黄色报警. 进行查看. 

应用服务器监控CPU资源不能超过 90% 并且持续如果一分钟内两次监控到则报警. 
中间件服务器与应用服务器接近. 

主机层-内存资源

可用内存不足总内存的 min 5% 时进行告警. 
需要监控排除page caches 以及 block buffer的内存情况. 

数据库服务器 重点关注内存是否出现大幅度波动,以及与正常工作日背离的情况. 

应用服务器和中间件服务器重点关注 是否出现高内存 导致OOM的现象. 

主机层-存储资源

1. 监控关键分区的磁盘使用率, 达到阙值告警处理: 
   1. 磁盘空间长时间大于 90%
   2. innode 资源增长较快, 分区接近满的情况. 
2. 监控关键分区的读写延迟情况. 
   1. 如果磁盘延迟较高(DAS和SAN), 在正常业务压力下, 超过正常交易日平均延迟的一倍. 进行告警.
   2. 写入或者是读取出现长时间停顿, 需要记录并且告警. 此处需要结合CPU的 wa 值综合判断. 
3. 监控磁盘读写情况. 
   1. 监控核心分区, 比如 根分区, 审计分区, 归档分区 的读写流量. 如果读写流量大于日常均值的一倍, 需要告警. 
   2. 应用服务器,中间件服务器关注日志盘写入量, 如果日志写入量过大, 需要黄色预警, 告知业务梳理开发整改. 

主机层-网络资源

1. 网络延迟监控.
   1. rac心跳, keepalve的心跳线监控, 避免出现延迟问题. 
   2. 业务网络的延迟监控, 如果出现大范围的延迟上升,丢包等, 需要进行告警. 
2. 网络带宽监控
   1. 对业务网络的带宽资源进行监控, 当带宽使用较高时,超过日常的50%后者是接近带宽上限需要告警. 
   2. 数据库备份, 归档备份等网络带宽也需要实时监测,如果突然出现大流量洪峰,需要提前介入,避免影响正常业务. 
3. 网络定期巡检
   1. 交换机,网络设备, 网线是否老化等需要有定期巡检. 避免设备出现异常. 
4. 部分系统参数监控
   针对建议的TCP连接, time_wait的连接, 以及网卡绑定的CPU资源进行着重检查, 避免网卡处理能力下降. 

主机层-安全监控

1. 用户安全监控
   不明来源的IP地址访问. 
   错误密码登录验证.
   防火墙拦截信息分析与处理. 
   异常线程监控, 定期对服务器的进程做快照, 进程数量/CPU/内存使用量出现波动时进行分析.

中间件监控-Redis

统筹监控redis的核心信息: 
1. Redis的Client数量, 如果接近10000, 或者是超过最近业务高峰期的2倍, 则告警. 
2. Redis的键值对数据量监控. 如果redis键值对数量长时间增长不减少, 告警, 交由开发人员验证键值对的过期设置.
3. 大key的监控, 定期抽取键值对内最大的键值信息, 如果键值对大于5MB, 需要告知研发同事说明原因. 
4. Redis命令数监控, 如果命令数激增, 并且大于业务高峰期的一半, 则告警, 需要说明命令增加的原因和进行优化. 
5. Redis内存和CPU资源使用情况监控. 如果内存大于系统内存的一半, CPU长时间单核心100% 需要进行代码优化/redis 拆分等. 
6. 集群稳定性监控, 如果Cluster集群出现多次业务高峰期的 failure over , 需要进行调优处理, 减少失败情况保证业务正常可用. 
7. 持久化验证, 对需要持久化的Redis单机/集群 进行验证, 如果持久化停顿时间大于1S, 则应该进行优化系统或者是调整持久化方案.

中间件监控-nginx

1. 针对nginx的流量进行监控, 突增流量需要告警. 
2. 针对nginx的返回值进行监控, 如果出现大量的404 502 等非200 代码,需要进行告警提示. 
3. 针对nginx的日志需要进行安全审查, 如果出现有目的性的进行密码嗅探爆破需要进行提示. 
4. 针对nginx后端服务的可用性进行检查, 如果后端服务大面积掉线需要告警. 
5. 针对nginx所在系统的TCP连接信息进行监控,对time_wait等数量较多的情况进行提示. 
6. 针对nginx所在系统的内存CPU资源进行监控, 避免出现CPU核心大幅度偏差抖动, 导致处理能力下降

中间件监控-消息队列

1. 消息队列的内存, 磁盘使用情况.
2. 消息的积压情况, 如果积压的消息较多, 需要告警. 
3. 消息处理能力的监控, 如果消息处理能力突然出现下降, 需要报警, 进行全链路的跟踪处理, 避免系统出现异常. 
4. 异常消息的告警,针对未及时消费的关键消息, 出现时进行告警提醒, 需要手工介入处理. 

数据库监控

1. 数据库宿主机系统监控
   同主机层监控.
2. 数据库核心信息监控
   连接数, 长时间未提交事务. 索引分裂等情况. 
3. 数据库的表信息监控
   长时间未使用的索引监控.
   失效索引告警.
   全表扫描告警.
4. 定期进行数据库巡检. 
   系统参数验证, 内核参数, 大页参数等. 
   SGA和PGA参数. 
   较大的表监控. 对是否分年/分区/冷热数据提供支撑. 

日志监控

1. 使用日志易对系统进行完整性监控
2. 针对日志易进行指标的抽取和优化.进行告警. 
3. 日志易优化处理->降噪->告警等.