1. 监控概述

为什么要监控?

  1. 自动问题发现:通过实时监控系统,可以自动识别产品和底层架构中的问题,并通知相关人员进行处理。
  2. 及时故障管理:实时反馈系统状态,有助于迅速发现和解决问题,从而减少故障影响范围。
  3. 数据分析:监控收集的数据可以用于进一步分析和智能化处理,如用于 AI 和 Ops 等领域。
  4. 历史追溯与趋势分析:监控提供的数据可用于问题追溯、性能评估以及未来趋势分析。

怎么进行监控?

  • 使用监控工具

    • 优点:快速部署。
    • 缺点:不适用于长时间历史数据分析,缺乏可视化功能。
  • 使用监控系统

    • 优点:提供完整的工作流。
    • 缺点:可能需要复杂的部署和设置。
    • 示例:开源系统如 Zabbix、OpenFalcon、Prometheus(适合容器监控),以及各类商业产品。

监控什么?

监控对象包括硬件、系统、应用、安全、API 和业务流量。

监控对象 监控内容
硬件监控 温度、硬件故障等。
系统监控 CPU 利用率、内存使用、磁盘 IO、网络流量等。
应用监控 如 Nginx、Tomcat、MySQL、Redis 等的性能和稳定性。
日志监控 系统日志、服务日志、访问日志、错误日志等。
安全监控 WAF 检测、防止敏感文件被篡改。
API 监控 可用性、请求数量、响应时间等。
业务监控 如订单数量、注册用户数、活跃用户数等业务指标。
流量分析 用户地理位置、页面访问情况、页面停留时间等信息。

硬件监控

  • 监控 CPU、主板、硬盘、网卡等硬件的故障和温度。
    • 故障监控:及时发现硬件故障。
    • 温度监控:预防硬件过热导致故障。

系统监控

  • 监控 CPU 利用率、内存使用、磁盘 IO 等。
    • CPU 监控:评估服务器负载。
    • 内存监控:评估资源利用率。
    • 磁盘 IO 监控:评估磁盘性能。

应用监控

  • 监控并发数、响应时间、错误率等。
    • 并发数监控:评估服务器承载能力。
    • 响应时间监控:评估应用性能。
    • 错误率监控:评估应用稳定性。

日志监控

  • 监控系统日志、服务日志、访问日志、错误日志。
  • 通过日志分析异常,及时发现并处理问题。

安全监控

  • 包括 WAF 和敏感文件监控。
    • WAF:检测和阻止恶意访问。
    • 敏感文件监控:防止敏感文件被恶意代码修改和植入。

API 监控

  • 监控 API 的可用性、请求数量、请求类型、响应时间等。

业务监控

  • 监控网站订单数量、用户注册数、活跃用户数等业务指标,通过数据库分析数据,优化业务决策。

流量分析

  • 分析用户流量,获取用户分布、页面访问情况、停留时间等,优化用户体验和业务效益。

准备工作

在进行实时监控之前,需要进行如下准备:

  • 熟悉被监控对象
  • 整理监控指标
  • 定义告警阈值
  • 制定故障处理流程

Prometheus 的监控范围

  • 硬件监控:可通过第三方提供的代理进行监控。
  • 系统和应用监控:官方提供的 exporter 可以暴露系统数据,适合 Prometheus。
  • 日志、安全和业务监控:Prometheus 对此支持较弱。
  • API 监控:擅长 HTTP 服务监控。
posted @ 2024-11-07 12:29  Jacob-Chen  阅读(44)  评论(0)    收藏  举报