3.15. 启用 Prometheus 指标
Prometheus 是一个开源系统和服务监控工具包,可用于监控独立 Apache Karaf 容器中部署的服务。Prometheus 以给定间隔收集并存储已配置的服务的指标,评估规则表达式,显示结果,并在指定条件变为 true 时触发警报。
红帽对 Prometheus 的支持仅限于红帽产品文档中提供的设置和配置建议。
Prometheus 使用在客户端上安装和配置的 "exporters" 来公开端点到 Prometheus 格式。此端点是一个 HTTP 接口,提供指标列表和指标的当前值。Prometheus 定期提取每个目标定义的端点,并将收集的数据写入其数据库。Prometheus 在延长时间内收集数据,而不仅仅是针对当前运行的会话。Prometheus 存储数据,以便您可以以图形方式视觉化并在数据上运行查询。
3.15.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.15.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']