etcd 集成

编辑

版本

1.3.0 (查看全部)

兼容的 Kibana 版本

8.13.0 或更高版本

支持的 Serverless 项目类型
这是什么?

安全
可观测性

订阅级别
这是什么?

基本

支持级别
这是什么?

Elastic

此集成用于从 etcd v2 和 v3 实例 收集指标。

它定期从 etcd 指标 API 获取指标。

数据流

编辑

对于 etcd v2,指标通过 etcd v2 API 收集,而对于 v3,则从 /metrics 端点获取。

当使用 v3 时,数据集捆绑在 metrics 数据流中,而对于 v2,可用的数据集包括 leaderselfstore

etcd API 端点

  • /v2/stats/leader:此端点提供与当前领导状态相关的指标。由 leader 数据流使用。
  • /v2/stats/self:此端点公开的指标侧重于当前节点的状态和性能。由 self 数据流使用。
  • /v2/stats/store:此端点提供与数据存储层相关的指标,包括数据大小、读/写操作和存储效率。由 store 数据流使用。
  • /metrics (v3 API):与更具体的端点不同,此端点提供系统各个方面的全面指标集。由 metrics 数据流使用。

etcd v2 API 默认未启用。但是,当使用 etcd v3 及更高版本时,可以通过使用 --enable-v2 标志来启用 etcd v2 API,前提是它受支持。

兼容性

编辑

etcd 包已使用 etcd 3.5.x 进行测试。

要求

编辑

您需要 Elasticsearch 来存储和搜索您的数据,以及 Kibana 来可视化和管理它。您可以使用我们托管在 Elastic Cloud 上的 Elasticsearch 服务(推荐),或者在您自己的硬件上自行管理 Elastic Stack。

为了从 etcd 摄取数据,您必须知道实例主机。

主机配置格式: http[s]://host:port

主机配置示例: https://127.0.0.1:2379

指标参考

编辑

metrics

编辑

这是 etcd 包的 metrics 数据集,负责从 etcd v3 实例检索通用指标。

示例

metrics 的示例事件如下所示

{
    "@timestamp": "2023-11-30T11:12:42.472Z",
    "agent": {
        "ephemeral_id": "422daded-456e-40fe-bd1f-a2913d37b309",
        "id": "a4b14fa0-9721-4a94-8b4b-bebf87bd1ba4",
        "name": "docker-fleet-agent",
        "type": "metricbeat",
        "version": "8.12.0"
    },
    "data_stream": {
        "dataset": "etcd.metrics",
        "namespace": "ep",
        "type": "metrics"
    },
    "ecs": {
        "version": "8.11.0"
    },
    "elastic_agent": {
        "id": "a4b14fa0-9721-4a94-8b4b-bebf87bd1ba4",
        "snapshot": true,
        "version": "8.12.0"
    },
    "etcd": {
        "labels": {
            "fingerprint": "oB5wpx/JWEU93sgnFX12WX4GmEk=",
            "grpc_code": "Aborted",
            "grpc_method": "Authenticate",
            "grpc_service": "etcdserverpb.Auth",
            "grpc_type": "unary",
            "instance": "elastic-package-service-etcd-1:2379",
            "job": "prometheus"
        },
        "server": {
            "grpc_handled": {
                "count": 0
            }
        }
    },
    "event": {
        "agent_id_status": "verified",
        "dataset": "etcd.metrics",
        "duration": 15662716,
        "ingested": "2023-11-30T11:12:52Z",
        "module": "etcd"
    },
    "host": {
        "architecture": "x86_64",
        "containerized": true,
        "hostname": "docker-fleet-agent",
        "id": "d03b51e638e64b05b5cf16c41d2058c0",
        "ip": [
            "172.18.0.7"
        ],
        "mac": [
            "02-42-AC-12-00-07"
        ],
        "name": "docker-fleet-agent",
        "os": {
            "codename": "focal",
            "family": "debian",
            "kernel": "5.10.102.1-microsoft-standard-WSL2",
            "name": "Ubuntu",
            "platform": "ubuntu",
            "type": "linux",
            "version": "20.04.6 LTS (Focal Fossa)"
        }
    },
    "metricset": {
        "name": "collector",
        "period": 10000
    },
    "service": {
        "address": "http://elastic-package-service-etcd-1:2379/metrics",
        "type": "prometheus"
    }
}

ECS 字段参考

有关 ECS 字段的详细信息,请参阅以下文档

导出的字段
字段 描述 类型 单位 指标类型

@timestamp

事件时间戳。

日期

agent.id

此代理的唯一标识符(如果存在)。例如:对于 Beats,这将是 beat.id。

关键字

cloud.account.id

用于在多租户环境中识别不同实体的云帐户或组织 ID。例如:AWS 帐户 ID、Google Cloud ORG ID 或其他唯一标识符。

关键字

cloud.availability_zone

此主机、资源或服务所在的可用区。

关键字

cloud.instance.id

主机机器的实例 ID。

关键字

cloud.provider

云提供商的名称。示例值包括 aws、azure、gcp 或 digitalocean。

关键字

cloud.region

此主机、资源或服务所在的区域。

关键字

container.id

唯一的容器 ID。

关键字

data_stream.dataset

数据流数据集。

constant_keyword

data_stream.namespace

数据流命名空间。

constant_keyword

data_stream.type

数据流类型。

constant_keyword

etcd.disk.backend_commit_duration_seconds.histogram

将后端更改写入磁盘的延迟

直方图

etcd.disk.mvcc_db_total_size.bytes

MVCC 中存储的数据大小

长整型

字节

计量

etcd.disk.wal_fsync_duration_seconds.histogram

将预写日志写入磁盘的延迟

直方图

etcd.labels.*

etcd 标签。

关键字

etcd.labels.fingerprint

etcd 标签的唯一指纹。

关键字

etcd.memory.go_memstats_alloc.bytes

截至 MemStats Go 的当前分配字节数

长整型

字节

计量

etcd.memory.go_memstats_alloc.total.bytes

截至 MemStats Go 的总分配字节数,包括释放的内存

长整型

字节

计数器

etcd.network.client_grpc_received.bytes

gRPC 接收的总字节数

长整型

字节

计数器

etcd.network.client_grpc_sent.bytes

gRPC 发送的总字节数

长整型

字节

计数器

etcd.network.peer_received_bytes_total

从对等方接收的字节总数。

长整型

字节

计数器

etcd.network.peer_received_failures_total

从对等方接收的失败总数。

长整型

计数器

etcd.network.peer_round_trip_time_seconds.histogram

对等方之间的往返时间直方图。

直方图

etcd.network.peer_sent_bytes_total

发送到对等方的字节总数。

长整型

字节

计数器

etcd.network.peer_sent_failures_total

从对等方发送的失败总数。

长整型

计数器

etcd.process_start_time.sec

自 Unix 纪元以来的进程启动时间(以秒为单位)。

长整型

计量

etcd.server.grpc_handled.count

接收的 gRPC 请求数

长整型

计数器

etcd.server.grpc_started.count

发送的 gRPC 请求数

长整型

计数器

etcd.server.has_leader.count

集群中是否存在领导者

长整型

计量

etcd.server.leader_changes.count

集群中看到的领导者变更数

长整型

计数器

etcd.server.proposals_applied_total

应用的共识提案总数。

长整型

计量

etcd.server.proposals_committed.count

提交的共识提案数

长整型

计量

etcd.server.proposals_failed.count

失败的共识提案数

长整型

计数器

etcd.server.proposals_pending.count

待处理的共识提案数

长整型

计量

etcd.store.expires_total

过期键的总数。

长整型

计数器

etcd.store.reads_total

此成员本地的(get/getRecursive)读取操作总数。

长整型

计数器

etcd.store.watchers

当前活跃的观察者计数。

长整型

计量

etcd.store.writes_total

此成员看到的写入操作总数(例如,set/compareAndDelete)。

长整型

计数器

event.dataset

事件数据集

constant_keyword

event.module

事件模块

constant_keyword

host.name

主机的名称。它可以包含 Unix 系统上 hostname 返回的值、完全限定域名 (FQDN) 或用户指定的名称。建议的值是主机的小写 FQDN。

关键字

service.address

从中收集此服务数据的地址。这应该是 URI、网络地址(ipv4:port 或 [ipv6]:port)或资源路径(套接字)。

关键字

leader

编辑

这是 etcd 包的 leader 数据集,负责从 etcd v2 实例检索有关领导者的通用指标。

示例

leader 的示例事件如下所示

{
    "@timestamp": "2017-10-12T08:05:34.853Z",
    "etcd": {
        "leader": {
            "follower": {
                "leader": "91bc3c398fb3c146",
                "latency": {
                    "ms": 0.001169
                },
                "failed_operations": 0,
                "id": "8211f1d0f64f3269",
                "success_operations": 5
            }
        },
        "api_version": "2"
    },
    "event": {
        "dataset": "etcd.leader",
        "duration": 115000,
        "module": "etcd"
    },
    "metricset": {
        "name": "leader"
    },
    "service": {
        "address": "127.0.0.1:2379",
        "type": "etcd"
    }
}

ECS 字段参考

有关 ECS 字段的详细信息,请参阅以下文档

导出的字段
字段 描述 类型

@timestamp

事件时间戳。

日期

data_stream.dataset

数据流数据集。

constant_keyword

data_stream.namespace

数据流命名空间。

constant_keyword

data_stream.type

数据流类型。

constant_keyword

etcd.api_version

用于指标检索的 Etcd API 版本

关键字

etcd.leader.follower.failed_operations

失败的 Raft RPC 请求

长整型

etcd.leader.follower.id

跟随者的 ID

关键字

etcd.leader.follower.latency.ms

比例浮点型

etcd.leader.follower.leader

实际领导者的 ID

关键字

etcd.leader.follower.success_operations

成功的 Raft RPC 请求

长整型

event.dataset

事件数据集

constant_keyword

event.module

事件模块

constant_keyword

self

编辑

这是 etcd 包的 self 数据集,负责从 etcd v2 实例检索有关自身的通用指标。

示例

self 的示例事件如下所示

{
    "@timestamp": "2017-10-12T08:05:34.853Z",
    "etcd": {
        "api_version": "2",
        "self": {
            "id": "8e9e05c52164694d",
            "leaderinfo": {
                "leader": "8e9e05c52164694d",
                "start_time": "2019-03-25T18:00:33.457653099+01:00",
                "uptime": "20.338096195s"
            },
            "name": "default",
            "recv": {
                "append_request": {
                    "count": 0
                },
                "bandwidth_rate": 0,
                "pkg_rate": 0
            },
            "send": {
                "append_request": {
                    "count": 0
                },
                "bandwidth_rate": 0,
                "pkg_rate": 0
            },
            "start_time": "2019-03-25T18:00:32.755273186+01:00",
            "state": "StateLeader"
        }
    },
    "event": {
        "dataset": "etcd.self",
        "duration": 115000,
        "module": "etcd"
    },
    "metricset": {
        "name": "self"
    },
    "service": {
        "address": "127.0.0.1:2379",
        "type": "etcd"
    }
}

ECS 字段参考

有关 ECS 字段的详细信息,请参阅以下文档

导出的字段
字段 描述 类型

@timestamp

事件时间戳。

日期

data_stream.dataset

数据流数据集。

constant_keyword

data_stream.namespace

数据流命名空间。

constant_keyword

data_stream.type

数据流类型。

constant_keyword

etcd.api_version

用于指标检索的 Etcd API 版本

关键字

etcd.self.id

成员的唯一标识符

关键字

etcd.self.leaderinfo.leader

当前领导者成员的 ID

关键字

etcd.self.leaderinfo.start_time

此节点启动的时间

关键字

etcd.self.leaderinfo.uptime

领导者担任领导者的时间量

关键字

etcd.self.name

此成员的名称

关键字

etcd.self.recv.append_request.count

此节点已处理的追加请求数

整数

etcd.self.recv.bandwidth_rate

此节点每秒接收的字节数(仅限跟随者)

比例浮点型

etcd.self.recv.pkg_rate

此节点每秒接收的请求数(仅限跟随者)

比例浮点型

etcd.self.send.append_request.count

此节点已发送的请求数

整数

etcd.self.send.bandwidth_rate

此节点每秒发送的字节数(仅限领导者)。此值在单成员集群中未定义。

比例浮点型

etcd.self.send.pkg_rate

此节点每秒发送的请求数(仅限领导者)。此值在单成员集群中未定义。

比例浮点型

etcd.self.start_time

此节点启动的时间

关键字

etcd.self.state

领导者或跟随者

关键字

event.dataset

事件数据集

constant_keyword

event.module

事件模块

constant_keyword

store

编辑

这是 etcd 包的 store 数据集,负责从 etcd v2 实例检索有关存储的通用指标。

示例

store 的示例事件如下所示

{
    "@timestamp": "2017-10-12T08:05:34.853Z",
    "etcd": {
        "api_version": "2",
        "store": {
            "compare_and_delete": {
                "fail": 0,
                "success": 0
            },
            "compare_and_swap": {
                "fail": 0,
                "success": 0
            },
            "create": {
                "fail": 0,
                "success": 1
            },
            "delete": {
                "fail": 0,
                "success": 0
            },
            "expire": {
                "count": 0
            },
            "gets": {
                "fail": 4,
                "success": 2
            },
            "sets": {
                "fail": 0,
                "success": 12
            },
            "update": {
                "fail": 0,
                "success": 0
            },
            "watchers": 0
        }
    },
    "event": {
        "dataset": "etcd.store",
        "duration": 115000,
        "module": "etcd"
    },
    "metricset": {
        "name": "store"
    },
    "service": {
        "address": "127.0.0.1:2379",
        "type": "etcd"
    }
}

ECS 字段参考

有关 ECS 字段的详细信息,请参阅以下文档

导出的字段
字段 描述 类型

@timestamp

事件时间戳。

日期

data_stream.dataset

数据流数据集。

constant_keyword

data_stream.namespace

数据流命名空间。

constant_keyword

data_stream.type

数据流类型。

constant_keyword

etcd.api_version

用于指标检索的 Etcd API 版本

关键字

etcd.store.compare_and_delete.fail

整数

etcd.store.compare_and_delete.success

整数

etcd.store.compare_and_swap.fail

整数

etcd.store.compare_and_swap.success

整数

etcd.store.create.fail

整数

etcd.store.create.success

整数

etcd.store.delete.fail

整数

etcd.store.delete.success

整数

etcd.store.expire.count

整数

etcd.store.gets.fail

整数

etcd.store.gets.success

整数

etcd.store.sets.fail

整数

etcd.store.sets.success

整数

etcd.store.update.fail

整数

etcd.store.update.success

整数

etcd.store.watchers

整数

event.dataset

事件数据集

constant_keyword

event.module

事件模块

constant_keyword

更新日志

编辑
更新日志
版本 详细信息 Kibana 版本

1.3.0

增强功能 (查看拉取请求)
为 leader、metrics、self 和 store 数据流添加处理器支持。

8.13.0 或更高版本

1.2.0

增强功能 (查看拉取请求)
ECS 版本更新至 8.11.0。将 kibana 约束更新至 ^8.13.0。修改了字段定义,移除了由 ecs@mappings 组件模板导致的冗余 ECS 字段。

8.13.0 或更高版本

1.1.0

增强 (查看拉取请求)
为所有数据流添加 SSL 配置选项。

8.8.0 或更高版本

1.0.1

增强 (查看拉取请求)
更新 README 以使用文档指南。

8.8.0 或更高版本

1.0.0

增强 (查看拉取请求)
将 etcd 设置为正式版。

8.8.0 或更高版本

0.8.0

增强 (查看拉取请求)
为指标数据集启用时间序列数据流。这提高了存储利用率和查询性能。有关更多详细信息,请参阅 https://elastic.ac.cn/guide/en/elasticsearch/reference/current/tsds.html

0.7.0

增强 (查看拉取请求)
切换到 Prometheus 指标集,添加 ECS 字段、维度映射和指标类型。

0.6.1

错误修复 (查看拉取请求)
修复 leader 数据流中不正确的字段映射

0.6.0

增强 (查看拉取请求)
将软件包 format_version 更新为 3.0.0。

0.5.0

增强 (查看拉取请求)
将所有权从 obs-service-integrations 重命名为 obs-infraobs-integrations

0.4.0

增强 (查看拉取请求)
将可视化迁移到 lens。

0.3.1

增强 (查看拉取请求)
添加了类别和/或子类别。

0.3.0

增强 (查看拉取请求)
将 ECS 版本更新至 8.5.1

0.2.0

增强 (查看拉取请求)
添加了基础设施类别。

0.1.1

增强 (查看拉取请求)
更新至 ECS 8.0

0.1.0

增强 (查看拉取请求)
添加指标仪表板

0.0.1

增强 (查看拉取请求)
初始版本