IBM Cloud Docs
配置 Prometheus 服务器度量转发

配置 Prometheus 服务器度量转发

Prometheus 指标输出器( sap_host_exporterhanadb_exporter )被配置为从 SAP HANA 和 SAP 系统实例收集指标。 每个 Prometheus 输出程序都从 SAP 系统收集度量数据,并将这些数据输出到本地 HTTP 端口。 为每个进程使用不同的 HTTP 端口,并使用大于 9600 的端口号。

Prometheus 服务器(可从软件包 golang-github-prometheus-prometheus 获取)经配置后,可将收集到的指标从本地 HTTP 端口转发到监控摄取端点。

所有这些服务都安装为 systemd 服务,以保持永久运行。

Prometheus 服务器用于将指标转发到 IBM Cloud® 监控。 您可以在一个 prometheus.yml 文件中配置 hanadb_exportersap_host_exporter 的所有输出程序进程。

Prometheus 服务器在代理模式下执行以下功能。

  • 从 HTTPS 端点收集指标。
  • 将指标转发到远程端点。

使用以下步骤为 Prometheus 服务器配置度量转发。

  1. 配置 Prometheus 远程写入中所述,创建 Prometheus 配置文件。

    通过定义 targets 收集所有输出程序的所有指标。

    该配置的模板包括以下占位符:

    • <ibmcloud_monitoring_instance_url> 决定 实例重写目标。IBM Cloud®
    • <ibmcloud_monitoring_authorization_credentials> 是 监控实例的身份验证令牌。IBM Cloud®
    • <sap_monitoring_nr> 是收集暴露指标的 系统编号。SAP
  2. 以 Prometheus 用户身份运行以下命令创建配置文件,文件名为 /etc/prometheus/<sap_monitoring_nr>.yml

    global:
      scrape_interval: 15s
      evaluation_interval: 20s
    remote_write:
      - url: "<ibmcloud_monitoring_instance_url>"
        authorization:
          credentials: "<ibmcloud_monitoring_authorization_credentials>"
        write_relabel_configs:
          - target_label: instance
            replacement: 'SAP-<sap_monitoring_nr>-<sap_monitoring_solution_name>'
    scrape_configs:
      - job_name: "hanadb_exporter"
        static_configs:
          - targets: ['localhost:5<sap_monitoring_nr>02']
        relabel_configs:
          - target_label: domain
            replacement: 'SAP'
      - job_name: "sap_host_exporter"
        static_configs:
          - targets: ['localhost:5<sap_monitoring_nr>03','localhost:5<sap_monitoring_nr>04','localhost:5<sap_monitoring_nr>05']
          # 05 – n: as many as existing SAP Application server
        relabel_configs:
          - target_label: domain
            replacement: 'SAP'
    

    请勿更改 Prometheus 配置文件名的语法:/etc/prometheus/<sap_monitoring_nr>.yml

  3. 使用以下命令在所有 Prometheus 配置文件中强制执行 Prometheus 用户权限。

    sudo chown -R prometheus:prometheus /etc/prometheus
    
    sudo chmod 0740 /etc/prometheus
    
    sudo chmod 0640 /etc/prometheus/*
    

    手动测试 Prometheus 守护进程。

    sudo -H -u prometheus /usr/bin/prometheus \
    --config.file=/etc/prometheus/${sap_monitoring_nr}.yml \
    --storage.agent.path=/opt/prometheus/${sap_monitoring_nr} \
    --enable-feature=agent --web.listen-address=localhost:5${sap_monitoring_nr}01
    

以根用户身份,通过以下步骤设置 systemd 服务参数,以便以代理模式运行 Prometheus 服务器。

  1. 创建并复制以下内容到 /etc/systemd/system/prometheus@.service 文件。

    [Unit]
    Description=Prometheus
    After=network.target
    [Service]
    User=prometheus
    Group=prometheus
    Type=simple
    Restart=always
    ExecStart=/usr/bin/prometheus --config.file=/etc/prometheus/%i.yml \
    --storage.agent.path=/opt/prometheus/%i --enable-feature=agent \
    --web.listen-address=localhost:5%i01
    ExecReload=/bin/kill -HUP $MAINPID
    TimeoutStopSec=20s
    SendSIGKILL=no
    [Install]
    WantedBy=multi-user.target
    
  2. 使用以下命令激活配置,启动并启用 Prometheus 代理。

    systemctl daemon-reload
    
    sudo systemctl start prometheus@${sap_monitoring_nr}
    
    sudo systemctl enable prometheus@${sap_monitoring_nr}
    

    检查服务状态:

    systemctl status prometheus@${sap_monitoring_nr}
    
  3. 每次更新文件中的配置后,重新启动守护进程 /etc/prometheus/<sap_monitoring_nr>.yml.

    chown a+r /etc/prometheus/*
    
    systemctl reload prometheus@${sap_monitoring_nr}
    

指标显示在仪表板上需要一些时间。

后续步骤

要可视化 Prometheus 服务器收集的指标,请参阅 启动监控网络用户界面并使用仪表板