3.16. 启用 Prometheus 指标
Prometheus 是一个开源系统和服务监控和警报工具包,可用于监控独立 Apache Karaf 容器中部署的服务。Prometheus 以给定间隔收集并存储来自配置的服务的指标,评估规则表达式,显示结果,并在指定条件变为 true 时触发警报。
红帽对 Prometheus 的支持仅限于红帽产品文档中提供的设置和配置建议。
Prometheus 使用在客户端上安装和配置的"exporters"来向 Prometheus 格式公开端点。此端点是一个 HTTP 接口,它提供指标列表和指标的当前值。Prometheus 定期提取每个目标定义端点,并将收集的数据写入其数据库。Prometheus 在延长时间内收集数据,而不仅仅是针对当前运行的会话。Prometheus 存储数据,以便您可以以图形方式视觉化并在数据上运行查询。
3.16.1. 启用从独立 Apache Karaf 容器导出指标
Prometheus 使用配置文件 https://raw.githubusercontent.com/jboss-fuse/application-templates/master/prometheus/prometheus-config.yml
,其中包含 Camel 公开的指标。
您可以识别的指标仅限于 JMX 中提供的指标。
您必须部署 Fuse 应用程序才能生成 Apache Camel 指标。
流程
使用命令行从独立 Apache Karaf 容器启用 Prometheus 指标导出:
-
打开命令提示符,并确保您位于 Apache Karaf 安装的
etc/
目录中。 键入以下命令,从
etc/
目录中的示例文件创建 Prometheus 配置文件:cp prometheus-config.yml-example prometheus-config.yml
-
只有在使用
fuse
或fuse.bat
命令启动 Fuse 时,导出器才可用:在 Linux/Unix 或bin\fuse.bat
上运行bin/fuse
。 -
当 Fuse 重启时,您可以通过打开 Web 浏览器来查看公开的指标
:http://localhost:9779
(可选)您可以从命令行更改 KARAF_PROMETHEUS_PORT
和 KARAF_PROMETHEUS_CONFIG
配置变量的默认值。
3.16.2. 配置 Prometheus 服务器以从 Apache Karaf 容器中提取公开的指标
要让 Prometheus 服务器从 Apache Karaf 容器中提取指标,必须将公开指标的端点添加到 Prometheus 配置文件的 targets
属性中。
流程
-
进入 Prometheus 安装目录中的
/prometheus.yml
配置文件。 添加 Apache Karaf 端点以提取:
scrape_configs: - job_name: 'prometheus' # metrics_path defaults to '/metrics' # scheme defaults to 'http'. static_configs: - targets: ['localhost:9779']