跳转至

etcd


·


etcd 采集器可以从 etcd 实例中采取很多指标,比如etcd服务器状态和网络的状态等多种指标,并将指标采集到 DataFlux ,帮助你监控分析 etcd 各种异常情况

前置条件

  • etcd 版本 >=3

  • 开启etcd,默认的metrics接口是http://localhost:2379/metrics,也可以自己去配置文件中修改。

配置

进入 DataKit 安装目录下的 conf.d/etcd 目录,复制 etcd.conf.sample 并命名为 etcd.conf。示例如下:

[[inputs.prom]]
  ## Exporter地址或者文件路径(Exporter地址要加上网络协议http或者https)
  ## 文件路径各个操作系统下不同
  ## Windows example: C:\\Users
  ## UNIX-like example: /usr/local/
  url = "http://127.0.0.1:2379/metrics"

    ## 采集器别名
    source = "etcd"

  ## 指标类型过滤, 可选值为 counter, gauge, histogram, summary
  # 默认只采集 counter 和 gauge 类型的指标
  # 如果为空,则不进行过滤
  metric_types = ["counter", "gauge"]

  ## 指标名称过滤
  # 支持正则,可以配置多个,即满足其中之一即可
  # 如果为空,则不进行过滤
  metric_name_filter = ["etcd_server_proposals","etcd_server_leader","etcd_server_has","etcd_network_client"]

  ## 指标集名称前缀
  # 配置此项,可以给指标集名称添加前缀
  measurement_prefix = ""

  ## 指标集名称
  # 默认会将指标名称以下划线"_"进行切割,切割后的第一个字段作为指标集名称,剩下字段作为当前指标名称
  # 如果配置measurement_name, 则不进行指标名称的切割
  # 最终的指标集名称会添加上measurement_prefix前缀
  # measurement_name = "prom"

  ## 采集间隔 "ns", "us" (or "µs"), "ms", "s", "m", "h"
  interval = "10s"

  ## 过滤tags, 可配置多个tag
  # 匹配的tag将被忽略
  # tags_ignore = ["xxxx"]

  ## TLS 配置
  tls_open = false
  # tls_ca = "/tmp/ca.crt"
  # tls_cert = "/tmp/peer.crt"
  # tls_key = "/tmp/peer.key"

  ## 自定义指标集名称
  # 可以将包含前缀prefix的指标归为一类指标集
  # 自定义指标集名称配置优先measurement_name配置项
  [[inputs.prom.measurements]]
    prefix = "etcd_"
    name = "etcd"

  ## 自定义认证方式,目前仅支持 Bearer Token
  # [inputs.prom.auth]
  # type = "bearer_token"
  # token = "xxxxxxxx"
  # token_file = "/tmp/token"

  ## 自定义Tags

配置好后,重启 DataKit 即可。

目前可以通过 ConfigMap 方式注入采集器配置来开启采集器。

指标集

etcd_network

  • 标签
标签名 描述
host 主机名称
  • 指标列表
指标 描述 数据类型 单位
network_client_grpc_received_bytes_total 接收到 grpc 客户端的总字节数 int count
network_client_grpc_sent_bytes_total 发送到 grpc 客户端的总字节数 int count

etcd_server

  • 标签
标签名 描述
host 主机名称
server_has_leader 领导者是否存在。1是存在。0是不存在
  • 指标列表
指标 描述 数据类型 单位
server_leader_changes_seen_total 解释到的领导者变更次数 int count
server_proposals_applied_total 已应用的共识提案总数 int count
server_proposals_committed_total 提交的共识提案总数 int count
server_proposals_failed_total 看到的失败提案总数 int count
server_proposals_pending 当前待处理提案的数量 int count