Prometheus 收集器指标集
编辑Prometheus 收集器指标集
编辑Prometheus collector
指标集从 Prometheus exporters 中抓取数据。
从 Prometheus exporter 中抓取数据
编辑要从 Prometheus exporter 中抓取指标,请将 hosts
字段配置为指向它。可以使用 metrics_path
配置从哪个路径检索指标(默认为 /metrics
)。
- module: prometheus period: 10s hosts: ["node:9100"] metrics_path: /metrics #username: "user" #password: "secret" # This can be used for service account based authorization: #bearer_token_file: /var/run/secrets/kubernetes.io/serviceaccount/token #ssl.certificate_authorities: # - /var/run/secrets/kubernetes.io/serviceaccount/service-ca.crt
直方图和类型
编辑此功能处于 Beta 版,可能会发生更改。其设计和代码不如官方 GA 功能成熟,并且按原样提供,不提供任何担保。Beta 版功能不受官方 GA 功能的支持 SLA 约束。
metricbeat.modules: - module: prometheus period: 10s hosts: ["localhost:9090"] use_types: true rate_counters: false
use_types
参数(默认值:false)启用指标存储的不同布局,利用 Elasticsearch 类型,包括直方图。
rate_counters
参数(默认值:false)启用从 Prometheus 计数器计算速率。启用后,Metricbeat 存储自上次收集以来的计数器增量。此指标应使一些聚合更容易且性能更好。此参数只能与 use_types
组合启用。
当 use_types
和 rate_counters
启用时,指标将按如下方式存储
{ "prometheus": { "labels": { "instance": "172.27.0.2:9090", "job": "prometheus" }, "prometheus_target_interval_length_seconds_count": { "counter": 1, "rate": 0 }, "prometheus_target_interval_length_seconds_sum": { "counter": 15.000401344, "rate": 0 } "prometheus_tsdb_compaction_chunk_range_seconds_bucket": { "histogram": { "values": [50, 300, 1000, 4000, 16000], "counts": [10, 2, 34, 7] } } }, }
从 Prometheus 服务器抓取所有指标
编辑根据您的规模,此方法可能不适合。我们建议为此使用 remote_write 指标集,并让 Prometheus 将指标推送到 Metricbeat。
此模块可以通过使用 联合 API 抓取存储在 Prometheus 服务器中的所有指标。通过将此配置指向 Prometheus 服务器
metricbeat.modules: - module: prometheus period: 10s hosts: ["localhost:9090"] metrics_path: '/federate' query: 'match[]': '{__name__!=""}'
联合 API 将所有指标作为无类型返回,因此即使启用 use_types
和 rate_counters
参数,也不会从 Prometheus 计数器中计算速率指标。要获取计算的速率指标,应使用 remote_write 指标集。
过滤指标
编辑为了过滤掉/包含指标,可以使用 metrics_filters.include
metrics_filters.exclude
设置
- module: prometheus period: 10s hosts: ["localhost:9090"] metrics_path: /metrics metrics_filters: include: ["node_filesystem_*"] exclude: ["node_filesystem_device_*"]
上面的配置将仅包含与 node_filesystem_*
模式匹配且不与 node_filesystem_device_*
匹配的指标。
要仅保留特定指标,请锚定每个指标的正则表达式的开头和结尾
- 脱字符号
^
匹配文本或行的开头, - 美元符号
$
匹配文本的结尾。
- module: prometheus period: 10s hosts: ["localhost:9090"] metrics_path: /metrics metrics_filters: include: ["^node_network_net_dev_group$", "^node_network_up$"]
这是一个默认指标集。如果主机模块未配置,则默认启用此指标集。
有关指标集中每个字段的描述,请参阅导出的字段部分。
这是此指标集生成的示例文档
{ "@timestamp": "2019-03-01T08:05:34.853Z", "event": { "dataset": "prometheus.collector", "duration": 115000, "module": "prometheus" }, "metrics_count": 2, "metricset": { "name": "collector", "period": 10000 }, "prometheus": { "labels": { "job": "prometheus", "listener_name": "http" }, "metrics": { "net_conntrack_listener_conn_accepted_total": 3, "net_conntrack_listener_conn_closed_total": 0 } }, "service": { "address": "127.0.0.1:55555", "type": "prometheus" } }