菜单
文档breadcrumb arrow Grafana Alloybreadcrumb arrow 参考breadcrumb arrow 组件breadcrumb arrow prometheusbreadcrumb arrow prometheus.exporter.elasticsearch
开源

prometheus.exporter.elasticsearch (Prometheus 导出器.Elasticsearch)

prometheus.exporter.elasticsearch 组件嵌入了 elasticsearch_exporter,用于从 ElasticSearch 服务器收集指标。

注意

目前,Alloy 只能从单个 ElasticSearch 服务器收集指标。但是,exporter 可以通过配置的服务器从所有节点收集指标。

我们强烈建议您为 Alloy 配置单独的用户,并按照官方文档中的说明,仅授予其监控节点所需的最低安全权限。

用法

alloy
prometheus.exporter.elasticsearch "LABEL" {
    address = "ELASTICSEARCH_ADDRESS"
}

参数

您可以使用以下参数来配置 exporter 的行为。省略的字段将采用其默认值。

名称类型描述默认值必需
address (地址)string (字符串)Elasticsearch 节点的 HTTP API 地址。"https://127.0.0.1:9200"
timeout (超时)duration (持续时间)尝试从 Elasticsearch 获取统计信息的超时时间。"5s"
all (全部)bool (布尔值)导出集群中所有节点的统计信息。如果使用,此标志将覆盖标志 node
node (节点)string (字符串)应公开其指标的节点的名称
indices (索引)bool (布尔值)导出集群中索引的统计信息。
indices_settings (索引设置)bool (布尔值)导出集群中所有索引的设置统计信息。
cluster_settings (集群设置)bool (布尔值)导出集群设置的统计信息。
shards (分片)bool (布尔值)导出集群中分片的统计信息(暗示包含索引)。
snapshots (快照)bool (布尔值)导出集群快照的统计信息。
clusterinfo_interval (集群信息间隔)duration (持续时间)用于集群标签的集群信息更新间隔。"5m"
ca (CA 证书)string (字符串)包含用于 Elasticsearch 连接的受信任证书颁发机构的 PEM 文件路径。
client_private_key (客户端私钥)string (字符串)包含用于连接到 Elasticsearch 时进行客户端身份验证的私钥的 PEM 文件路径。
client_cert (客户端证书)string (字符串)包含与私钥对应的证书以连接到 Elasticsearch 的 PEM 文件路径。
ssl_skip_verify (跳过 SSL 验证)bool (布尔值)连接到 Elasticsearch 时跳过 SSL 验证。
aliases (别名)bool (布尔值)包含信息性别名指标。
data_stream (数据流)bool (布尔值)导出数据流的统计信息。
slm (SLM)bool (布尔值)导出 SLM(快照生命周期管理)的统计信息。

prometheus.exporter.elasticsearch 的定义中支持以下块

层级结构描述必需
basic_auth (基本身份验证)basic_auth (基本身份验证)配置用于向端点进行身份验证的 basic_auth。

basic_auth 块

名称类型描述默认值必需
password_file (密码文件)string (字符串)包含基本身份验证密码的文件。
password (密码)secret (密钥)基本身份验证密码。
username (用户名)string (字符串)基本身份验证用户名。

passwordpassword_file 是互斥的,在 basic_auth 块内只能提供一个。

导出的字段

以下字段被导出,可以被其他组件引用。

名称类型描述
targets (目标)list(map(string)) (字符串列表映射)可用于收集 exporter 指标的目标。

例如,targets 可以传递给 discovery.relabel 组件以重写目标的标签集,也可以传递给 prometheus.scrape 组件以收集公开的指标。

导出的目标使用由 run 命令指定的内存流量地址。

组件健康状况

仅当 prometheus.exporter.elasticsearch 配置无效时,才会被报告为不健康。在这些情况下,导出的字段将保留其最后一次健康的值。

调试信息

prometheus.exporter.elasticsearch 不公开任何组件特定的调试信息。

调试指标

prometheus.exporter.elasticsearch 不公开任何组件特定的调试指标。

示例

此示例使用 prometheus.scrape 组件prometheus.exporter.elasticsearch 收集指标

alloy
prometheus.exporter.elasticsearch "example" {
  address = "https://127.0.0.1:9200"
  basic_auth {
    username = USERNAME
    password = PASSWORD
  }
}

// Configure a prometheus.scrape component to collect Elasticsearch metrics.
prometheus.scrape "demo" {
  targets    = prometheus.exporter.elasticsearch.example.targets
  forward_to = [prometheus.remote_write.demo.receiver]
}

prometheus.remote_write "demo" {
  endpoint {
    url = PROMETHEUS_REMOTE_WRITE_URL

    basic_auth {
      username = USERNAME
      password = PASSWORD
    }
  }
}

替换以下内容

  • PROMETHEUS_REMOTE_WRITE_URL:Prometheus remote_write 兼容服务器的 URL,用于发送指标。
  • USERNAME:用于远程写入 API 身份验证的用户名。
  • PASSWORD:用于远程写入 API 身份验证的密码。

兼容组件

prometheus.exporter.elasticsearch 具有可以被以下组件使用的导出

注意

连接某些组件可能不合理,或者组件可能需要进一步配置才能使连接正常工作。有关更多详细信息,请参阅链接的文档。