跳转至

⛑️ Prometheus 配置指南

📝 概述

完成Prometheus服务器安装后,您可通过查看 install-info.txt 获取以下信息

  • Grafana仪表板访问URL
  • Prometheus服务端URL
  • 默认管理员账号密码

安装脚本会自动将EdgeHit Controller添加为监控目标,需使用专用脚本将Load Proxy节点加入监控列表。


Prometheus服务器上的重要文件

  • /usr/local/edgehit/prometheus/install-info.txt 包含 Grafana 仪表板 URL默认管理员账号
  • /usr/local/edgehit/prometheus/bin/edge-target.sh 用于添加管理监控目标的脚本

注意

Node-Exporter组件已预装在EdgeHit Controller和Load Proxy节点,采用HTTP PSK基础认证



🔧 添加Load Proxy监控目标

通过==/usr/local/edgehit/prometheus/bin/edge-targets.sh==脚本管理监控目标,此脚本的:

脚本使用方法

bash ./edge-targets.sh <命令> [参数]

命令 参数 描述
add IP 或域名 将负载代理目标添加到 Prometheus 配置中。
remove IP 或域名 从 Prometheus 配置中移除负载代理目标。
list (无) 列出 Prometheus 配置中的所有目标。
help (无) 显示帮助信息。

注意

上述脚本会从 Prometheus 服务器的 .env 文件中读取 EDGE_HTTP_AUTH_PASS 值,请确保该值与负载代理实例中的值一致。



✂️ 添加 LoadUP 作为监控目标

注意

如果您在 LoadUP-CP 和 LoadUP-Worker 中定义的 EDGE_HTTP_AUTH_PASS 值与Load Proxy相同,可以直接使用上述步骤配置 LoadUP 作为监控目标。否则,您需要按照以下步骤手动添加 Prometheus 监控目标。

由于 LoadUP-CP 和 LoadUP-Worker 的 EDGE_HTTP_AUTH_PASS 未在 Prometheus 服务器中定义,您需要手动配置 prometheus.yml 文件。

Prometheus 进程运行在 Docker 容器中,其配置文件挂载在 /usr/local/edgehit/prometheus/storage/conf/prometheus/ 目录下,因此您可以直接在 Prometheus 服务器上编辑该文件。

  1. 请记录以下关键值:

    • LoadUP-CP 中的 LOADUP_HTTP_AUTH_PASS
    • LoadUP-Worker 中的 loadup_worker_http_auth_pass
      您可以使用以下命令查询:
    在 LoadUP-CP 上执行
        grep '^LOADUP_HTTP_AUTH_PASS=' /usr/local/loadup/loadup-cp/.env
    

    在 LoadUP-Worker 上执行
        grep '^Loadup_worker_http_auth_pass=' /usr/local/loadup/loadup-worker/.env
    

  2. 在Prometheus服务器上,编辑文件 /usr/local/edgehit/prometheus/storage/conf/prometheus/prometheus.yml,并在 scrape_configs 部分下添加以下内容。

    在 prometheus.yml
        - job_name: LoadUP-CP
            scheme: https
            basic_auth:
            username: 'admin'
            password: '<LOADUP_HTTP_AUTH_PASS>'
            tls_config:
            insecure_skip_verify: true
            static_configs:
            - targets:
                - '<LoadUP-CP Domain>:9200/metrics'
    
        - job_name: LoadUP-Worker
            scheme: https
            basic_auth:
            username: 'admin'
            password: '<Loadup_worker_http_auth_pass>'
            tls_config:
            insecure_skip_verify: true
            static_configs:
            - targets:
                - '<LoadUP-Worker Domain>:9200/metrics'
    

    注意

    您也可以通过编辑 .env 文件中的值并重启 Docker Compose 堆栈,为 CP(控制平面) 和 Worker(工作节点) 定义相同的键值。这样,您可以将它们整合到同一个 Job 下,使配置更加整洁。



🔨 添加仪表盘到 Grafana

Grafana 服务器默认安装时不包含任何控制面板,因此您可以根据自己的需求选择合适的控制面板。以下是一个配置 Grafana 的示例方法。

  1. 使用存储在 install-info.txt 文件中的默认用户名和密码登录 Grafana Web 控制台。
  2. 在导航栏中依次点击Home > Dashboard Pic

  3. 点击New dashboard Pic

  4. 创建自定义控制面板或通过 ID 1860 导入 node exporter-full 实例。更多信息请参考 Grafana Dashboard Pic

  5. 控制面板添加完成后,您可以在控制面板板块查看它。 Pic

    • 共有3个任务分别对应来自EdgeHit Controller、Load Proxy和Prometheus服务器的Node-Exporter指标(node任务对应负载代理节点)
    • 每个任务下通常只有1个节点名称,但node任务会显示通过==edge-targets.sh==脚本添加的所有节点名称

    任务 edgehitprometheus-node 的输出相同

    当EdgeHit Controller和Prometheus服务器部署在同一节点时,这两个任务实际上会输出相同服务器的指标,因为导出器已内置在各自安装脚本的docker镜像中