更新时间:2024-10-23 GMT+08:00

自建Prometheus数据上报到AOM

在default、ECS、CCE、通用实例类型的Prometheus实例的“设置”页签,可以获取当前Prometheus实例的Remote Write地址。将原生Prometheus的指标通过Remote Write上报到AOM服务端,即可实现时序数据的长期存储。

如果已经部署并正在使用开源Prometheus,可直接进行4

前提条件

操作步骤

  1. 安装并启动Prometheus,具体操作请参见Prometheus官方文档
  2. 添加AccessCode。

    1. 登录AOM 2.0控制台。
    2. 在左侧导航栏中选择“设置”,进入全局配置界面。
    3. 在左侧导航栏选择“认证管理”,然后在右侧区域单击“创建AccessCode”。
    4. 在弹出的“创建AccessCode”对话框中单击“立即生成”,系统自动为当前用户生成AccessCode。
    • 每个项目最多可创建2个AccessCode。
    • AccessCode是调用API的身份凭据,请您妥善保管。

  3. 获取Remote Write Prometheus配置代码。

    1. 登录AOM 2.0控制台。
    2. 在左侧导航栏选择“Prometheus监控 > 实例列表”,在实例列表中单击目标Prometheus实例名称。
    3. 从“设置”页签的“服务地址”区域,获取当前Prometheus实例的Remote Write Prometheus配置代码。
      图1 Remote Write Prometheus配置代码

  4. 登录ECS,配置prometheus.yml文件。

    通过以下命令找到并启动prometheus.yml文件。

    ./prometheus --config.file=prometheus.yml

    3获取的Remote Write Prometheus配置代码添加到prometheus.yml文件末尾。

    一个完整的配置示意如下,您需要配置斜体部分:

    # my global config
    global:
    scrape_interval:     15s # Set the scrape interval to every 15 seconds. Default is every 1 minute.
    evaluation_interval: 15s # Evaluate rules every 15 seconds. The default is every 1 minute.
    # scrape_timeout is set to the global default (10s).
    
    # Alertmanager configuration
    alerting:
    alertmanagers:
      - static_configs:
      - targets:
    # - alertmanager:9093
    
    # Load rules once and periodically evaluate them according to the global 'evaluation_interval'.
    rule_files:
    # - "first_rules.yml"
    # - "second_rules.yml"
    
    # A scrape configuration containing exactly one endpoint to scrape:
    # Here it's Prometheus itself.
    scrape_configs:
    # The job name is added as a label `job=<job_name>` to any timeseries scraped from this config.
      - job_name: 'prometheus'
    
    # metrics_path defaults to '/metrics'
    # scheme defaults to 'http'.
    
    static_configs:
      - targets: ['localhost:9090']
    # 用3获取的Remote Write Prometheus配置代码替换斜体内容
    remote_write:
      - url:'https://aom-**.***.myhuaweicloud.com:8443/v1/6d6df***2ab7/58d6***c3d/push'
        tls_config:
          insecure_skip_verify: true
        bearer_token: 'SE**iH'

  5. 检查内网域名配置。

    由于上述配置中的数据上报是通过内网进行数据传输,因此需要确保您的Prometheus所在的主机能够解析内网域名,请参考配置内网DNS

  6. 重新启动Prometheus。
  7. 通过Grafana查看AOM中的指标数据,来验证上述配置修改后数据上报是否成功。