STAN 集成

编辑

版本

1.7.0 ( 查看全部 )

兼容的 Kibana 版本

8.13.0 或更高版本

支持的无服务器项目类型
这是什么?

安全性
可观测性

订阅级别
这是什么?

基本

此集成用于从 STAN 服务器收集日志和指标。该集成从 STAN 监控服务器 API 收集指标。

兼容性

编辑

STAN 软件包已使用 Stan 0.15.1 进行测试。

日志

编辑

日志

编辑

log 数据集收集 STAN 日志。

示例

log 的示例事件如下所示

{
    "@timestamp": "2024-06-18T10:41:22.515Z",
    "agent": {
        "ephemeral_id": "e925a178-f704-43e6-899e-b69b164425d8",
        "id": "21652d23-59b4-4d65-a341-ede15f919642",
        "name": "docker-fleet-agent",
        "type": "filebeat",
        "version": "8.13.0"
    },
    "data_stream": {
        "dataset": "stan.log",
        "namespace": "ep",
        "type": "logs"
    },
    "ecs": {
        "version": "8.11.0"
    },
    "elastic_agent": {
        "id": "21652d23-59b4-4d65-a341-ede15f919642",
        "snapshot": false,
        "version": "8.13.0"
    },
    "event": {
        "agent_id_status": "verified",
        "created": "2024-06-18T10:41:36.382Z",
        "dataset": "stan.log",
        "ingested": "2024-06-18T10:41:38Z",
        "kind": "event",
        "type": [
            "info"
        ]
    },
    "input": {
        "type": "log"
    },
    "log": {
        "file": {
            "path": "/tmp/service_logs/stan.log"
        },
        "level": "info",
        "offset": 0
    },
    "message": "STREAM: Starting nats-streaming-server[test-cluster] version 0.15.1",
    "process": {
        "pid": 7
    },
    "stan": {
        "log": {
            "msg": {}
        }
    },
    "tags": [
        "forwarded",
        "stan-log"
    ]
}

ECS 字段参考

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

导出的字段
字段 描述 类型

@timestamp

事件时间戳。

date

data_stream.dataset

数据流数据集。

constant_keyword

data_stream.namespace

数据流命名空间。

constant_keyword

data_stream.type

数据流类型。

constant_keyword

event.dataset

事件数据集

constant_keyword

event.module

事件模块

constant_keyword

input.type

Filebeat 输入的类型。

keyword

log.offset

日志文件中条目的偏移量。

long

stan.log.client.id

客户端的 ID

integer

stan.log.msg.bytes

有效负载的大小(以字节为单位)

long

stan.log.msg.error.message

有关发生的错误的详细信息

text

stan.log.msg.max_messages

自动取消订阅之前要等待的可选消息数

integer

stan.log.msg.queue_group

订阅者将加入的队列组

text

stan.log.msg.reply_to

发布者正在侦听响应的收件箱主题

keyword

stan.log.msg.sid

主题的唯一字母数字订阅 ID

integer

stan.log.msg.subject

接收此消息的主题名称

keyword

stan.log.msg.type

协议消息类型

keyword

指标

编辑

默认数据集为 statschannelssubscriptions

统计信息

编辑

这是 STAN 软件包的 stats 数据集,负责从 STAN 实例检索通用指标。

示例

stats 的示例事件如下所示

{
    "@timestamp": "2024-06-18T10:42:35.470Z",
    "agent": {
        "ephemeral_id": "b30d1b07-36f0-4e5f-9f80-56b6015fb855",
        "id": "21652d23-59b4-4d65-a341-ede15f919642",
        "name": "docker-fleet-agent",
        "type": "metricbeat",
        "version": "8.13.0"
    },
    "data_stream": {
        "dataset": "stan.stats",
        "namespace": "ep",
        "type": "metrics"
    },
    "ecs": {
        "version": "8.0.0"
    },
    "elastic_agent": {
        "id": "21652d23-59b4-4d65-a341-ede15f919642",
        "snapshot": false,
        "version": "8.13.0"
    },
    "event": {
        "agent_id_status": "verified",
        "dataset": "stan.stats",
        "duration": 1823495,
        "ingested": "2024-06-18T10:42:47Z",
        "module": "stan"
    },
    "host": {
        "architecture": "x86_64",
        "containerized": true,
        "hostname": "docker-fleet-agent",
        "id": "8259e024976a406e8a54cdbffeb84fec",
        "ip": "192.168.252.5",
        "mac": "02-42-C0-A8-FC-05",
        "name": "docker-fleet-agent",
        "os": {
            "codename": "focal",
            "family": "debian",
            "kernel": "3.10.0-1160.102.1.el7.x86_64",
            "name": "Ubuntu",
            "platform": "ubuntu",
            "type": "linux",
            "version": "20.04.6 LTS (Focal Fossa)"
        }
    },
    "metricset": {
        "name": "stats",
        "period": 60000
    },
    "service": {
        "address": "http://elastic-package-service-stan-1:8222/streaming/serverz",
        "type": "stan"
    },
    "stan": {
        "cluster": {
            "id": "test-cluster"
        },
        "server": {
            "id": "I9vNI3muOuNoem5vuoyo5z"
        },
        "stats": {
            "bytes": 0,
            "channels": 1,
            "clients": 100,
            "messages": 0,
            "state": "STANDALONE",
            "subscriptions": 100
        }
    }
}

ECS 字段参考

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

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

@timestamp

事件时间戳。

date

agent.id

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

keyword

cloud.account.id

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

keyword

cloud.availability_zone

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

keyword

cloud.instance.id

主机实例 ID。

keyword

cloud.provider

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

keyword

cloud.region

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

keyword

container.id

唯一的容器 ID。

keyword

data_stream.dataset

数据流数据集。

constant_keyword

data_stream.namespace

数据流命名空间。

constant_keyword

data_stream.type

数据流类型。

constant_keyword

event.dataset

事件数据集

constant_keyword

event.module

事件模块

constant_keyword

host.name

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

keyword

service.address

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

keyword

stan.cluster.id

集群 ID

keyword

stan.server.id

服务器 ID

keyword

stan.stats.bytes

在所有 STAN 队列中消耗的字节数

long

counter

stan.stats.channels

STAN 通道的数量

integer

gauge

stan.stats.clients

STAN 客户端的数量

integer

gauge

stan.stats.messages

所有 STAN 队列中的消息数

long

counter

stan.stats.role

如果集群,此节点在集群中的角色(领导者、跟随者、候选者)

keyword

stan.stats.state

集群/流式配置状态 (STANDALONE、CLUSTERED)

keyword

stan.stats.subscriptions

STAN 流式订阅的数量

integer

gauge

通道

编辑

这是 STAN 软件包的 channels 数据集,负责从 STAN 实例检索有关通道的指标。

示例

channels 的示例事件如下所示

{
    "@timestamp": "2024-06-18T10:40:33.161Z",
    "agent": {
        "ephemeral_id": "2f2befc0-8f03-49d7-b5bf-8131709857b6",
        "id": "21652d23-59b4-4d65-a341-ede15f919642",
        "name": "docker-fleet-agent",
        "type": "metricbeat",
        "version": "8.13.0"
    },
    "data_stream": {
        "dataset": "stan.channels",
        "namespace": "ep",
        "type": "metrics"
    },
    "ecs": {
        "version": "8.0.0"
    },
    "elastic_agent": {
        "id": "21652d23-59b4-4d65-a341-ede15f919642",
        "snapshot": false,
        "version": "8.13.0"
    },
    "event": {
        "agent_id_status": "verified",
        "dataset": "stan.channels",
        "duration": 3556501,
        "ingested": "2024-06-18T10:40:45Z",
        "module": "stan"
    },
    "host": {
        "architecture": "x86_64",
        "containerized": true,
        "hostname": "docker-fleet-agent",
        "id": "8259e024976a406e8a54cdbffeb84fec",
        "ip": "192.168.252.5",
        "mac": "02-42-C0-A8-FC-05",
        "name": "docker-fleet-agent",
        "os": {
            "codename": "focal",
            "family": "debian",
            "kernel": "3.10.0-1160.102.1.el7.x86_64",
            "name": "Ubuntu",
            "platform": "ubuntu",
            "type": "linux",
            "version": "20.04.6 LTS (Focal Fossa)"
        }
    },
    "metricset": {
        "name": "channels",
        "period": 60000
    },
    "service": {
        "address": "http://elastic-package-service-stan-1:8222/streaming/channelsz?subs=1",
        "type": "stan"
    },
    "stan": {
        "channels": {
            "bytes": 0,
            "depth": 0,
            "first_seq": 0,
            "last_seq": 0,
            "messages": 0,
            "name": "foo"
        },
        "cluster": {
            "id": "test-cluster"
        },
        "server": {
            "id": "KJXiShxwxsi2oNAUH1Rlzn"
        }
    }
}

ECS 字段参考

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

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

@timestamp

事件时间戳。

date

agent.id

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

keyword

cloud.account.id

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

keyword

cloud.availability_zone

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

keyword

cloud.instance.id

主机实例 ID。

keyword

cloud.provider

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

keyword

cloud.region

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

keyword

container.id

唯一的容器 ID。

keyword

data_stream.dataset

数据流数据集。

constant_keyword

data_stream.namespace

数据流命名空间。

constant_keyword

data_stream.type

数据流类型。

constant_keyword

event.dataset

事件数据集

constant_keyword

event.module

事件模块

constant_keyword

host.name

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

keyword

service.address

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

keyword

stan.channels.bytes

通道中的 STAN 字节数

long

counter

stan.channels.depth

基于当前序列号和最高报告的订阅者序列号的队列深度

long

gauge

stan.channels.first_seq

存储在通道中的第一个序列号。如果 first_seq > min([subscriptions 中的 seq]),则可能发生了数据丢失

long

stan.channels.last_seq

存储在通道中的最后一个序列号

long

counter

stan.channels.messages

STAN 流式消息的数量

long

counter

stan.channels.name

STAN 流式通道的名称

keyword

stan.cluster.id

集群 ID

keyword

stan.server.id

服务器 ID

keyword

订阅

编辑

这是 STAN 软件包的 subscriptions 数据集,负责从 STAN 实例检索有关订阅的指标。

示例

subscriptions 的示例事件如下所示

{
    "@timestamp": "2024-06-18T10:43:38.692Z",
    "agent": {
        "ephemeral_id": "871b52f0-2644-4638-811c-1b0befe0ee13",
        "id": "21652d23-59b4-4d65-a341-ede15f919642",
        "name": "docker-fleet-agent",
        "type": "metricbeat",
        "version": "8.13.0"
    },
    "data_stream": {
        "dataset": "stan.subscriptions",
        "namespace": "ep",
        "type": "metrics"
    },
    "ecs": {
        "version": "8.0.0"
    },
    "elastic_agent": {
        "id": "21652d23-59b4-4d65-a341-ede15f919642",
        "snapshot": false,
        "version": "8.13.0"
    },
    "event": {
        "agent_id_status": "verified",
        "dataset": "stan.subscriptions",
        "duration": 1947519984,
        "ingested": "2024-06-18T10:43:50Z",
        "module": "stan"
    },
    "host": {
        "architecture": "x86_64",
        "containerized": true,
        "hostname": "docker-fleet-agent",
        "id": "8259e024976a406e8a54cdbffeb84fec",
        "ip": "192.168.252.5",
        "mac": "02-42-C0-A8-FC-05",
        "name": "docker-fleet-agent",
        "os": {
            "codename": "focal",
            "family": "debian",
            "kernel": "3.10.0-1160.102.1.el7.x86_64",
            "name": "Ubuntu",
            "platform": "ubuntu",
            "type": "linux",
            "version": "20.04.6 LTS (Focal Fossa)"
        }
    },
    "metricset": {
        "name": "subscriptions",
        "period": 60000
    },
    "service": {
        "address": "http://elastic-package-service-stan-1:8222/streaming/channelsz?subs=1",
        "type": "stan"
    },
    "stan": {
        "cluster": {
            "id": "test-cluster"
        },
        "server": {
            "id": "SwiO2nzNV8CW27j45QPnFz"
        },
        "subscriptions": {
            "channel": "foo",
            "id": "benchmark-sub-23",
            "last_sent": 0,
            "offline": false,
            "pending": 0,
            "queue": "T",
            "stalled": false
        }
    }
}

ECS 字段参考

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

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

@timestamp

事件时间戳。

date

agent.id

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

keyword

cloud.account.id

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

keyword

cloud.availability_zone

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

keyword

cloud.instance.id

主机实例 ID。

keyword

cloud.provider

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

keyword

cloud.region

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

keyword

container.id

唯一的容器 ID。

keyword

data_stream.dataset

数据流数据集。

constant_keyword

data_stream.namespace

数据流命名空间。

constant_keyword

data_stream.type

数据流类型。

constant_keyword

event.dataset

事件数据集

constant_keyword

event.module

事件模块

constant_keyword

host.name

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

keyword

service.address

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

keyword

stan.cluster.id

集群 ID

keyword

stan.server.id

服务器 ID

keyword

stan.subscriptions.channel

与订阅关联的 STAN 通道的名称

keyword

stan.subscriptions.id

STAN 通道订阅的名称 (client_id)

keyword

stan.subscriptions.last_sent

已确认的订阅的最后一个已知序列号

long

counter

stan.subscriptions.offline

是否将订阅者标记为脱机?

boolean

stan.subscriptions.pending

来自/到订阅者的待处理消息数

long

gauge

stan.subscriptions.queue

与 STAN 通道订阅关联的 NATS 队列的名称(如果有)

keyword

stan.subscriptions.stalled

是否已知订阅者已停滞?

boolean

变更日志

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

1.7.0

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

8.13.0 或更高版本

1.6.0

增强 ( 查看拉取请求 )
在 data_stream.dataset 上添加全局筛选器以提高性能。

8.10.2 或更高版本

1.5.0

增强 ( 查看拉取请求 )
为指标数据流启用时间序列数据。这显著减少了指标的存储,并且预计会逐步提高查询[性能](https://elastic.ac.cn/blog/70-percent-storage-savings-for-metrics-with-elastic-observability)。有关更多详细信息,请参阅 https://elastic.ac.cn/guide/en/elasticsearch/reference/current/tsds.html

8.10.2 或更高版本

1.4.2

增强 ( 查看拉取请求 )
Client IP Count Timeline 可视化迁移到 Lens。

8.10.2 或更高版本

1.4.1

增强 ( 查看拉取请求 )
添加订阅数据流指标类型映射。

8.10.2 或更高版本

1.4.0

增强 ( 查看拉取请求 )
添加订阅数据流维度映射和 ECS 字段。

8.10.2 或更高版本

1.3.9

增强 ( 查看拉取请求 )
添加统计数据流指标类型映射。

8.10.2 或更高版本

1.3.8

增强 ( 查看拉取请求 )
添加统计数据流维度映射和 ECS 字段。

8.10.2 或更高版本

1.3.7

增强 ( 查看拉取请求 )
添加通道数据流指标类型映射。

8.10.2 或更高版本

1.3.6

增强 ( 查看拉取请求 )
添加通道数据流维度映射和 ECS 字段。

8.10.2 或更高版本

1.3.5

增强 ( 查看拉取请求 )
将“日志概述”仪表板可视化迁移到 Lens。

8.10.2 或更高版本

1.3.4

增强 ( 查看拉取请求 )
将“指标概述”仪表板可视化迁移到 Lens。

8.10.2 或更高版本

1.3.3

错误修复 ( 查看拉取请求 )
修复“通道概述”仪表板中的引用错误。

7.14.0 或更高版本
8.0.0 或更高版本

1.3.2

错误修复 ( 查看拉取请求 )
向重命名处理器添加空值检查

7.14.0 或更高版本
8.0.0 或更高版本

1.3.1

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

7.14.0 或更高版本
8.0.0 或更高版本

1.3.0

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

7.14.0 或更高版本
8.0.0 或更高版本

1.2.0

增强 (查看拉取请求)
发布 v8.0.0 的 stan 包

7.14.0 或更高版本
8.0.0 或更高版本

1.1.2

增强 (查看拉取请求)
与指南保持一致

1.1.1

错误修复 (查看拉取请求)
修复检查 forwarded 标签的逻辑

1.1.0

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

7.14.0 或更高版本

1.0.0

增强 (查看拉取请求)
正式发布 Stan (GA)

0.5.3

增强 (查看拉取请求)
转换为生成的 ECS 字段

0.5.2

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

0.5.1

增强 (查看拉取请求)
转义文档中的特殊字符

0.5.0

增强 (查看拉取请求)
更新集成描述

0.4.0

增强 (查看拉取请求)
设置 "event.module" 和 "event.dataset"

0.3.0

增强 (查看拉取请求)
更新至 ECS 1.10.0 并添加 event.original 选项

0.2.0

错误修复 (查看拉取请求)
修复堆栈兼容性

0.1.3

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

0.1.2

错误修复 (查看拉取请求)
更改 kibana.version 约束以使其更加保守。

0.1.0

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