菜单
文档breadcrumb arrow Grafana Alloybreadcrumb arrow 参考breadcrumb arrow 组件breadcrumb arrow prometheusbreadcrumb arrow prometheus.exporter.elasticsearch
正式发布 (GA) 开源

prometheus.exporter.elasticsearch

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

注意

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

强烈建议您为 Alloy 配置一个单独的用户,并且只赋予其监控节点所需的严格强制性安全权限。有关更多信息,请参阅 Elasticsearch 安全权限 文档。

用法

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

参数

您可以将以下参数与 prometheus.exporter.elasticsearch 一起使用

名称类型描述默认值必需
addressstringElasticsearch 节点的 HTTP API 地址。"https://:9200"
aliasesbool包含信息性别名指标。
allbool导出集群中所有节点的统计信息。如果使用,此标志将覆盖 node 标志。
castring包含 ElasticSearch 连接的可信证书颁发机构的 PEM 文件路径。
client_certstring包含用于连接 ElasticSearch 的私钥的对应证书的 PEM 文件路径。
client_private_keystring包含连接 ElasticSearch 时用于客户端认证的私钥的 PEM 文件路径。
cluster_settingsbool导出集群设置的统计信息。
clusterinfo_interval持续时间集群标签的集群信息更新间隔。"5m"
data_streambool导出数据流的统计信息。
indices_settingsbool导出集群所有索引设置的统计信息。
indicesbool导出集群中索引的统计信息。
nodestring应暴露指标的节点名称
shardsbool导出集群中分片的统计信息(隐含索引)。
slmbool导出 SLM (Snapshot Lifecycle Management) 的统计信息。
snapshotsbool导出集群快照的统计信息。
ssl_skip_verifybool连接到 Elasticsearch 时跳过 SSL 验证。
timeout持续时间尝试从 Elasticsearch 获取统计信息的超时时间。"5s"

您可以将以下块与 prometheus.exporter.elasticsearch 一起使用

描述必需
basic_auth配置 basic_auth 以对端点进行身份验证。

basic_auth

名称类型描述默认值必需
password_filestring包含基本身份验证密码的文件。
passwordsecret基本身份验证密码。
usernamestring基本身份验证用户名。

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

导出的字段

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

名称类型描述
targetslist(map(string))可用于收集导出器指标的目标。

例如,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://: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>:用于认证 remote_write API 的用户名。
  • <PASSWORD>:用于认证 remote_write API 的密码。

兼容组件

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

注意

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