为什么要监控?
随着互联网技术的不断发展,系统的规模和复杂度也在不断增加。要想保证系统的稳定性和可靠性,必须对系统的各个组件进行监控。监控可以发现潜在的问题,及时预警,避免系统故障的发生,保障系统的可用性和安全性。同时,监控可以帮助我们更好地理解系统的运行情况,为系统的优化和升级提供数据支持。
监控解决了哪些问题?
监控可以解决以下问题:
- 系统故障:通过监控系统的运行状态和日志,可以提前发现潜在的故障,及时进行处理,避免系统崩溃或数据丢失。
- 系统性能:通过监控系统的各种指标,可以了解系统的性能瓶颈,及时进行优化,提高系统的吞吐量和响应速度。
- 安全问题:通过监控系统的访问日志和安全事件,可以发现潜在的安全问题,及时进行处理,保障系统的安全性。
监控维度
监控分为三个层次,每个层次包含四个监控维度:
1. 硬件(机器层面)
- 监控 CPU 负载,当负载高于 80% 时触发告警
- 监控内存使用率,当内存使用率高于 90% 时触发告警
- 监控磁盘容量,当磁盘可用空间小于 10GB 时触发告警
- 监控网络流量,当网络流量超过预设阈值时触发告警
2. 系统(服务集群运行状况)
- 监控集群资源使用率,当资源使用率高于预设阈值时触发告警
- 监控集群节点状态,当节点状态异常时触发告警
- 监控容器运行状态,当容器运行状态异常时触发告警
- 监控进程运行状态,当进程运行状态异常时触发告警
3. 业务(接口返回状态)
- 监控接口错误率,当错误率高于预设阈值时触发告警
- 监控接口访问量,当访问量超过预设阈值时触发告警
- 监控接口延时,当接口响应时间超过预设阈值时触发告警
- 监控接口返回码,当返回码异常时触发告警
以上是监控的三个层次和每个层次的四个监控维度,通过对这些维度的监控,可以全面了解系统的运行情况,及时发现潜在问题,保障系统的稳定性和可靠性。
参考:
- https://github.com/samber/awesome-prometheus-alerts
- https://samber.github.io/awesome-prometheus-alerts/