Prometheus + Grafana 监控系统-Prometheus 的安装部署

系列文章目录

  1. Prometheus 的安装部署
  2. Grafana的安装部署
  3. Linux服务器接入Prometheus监控-Node Exporter 安装指南
  4. Prometheus 接入SpringBoot微服务监控
  5. Mysql 接入 Prometheus
  6. RocketMQ 接入Prometheus 监控
  7. ElasticSearch 接入 Prometheus
  8. Nacos 接入 Prometheus 监控
  9. Redis 接入 Prometheus 监控系统
  10. Prometheus + Grafana 监控系统-告警规则配置
  11. Prometheus + Grafana 监控系统-PrometheusAlert安装与配置指南

简介

  • 整体架构图

  • Prometheus

    • Prometheus是一个开源的系统监控和警报工具包。它具有多维数据模型和强大的查询语言,可帮助您有效地监控应用程序和基础设施。
    • Prometheus 是由谷歌研发的一款开源的监控软件,它通过安装在远程机器上的 exporter,通过HTTP协议从远程的机器收集数据并存储在本地的时序数据库上
  • Grafana

    • Grafana是一个开源的数据可视化和监控平台,它允许您通过图表和图形直观地展示和分析监控数据。
  • 重要概念

    • Exporters
      • Exporters是用于将各种类型的监控数据导出到Prometheus的中间件。它们允许Prometheus监控不同类型的系统和服务,如数据库、操作系统等。
    • 数据源
      • 在Grafana中,数据源是指用于连接到外部数据源的配置。Prometheus作为数据源可以让Grafana获取监控数据并进行可视化展示。
    • 仪表板
      • 仪表板是Grafana中用于展示监控数据的可视化界面。它可以包含多个图表和面板,用于呈现各种监控指标和数据。
    • 警报规则
      • 警报规则用于定义在监控数据达到特定条件时应触发的警报。这些规则可以在Prometheus中定义,并集成到Grafana中进行管理和显示。

搭建指南

建议搭建配置顺序: Prometheus --> Grafana --> 各种Explorer --> 告警规则配置

下文将重点介绍 Prometheus 的搭建过程。

安装和配置 Prometheus

Prometheus Server 主要负责数据的收集,存储并且对外提供数据查询支持。

  1. 下载最新版本的Prometheus:

    sh 复制代码
    # 下载,解压
    wget https://github.com/prometheus/prometheus/releases/download/v2.53.0/prometheus-2.53.0.linux-amd64.tar.gz
    tar -xvf prometheus-*.tar.gz
    # 将Prometheus二进制文件复制到生产服务器的合适位置:
    # /usr/local/bin/prometheus
  2. 配置prometheus.

    1. 配置prometheus.yml文件,定义监控目标和规则

      yml 复制代码
      global:
        scrape_interval: 15s  # 定义全局的抓取间隔,这里设置为每15秒抓取一次数据
      
      scrape_configs:
        - job_name: 'node'  # 定义作业名称,这里以监控节点为例
          static_configs:
            - targets: ['node1:9100', 'node2:9100']  # 定义要监控的目标节点及其端口,这里假设节点1和节点2上运行了Node Exporter并监听在9100端口
          # 可以添加更多的作业,用于监控其他类型的目标,比如数据库、消息队列等
        - job_name: 'mysql'
          static_configs:
            - targets: ['mysql1:9104']  # 假设MySQL Exporter监听在9104端口
          # 可以继续添加其他作业和目标
    2. 指定数据存储位置

      在早期版本中可以在prometheus.yml中配置storage.tsdb.path,但是从Prometheus 2.0版本开始,官方更倾向于将数据存储路径作为命令行参数传递给Prometheus。,而不是在配置文件中指定。这是因为数据存储路径通常被视为运行时配置,而不是静态配置。

      您可以在启动命令中通过 --storage.tsdb.path参数来指定数据存储位置。

      sh 复制代码
      ./prometheus --config.file=prometheus.yml --storage.tsdb.path=/path/to/data
      • --storage.tsdb.path参数指定了数据存储的路径。这样的做法可以将数据存储位置与配置文件分离,使得配置文件更加清晰和易于管理。
  3. 启动Prometheus服务器:

    • 启动命令:./prometheus --config.file=prometheus.yml
    • 验证prometheus是否启动成功,prometheus默认端口为: 9090
    • 数据可视化:
      • Prometheus 自带了 Web Console, 安装成功后可以访问 http://localhost:9090/graph 页面,用它可以进行任何 PromQL 查询和调试工作,非常方便
      • Grafana : Grafana 是一套开源的分析监视平台,支持 Graphite, InfluxDB, OpenTSDB, Prometheus, Elasticsearch, CloudWatch 等数据源,其 UI 非常漂亮且高度定制化。
  4. 建议:创建 Prometheus 服务来管理,而不是直接命令行启动

    1. 创建一个systemd服务单元文件,以便Prometheus可以作为服务在后台运行。

      • 服务单元文件示例(/etc/systemd/system/prometheus.service):
      sh 复制代码
      [Unit]
      Description=Prometheus
      After=network.target
      
      [Service]
      ExecStart=/usr/local/bin/prometheus --config.file=/etc/prometheus/prometheus.yml --storage.tsdb.path=/path/to/data
      Restart=always
      
      [Install]
      WantedBy=multi-user.target
      • 如果需要修改web监听端口,则增加启动参数: --web.listen-address=":9091"
    2. 启动 Prometheus 服务

      1. 启动Prometheus服务并设置开机自启:
      • 启动服务命令:sudo systemctl start prometheus
      • 设置开机自启命令:sudo systemctl enable prometheus
    3. 查看日志

      日志位置:如果你使用systemd作为服务管理器启动Prometheus,那么日志通常会被记录到systemd的日志系统中。

      journalctl -u prometheus.service

    4. 查看所有可用的命令行参数

      ./prometheus -h

  5. 其他

    1. 配置防火墙和安全组
      1. 如果您的生产环境使用防火墙或安全组,请确保允许Prometheus的端口(默认为9090)通过防火墙或安全组。
    2. 集成各种 Exporters 和 Alertmanager
      在Prometheus的配置文件中添加各种Exporters的监控目标,并配置Alertmanager以便处理警报通知。
      如果需要动态添加或修改监控目标,通常的做法是修改prometheus.yml配置文件,然后重新加载或重启Prometheus服务。
      * 注意:在某些情况下,可以使用Prometheus的API来动态修改配置,但这需要谨慎操作,因为配置的动态修改可能会影响Prometheus的稳定性和性能。
相关推荐
xiao-xiang3 小时前
redis-集成prometheus监控(k8s)
数据库·redis·kubernetes·k8s·grafana·prometheus
陈陈CHENCHEN14 小时前
【Kubernetes】在 K8s 上部署 Prometheus
kubernetes·prometheus
计算机毕设定制辅导-无忧学长3 天前
Grafana 与 InfluxDB 可视化深度集成(二)
信息可视化·数据分析·grafana
云游3 天前
大模型性能指标的监控系统(prometheus3.5.0)和可视化工具(grafana12.1.0)基础篇
grafana·prometheus·可视化·监控
qq_232045574 天前
非容器方式安装Prometheus和Grafana,以及nginx配置访问Grafana
nginx·grafana·prometheus
测试开发Kevin4 天前
详解grafana k6 中stage的核心概念与作用
测试工具·压力测试·grafana
夜莺云原生监控4 天前
Prometheus 监控 Kubernetes Cluster 最新极简教程
容器·kubernetes·prometheus
SRETalk5 天前
Prometheus 监控 Kubernetes Cluster 最新极简教程
kubernetes·prometheus
川石课堂软件测试5 天前
JMeter并发测试与多进程测试
功能测试·jmeter·docker·容器·kubernetes·单元测试·prometheus
SRETalk6 天前
夜莺监控的几种架构模式详解
prometheus·victoriametrics·nightingale·夜莺监控