将Prometheus的数据上报到AOM
如果您已经部署并正在使用开源prometheus,可直接进行步骤三。
本章主要介绍通过部署Prometheus将AccessCode配置到Prometheus的配置文件并使之生效。
前提条件
已购买弹性云服务器ECS。
操作步骤
- 安装并启动Prometheus,具体操作请参见Prometheus官方文档。
- 添加AccessCode。
- 登录AOM控制台,在左侧导航栏中选择“配置管理 > 接入管理”。
- 单击“添加AccessCode”。
图1 添加AccessCode
- 每个项目最多可创建2个AccessCode。
- AccessCode是调用API的身份凭据,请您妥善保管。
- 在弹出的窗口,单击“确定”,添加AccessCode。
- 添加成功后,单击即可查看AccessCode。也可单击“删除”,删除AccessCode(删除后无法恢复,请谨慎操作)。
图2 查看AccessCode
- 登录ECS,找到prometheus的配置文件。
示例:如果通过以下命令启动
./prometheus --config.file=prometheus.yml
则找到prometheus.yml并将以下配置添加到末尾:
-
remote_write: - url: 'https://aom-internal-access.{region_name}.{Site domain name suffix}:8443/v1/{project_id}/push' tls_config: insecure_skip_verify: true bearer_token: '{access_code}'
参数说明:一个完整的配置示意如下,您需要配置斜体部分:
# 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'] remote_write: - url: 'https://aom-internal-access.{region_name}.{Site domain name suffix}:8443/v1/{project_id}/push' tls_config: insecure_skip_verify: true bearer_token: 'fVkvjOqghcIARvZZEEWhwSwxesmKz5Efsx9vxZSNGCXEffcjPxxxxxx'
-
- 检查内网域名配置
由于上述配置中的数据上报是通过内网进行数据传输,因此需要确保您的Prometheus所在的主机能够解析内网域名,请参考配置内网DNS。
- 重新启动Prometheus。
- 可通过通过grafana查看AOM中的指标数据中grafana查询指标数据的方法,来验证上述配置修改后数据上报是否成功。