Skip to content

搭建服务端性能监控系统Prometheus

搭建服务端性能监控系统 Prometheus

简介

Prometheus 是一套开源的系统监控和报警框架,它受启发于 GoogleBrogmon 监控系统。凭借其高性能、可扩展性和灵活性等特点,在各种监控场景中都能发挥出色的作用,帮助用户更好地管理和维护他们的系统和应用。

应用场景

  1. 云原生和容器化环境监控Prometheus 作为云原生计算基金会(CNCF)的一部分,与 Kubernetes 等容器编排系统有着天然的集成优势。它可以轻松监控容器集群中的各个组件,如 PodsServicesNodes,确保容器化应用的性能和可用性。

  2. 微服务架构监控: 在微服务架构中,服务数量众多且分布广泛,Prometheus 通过其强大的多维数据模型和灵活的查询语言,能够轻松地对这些服务进行监控和告警。它可以帮助开发人员和运维人员快速定位性能瓶颈和故障点,提升系统的稳定性和可靠性。

  3. 基础设施监控Prometheus 可以监控各种基础设施组件,如服务器、数据库、网络设备等。它可以收集这些组件的性能指标,如 CPU 使用率、内存占用、磁盘空间等,并提供可视化的界面,帮助运维人员快速了解系统状态并进行相应的优化。

  4. 业务应用监控: 除了基础设施外,Prometheus 还可以监控业务应用的关键指标,如请求响应时间、吞吐量、错误率等。通过实时收集和分析这些指标,可以帮助业务团队及时发现潜在的问题并进行调整,确保应用的良好运行。

  5. 告警和通知Prometheus 内置了告警功能,可以根据用户定义的规则触发告警,并通过多种方式通知相关人员。这有助于及时发现并处理系统中的异常情况,避免潜在的风险和损失。

  6. 混合云和多云环境监控: 在混合云或多云环境中,Prometheus 可以通过Exporter和集成工具来收集不同云平台上的资源监控数据,提供统一的监控视图。这使得跨云平台的监控和管理变得更加简单和高效。

  7. 自定义监控需求Prometheus 提供了丰富的 Exporter 组件和 API 接口,用户可以根据实际需求定制监控方案。无论是监控特定的应用程序、中间件还是其他自定义指标,Prometheus 都能提供灵活的支持。

如何搭建 Prometheus 服务

  1. 拉取Prometheus镜像 docker pull prom/Prometheus

  2. 创建一个Prometheus.yml配置文件

global:
  scrape_interval:60s
  evaluation_interval: 60s

scrape_configs:
  - job_name: 'Prometheus'
    static_configs:
      - targets: ['localhost:9090']
        labels:
          instance: 'Prometheus'

  - job_name: linux
    static_configs:
      - targets: ['IP地址:9100']
        labels:
          instance: localhost

    #此处的ip地址是后面创建node_exporter容器的容器ip地址
    #查看容器ip的命令为docker network inspect bridge
3. 创建Prometheus容器

docker run -d --name Prometheus -p 9090:9090 -v <local folder>:/etc/Prometheus prom/Prometheus
4. 检验容器是否创建成功,且在运行

  • 通过命令sudo docker ps检测容器是否在运行
  • 打开虚拟机上的浏览器,输入localhost:9090来查看是否存在数据

alt text

总结

  • 简介
  • 应用场景
  • 如何搭建 Prometheus 服务