Elastic 包注册表

编辑

版本

0.2.0 [测试版] 此功能处于测试阶段,可能会发生更改。其设计和代码不如官方 GA 功能成熟,按原样提供,不提供任何保证。测试版功能不受官方 GA 功能的支持 SLA 约束。 (查看全部)

兼容的 Kibana 版本

8.0.0 或更高版本

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

安全
可观测性

订阅级别
这是什么?

基本

支持级别
这是什么?

Elastic

此 Elastic 包注册表集成从您的 Elastic 包注册表服务收集指标。

例如,您可以使用此集成的数据来了解服务的状态。例如,索引了多少个包、哪些版本正在运行您的服务,或者是否存在太多 404 或 500 状态代码的请求。

数据流

编辑

Elastic 包注册表收集一种数据流:指标。

  • 指标:来自 /metrics 端点的遥测数据,使您可以深入了解服务的状态。有关更多详细信息,请参阅指标参考

要求

编辑

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

此集成还需要 Elastic 包注册表版本 >= 1.10.0。

设置

编辑

为了在您的 Elastic 包注册表实例中启用此遥测功能,您必须设置指标地址参数。或者,作为替代方法,设置环境变量 EPR_METRICS_ADDRESS。例如:

package-registry -metrics-address 0.0.0.0:9000

EPR_METRICS_ADDRESS="0.0.0.0:9000" package-regsitry

请记住在您的部署(例如 k8s、docker-compose 等)中公开上述设置中使用的端口(例如 9000)。

有关如何设置集成的分步说明,请参阅入门指南。

指标参考

编辑
指标
编辑

Elastic 包注册表可以在 /metrics 端点中提供 Prometheus 指标。您可以通过向您的包注册表实例上的 https://127.0.0.1:9000/metrics 发出 HTTP 请求来验证指标端点是否已启用。

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

@timestamp

事件时间戳。

日期

data_stream.dataset

数据流数据集。

constant_keyword

data_stream.namespace

数据流命名空间。

constant_keyword

data_stream.type

数据流类型。

constant_keyword

ecs.version

此事件符合的 ECS 版本。ecs.version 是必填字段,必须存在于所有事件中。在跨多个索引进行查询时(可能符合略有不同的 ECS 版本),此字段使集成能够调整到事件的模式版本。

keyword

error.message

错误消息。

match_only_text

event.duration

事件的持续时间(以纳秒为单位)。如果知道 event.start 和 event.end,则此值应为结束时间和开始时间之间的差值。

long

event.ingested

事件到达中心数据存储的时间戳。这与 @timestamp 不同,后者是事件最初发生的时间。它也与 event.created 不同,后者旨在捕获代理首次看到事件的时间。在正常情况下,假设没有篡改,时间戳应按时间顺序如下所示:@timestamp < event.created < event.ingested

日期

event.kind

这是四个 ECS 分类字段之一,指示 ECS 类别层次结构中的最高级别。event.kind 提供有关事件包含的信息类型的高级信息,而无需具体说明事件的内容。例如,此字段的值可区分警报事件和指标事件。此字段的值可用于告知应如何处理这些类型的事件。它们可能需要不同的保留期、不同的访问控制,也可能有助于了解传入的数据是否以固定间隔传入。

keyword

package_registry.http.request_duration_seconds.histogram

HTTP 服务器请求的延迟时间直方图

直方图

package_registry.http.request_size_bytes.histogram

HTTP 服务器请求大小的直方图

直方图

package_registry.http.response_size_bytes.histogram

HTTP 服务器请求响应大小的直方图

直方图

package_registry.http_requests_total.counter

HTTP 服务器请求的计数器

double

计数器

package_registry.in_flight_requests

HTTP 服务器当前正在处理的请求

double

仪表

package_registry.indexer.get_duration_seconds.histogram

索引器运行的获取过程的延迟时间直方图

直方图

package_registry.labels.code

HTTP 代码

keyword

package_registry.labels.component

存储的组件类型(静态、工件、签名…​)

keyword

package_registry.labels.indexer

索引器类型

keyword

package_registry.labels.instance

Elastic 包注册表实例

keyword

package_registry.labels.job

keyword

package_registry.labels.location

存储位置(远程或本地)

keyword

package_registry.labels.method

HTTP 方法

keyword

package_registry.labels.path

HTTP 请求的路径。

keyword

package_registry.labels.version

Elastic 包注册表版本。

keyword

package_registry.number_indexed_packages

索引的包的数量

整数

仪表

package_registry.start_time

Elastic 包注册表启动的日期

日期

package_registry.start_time_seconds

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

double

仪表

package_registry.storage_indexer.update_index_duration_seconds.histogram

存储索引器运行的更新索引过程的延迟时间直方图

直方图

package_registry.storage_indexer.update_index_error_total.counter

存储索引器中所有以错误完成的更新索引过程的计数器

long

package_registry.storage_indexer.update_index_success_total.counter

存储索引器中所有以成功完成的更新索引过程的计数器

long

package_registry.storage_requests_total.counter

对存储执行的请求的计数器

long

计数器

package_registry.uptime

Elastic 包注册表的正常运行时间(以秒为单位)

long

计数器

service.address

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

keyword

service.type

从中收集服务数据的类型。该类型可用于对来自一种服务类型的日志和指标进行分组和关联。示例:如果从 Elasticsearch 收集日志或指标,则 service.type 将为 elasticsearch

keyword

tags

用于标记每个事件的关键字列表。

keyword

示例

metrics 的示例事件如下所示

{
    "@timestamp": "2022-07-28T09:54:47.993Z",
    "agent": {
        "ephemeral_id": "fb0962b4-3f3f-48d6-81d6-3df63366f744",
        "id": "97cba3e2-ea7d-4d80-aa69-75752faa1576",
        "name": "docker-fleet-agent",
        "type": "metricbeat",
        "version": "8.0.0"
    },
    "data_stream": {
        "dataset": "elastic_package_registry.metrics",
        "namespace": "ep",
        "type": "metrics"
    },
    "ecs": {
        "version": "8.3.1"
    },
    "elastic_agent": {
        "id": "97cba3e2-ea7d-4d80-aa69-75752faa1576",
        "snapshot": false,
        "version": "8.0.0"
    },
    "event": {
        "agent_id_status": "verified",
        "dataset": "elastic_package_registry.metrics",
        "duration": 7602509,
        "ingested": "2022-07-28T09:54:51Z",
        "kind": "metric",
        "module": "prometheus"
    },
    "host": {
        "architecture": "x86_64",
        "containerized": false,
        "hostname": "docker-fleet-agent",
        "ip": [
            "172.31.0.7"
        ],
        "mac": [
            "02:42:ac:1f:00:07"
        ],
        "name": "docker-fleet-agent",
        "os": {
            "codename": "focal",
            "family": "debian",
            "kernel": "5.10.104-linuxkit",
            "name": "Ubuntu",
            "platform": "ubuntu",
            "type": "linux",
            "version": "20.04.3 LTS (Focal Fossa)"
        }
    },
    "metricset": {
        "name": "collector",
        "period": 30000
    },
    "package_registry": {
        "http": {
            "request_duration_seconds": {
                "histogram": {
                    "counts": [
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0
                    ],
                    "values": [
                        0.0025,
                        0.0075,
                        0.0175,
                        0.037500000000000006,
                        0.07500000000000001,
                        0.175,
                        0.375,
                        0.75,
                        1.75,
                        3.75,
                        7.5,
                        15
                    ]
                }
            },
            "request_size_bytes": {
                "histogram": {
                    "counts": [
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0
                    ],
                    "values": [
                        8,
                        24,
                        48,
                        96,
                        192,
                        384,
                        768,
                        33280,
                        163840,
                        458752
                    ]
                }
            },
            "response_size_bytes": {
                "histogram": {
                    "counts": [
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0
                    ],
                    "values": [
                        8,
                        24,
                        48,
                        96,
                        192,
                        384,
                        768,
                        33280,
                        163840,
                        458752
                    ]
                }
            }
        },
        "http_requests_total": {
            "counter": 20
        },
        "labels": {
            "code": "200",
            "instance": "elastic-package-service_elastic_package_registry_1:9110",
            "job": "prometheus",
            "method": "get",
            "path": "/"
        }
    },
    "service": {
        "address": "http://elastic-package-service_elastic_package_registry_1:9110/metrics",
        "type": "elastic_package_registry"
    }
}

变更日志

编辑
变更日志
版本 详情 Kibana 版本

0.2.0

增强 (查看拉取请求)
修复旧仪表板。

0.1.0

增强 (查看拉取请求)
确保为管道错误正确设置 event.kind。

0.0.7

Bug 修复 (查看拉取请求)
修复 package_registry.start_time 字段的无效 TSDS 指标类型

0.0.6

增强 (查看拉取请求)
支持仪表板中多个实例的首次迭代

0.0.5

增强 (查看拉取请求)
删除 histogram.counts 和 histogram.values 定义

0.0.4

增强 (查看拉取请求)
设置 Elastic 包注册表徽标

0.0.3

增强 (查看拉取请求)
更新与获取操作相关的索引器指标

0.0.2

增强 (查看拉取请求)
删除发布实验性字段

0.0.1

增强 (查看拉取请求)
Elastic 包注册表包的初始版本