配置 Prometheus 服务器度量转发
Prometheus 指标输出器( sap_host_exporter
和 hanadb_exporter
)被配置为从 SAP HANA 和 SAP 系统实例收集指标。 每个 Prometheus 输出程序都从 SAP 系统收集度量数据,并将这些数据输出到本地 HTTP 端口。 为每个进程使用不同的 HTTP 端口,并使用大于 9600 的端口号。
Prometheus 服务器(可从软件包 golang-github-prometheus-prometheus
获取)经配置后,可将收集到的指标从本地 HTTP 端口转发到监控摄取端点。
所有这些服务都安装为 systemd
服务,以保持永久运行。
Prometheus 服务器用于将指标转发到 IBM Cloud® 监控。 您可以在一个 prometheus.yml
文件中配置 hanadb_exporter
和 sap_host_exporter
的所有输出程序进程。
Prometheus 服务器在代理模式下执行以下功能。
- 从 HTTPS 端点收集指标。
- 将指标转发到远程端点。
使用以下步骤为 Prometheus 服务器配置度量转发。
-
如 配置 Prometheus 远程写入中所述,创建 Prometheus 配置文件。
通过定义
targets
收集所有输出程序的所有指标。该配置的模板包括以下占位符:
<ibmcloud_monitoring_instance_url>
决定 实例重写目标。IBM Cloud®<ibmcloud_monitoring_authorization_credentials>
是 监控实例的身份验证令牌。IBM Cloud®<sap_monitoring_nr>
是收集暴露指标的 系统编号。SAP
-
以 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
。 -
使用以下命令在所有 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 服务器。
-
创建并复制以下内容到
/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
-
使用以下命令激活配置,启动并启用 Prometheus 代理。
systemctl daemon-reload
sudo systemctl start prometheus@${sap_monitoring_nr}
sudo systemctl enable prometheus@${sap_monitoring_nr}
检查服务状态:
systemctl status prometheus@${sap_monitoring_nr}
-
每次更新文件中的配置后,重新启动守护进程 /etc/prometheus/<sap_monitoring_nr>.yml.
chown a+r /etc/prometheus/*
systemctl reload prometheus@${sap_monitoring_nr}
指标显示在仪表板上需要一些时间。
后续步骤
要可视化 Prometheus 服务器收集的指标,请参阅 启动监控网络用户界面并使用仪表板。