Prometheus 集成
编辑Prometheus 集成
编辑此集成可以从以下位置收集指标
指标
编辑Prometheus Exporter (收集器)
编辑Prometheus 集成 collector
数据集连接到 Prometheus 服务器,并使用 /metrics
端点或 Prometheus Federation API 拉取指标。
从 Prometheus exporter 抓取指标
编辑要从 Prometheus exporter 抓取指标,请将 hosts
设置配置为该 exporter。可以使用“指标路径”配置从其检索指标的路径(默认为 /metrics
)。
直方图和类型
编辑使用类型
参数(默认值:true)为指标存储启用不同的布局,利用 Elasticsearch 类型,包括 直方图。
速率计数器
参数(默认值:true)启用从 Prometheus 计数器计算速率。启用后,Elastic Agent 会存储自上次收集以来的计数器增量。此指标应使一些聚合更容易且性能更高。此参数只能与 使用类型
结合使用。
当启用 使用类型
和 速率计数器
时,指标的存储方式如下
{ "_index": ".ds-metrics-prometheus.collector-default-000001", "_id": "JlK9AHMBeyDc0b9rCwVA", "_version": 1, "_score": null, "_source": { "@timestamp": "2020-06-29T15:40:55.028Z", "prometheus": { "labels": { "slice": "inner_eval", "instance": "localhost:9090", "job": "prometheus" }, "prometheus_engine_query_duration_seconds_sum": { "counter": 0.002697546, "rate": 0.00006945900000000001 }, "prometheus_engine_query_duration_seconds_count": { "rate": 1, "counter": 37 } }, "dataset": { "type": "metrics", "name": "prometheus.collector", "namespace": "default" }, "agent": { "ephemeral_id": "98420e91-ee6d-4883-8ad3-02fa8d47f5c1", "id": "9fc3e975-6789-4738-a11a-ba7108b0a92c", "name": "minikube", "type": "metricbeat", "version": "8.0.0" }, "ecs": { "version": "1.5.0" }, "event": { "module": "prometheus", "duration": 15397122, "dataset": "prometheus.collector" }, "metricset": { "period": 10000, "name": "collector" }, "service": { "address": "localhost:9090", "type": "prometheus" }, "stream": { "namespace": "default", "type": "metrics", "dataset": "prometheus.collector" }, "host": {}, }, "fields": { "@timestamp": [ "2020-06-29T15:40:55.028Z" ] }, "highlight": { "event.dataset": [ "@[email protected]@/kibana-highlighted-field@" ] }, "sort": [ 1593445255028 ] }
指标计数
编辑Prometheus 集成的 collector
数据集提供了一个 指标计数
参数,默认情况下禁用此参数。启用后,它会计算每个 Elasticsearch 文档中 Prometheus 指标的总数。此计数存储在名为 metrics_count
的字段中,其值在 Ingest 管道或 Agent 处理器进行任何丰富之前计算,从而确保一致性。此字段名称保留供内部使用,不得使用 Agent 处理器或 Ingest 管道进行更改。
从 Prometheus 服务器抓取所有指标
编辑我们建议使用远程写入数据集来执行此操作,并使 Prometheus 将指标推送到 Agent。
筛选指标
编辑为了筛选出/筛选入指标,可以使用 指标筛选器包含
、指标筛选器排除
设置
Metrics Filters Include: ["node_filesystem_*"] Metrics Filters Exclude: ["node_filesystem_device_*"]
上述配置将仅包含与 node_filesystem_*
模式匹配且与 node_filesystem_device_*
不匹配的指标。
要仅保留特定指标,请锚定每个指标的正则表达式的开头和结尾
- 插入符号 ^ 匹配文本或行的开头,
- 美元符号 $ 匹配文本的结尾。
Metrics Filters Include: ["^node_network_net_dev_group$", "^node_network_up$"]
示例
一个用于 collector
的示例事件如下所示
{ "@timestamp": "2024-08-20T08:38:11.185Z", "agent": { "ephemeral_id": "b9fad797-a22c-47be-b2f4-44c0a89b6c25", "id": "9822f27e-ae7c-4cee-98af-094356f8bf91", "name": "elastic-agent-35087", "type": "metricbeat", "version": "8.14.0" }, "data_stream": { "dataset": "prometheus.collector", "namespace": "52976", "type": "metrics" }, "ecs": { "version": "8.0.0" }, "elastic_agent": { "id": "9822f27e-ae7c-4cee-98af-094356f8bf91", "snapshot": false, "version": "8.14.0" }, "event": { "agent_id_status": "verified", "dataset": "prometheus.collector", "duration": 1958134070, "ingested": "2024-08-20T08:38:13Z", "module": "prometheus" }, "host": { "architecture": "x86_64", "containerized": true, "hostname": "elastic-agent-35087", "id": "345c85cf1fe945e2b19719b370c09a48", "ip": [ "192.168.241.8", "192.168.242.2" ], "mac": [ "02-42-C0-A8-F1-08", "02-42-C0-A8-F2-02" ], "name": "elastic-agent-35087", "os": { "codename": "focal", "family": "debian", "kernel": "5.4.0-189-generic", "name": "Ubuntu", "platform": "ubuntu", "type": "linux", "version": "20.04.6 LTS (Focal Fossa)" } }, "metricset": { "name": "collector", "period": 10000 }, "prometheus": { "labels": { "dialer_name": "alertmanager", "instance": "svc-prometheus:9090", "job": "prometheus" }, "labels_fingerprint": "jn10I8M3W8CSQq1v0nbhVyegvgQ=", "net_conntrack_dialer_conn_attempted_total": { "counter": 0, "rate": 0 }, "net_conntrack_dialer_conn_closed_total": { "counter": 0, "rate": 0 }, "net_conntrack_dialer_conn_established_total": { "counter": 0, "rate": 0 } }, "service": { "address": "http://svc-prometheus:9090/metrics", "type": "prometheus" } }
报告的字段为
ECS 字段参考
请参考以下 文档,了解有关 ECS 字段的详细信息。
导出的字段
字段 | 描述 | 类型 | 指标类型 |
---|---|---|---|
@timestamp |
事件时间戳。 |
date |
|
agent.id |
此 Agent 的唯一标识符(如果存在)。示例:对于 Beats,这将是 beat.id。 |
keyword |
|
cloud.account.id |
云帐户或组织 ID,用于标识多租户环境中的不同实体。示例:AWS 帐户 ID、Google Cloud ORG ID 或其他唯一标识符。 |
keyword |
|
cloud.availability_zone |
此主机运行所在的可用区。 |
keyword |
|
cloud.image.id |
云实例的映像 ID。 |
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.module |
事件模块。 |
constant_keyword |
|
host.containerized |
如果主机是容器。 |
boolean |
|
host.name |
主机的名称。它可以包含 Unix 系统上的 |
keyword |
|
host.os.build |
操作系统构建信息。 |
keyword |
|
host.os.codename |
操作系统代号(如果有)。 |
keyword |
|
metrics_count |
Elasticsearch 文档中 Prometheus 指标的总数。此值在 Ingest 管道或 Agent 处理器进行任何丰富之前计算,从而确保一致性。此字段名称保留供内部使用,不得使用 Agent 处理器或 Ingest 管道进行更改。 |
long |
|
prometheus.*.counter |
Prometheus 计数器指标 |
object |
counter |
prometheus.*.histogram |
Prometheus 直方图指标 |
object |
|
prometheus.*.rate |
Prometheus 额定计数器指标 |
object |
gauge |
prometheus.*.value |
Prometheus 仪表指标 |
object |
gauge |
prometheus.labels.* |
Prometheus 指标标签。 |
keyword |
|
prometheus.labels_fingerprint |
自动生成的 ID,表示标签对象的指纹,并包括查询名称。 |
keyword |
|
prometheus.metrics.* |
Prometheus 指标 |
object |
gauge |
service.address |
从中收集此服务数据的地址。这应该是一个 URI、网络地址(ipv4:port 或 [ipv6]:port)或资源路径(套接字)。 |
keyword |
Prometheus 服务器远程写入
编辑Prometheus remote_write
可以从已相应配置 remote_write 设置的 Prometheus 服务器接收指标,例如
remote_write: - url: "https://127.0.0.1:9201/write"
在 Kubernetes 中,还应创建一个服务资源
--- apiVersion: v1 kind: Service metadata: name: elastic-agent namespace: kube-system labels: app: elastic-agent spec: ports: - port: 9201 protocol: TCP targetPort: 9201 selector: app: elastic-agent sessionAffinity: None type: ClusterIP
此服务可用作 Prometheus 配置中的 remote_write.url
remote_write: - url: "http://elastic-agent.kube-system:9201/write"
为了确保整个队列的运行状况,应考虑以下配置 参数
-
max_shards
:设置 Prometheus 尝试将样本发送到 Elastic Agent 的最大并行数。建议此设置应等于运行 Elastic Agent 的计算机的内核数。Elastic Agent 可以并行处理连接,因此将max_shards
设置为 Elastic Agent 实际可以达到的并行数是最佳的队列配置。 -
max_samples_per_send
:设置每个发送要批量处理的样本数。建议值在 100(默认值)到 1000 之间。使用更大的批次可以提高吞吐量,并且由于 Elastic Agent 将具有相同标签的指标分组到同一事件文档中,因此存储效率更高。但是,这将增加 Elastic Agent 的内存使用量。 -
capacity
:建议将 capacity 设置为max_samples_per_send
的 3-5 倍。Capacity 设置每个分片在内存中排队的样本数,因此 capacity 应该足够高,以便能够覆盖max_samples_per_send
。
要限制 Prometheus 服务器发送的样本数量,可以使用 write_relabel_configs
配置。这是一个重新标记,它在将样本发送到远程端点之前应用于样本。示例
remote_write: - url: "https://127.0.0.1:9201/write" write_relabel_configs: - source_labels: [job] regex: 'prometheus' action: keep
发送到 http 端点的指标默认情况下将放在 prometheus.
前缀下,其标签在 prometheus.labels
下。基本配置如下所示
host: "localhost" port: "9201"
另请考虑为服务器使用安全设置,使用 TLS/SSL 配置模块,如下所示
host: "localhost" ssl.certificate: "/etc/pki/server/cert.pem" ssl.key: "/etc/pki/server/cert.key" port: "9201"
在 Prometheus 端
remote_write: - url: "https://127.0.0.1:9201/write" tls_config: cert_file: "/etc/prometheus/my_key.pem" key_file: "/etc/prometheus/my_key.key" # Disable validation of the server certificate. #insecure_skip_verify: true
示例
一个用于 remote_write
的示例事件如下所示
{ "@timestamp": "2022-09-22T12:23:35.757Z", "agent": { "ephemeral_id": "5c3d912b-9bf3-4747-b784-1f7c275a5979", "id": "af0df4c2-33b7-41fd-8eb5-573376996db2", "name": "kind-control-plane", "type": "metricbeat", "version": "8.4.0" }, "data_stream": { "dataset": "prometheus.remote_write", "namespace": "default", "type": "metrics" }, "ecs": { "version": "8.11.0" }, "elastic_agent": { "id": "af0df4c2-33b7-41fd-8eb5-573376996db2", "snapshot": true, "version": "8.4.0" }, "event": { "agent_id_status": "verified", "dataset": "prometheus.remote_write", "ingested": "2022-09-22T12:24:16Z", "module": "prometheus" }, "host": {}, "metricset": { "name": "remote_write" }, "prometheus": { "labels": { "app": "prometheus", "app_kubernetes_io_managed_by": "Helm", "chart": "prometheus-15.10.1", "component": "node-exporter", "cpu": "5", "heritage": "Helm", "instance": "172.19.0.2:9100", "job": "kubernetes-service-endpoints", "mode": "user", "namespace": "kube-system", "node": "kind-control-plane", "release": "prometheus-server", "service": "prometheus-server-node-exporter" }, "node_cpu_guest_seconds_total": { "counter": 0, "rate": 0 }, "node_cpu_seconds_total": { "counter": 2284.68, "rate": 0 } }, "service": { "type": "prometheus" } }
报告的字段为
ECS 字段参考
请参考以下 文档,了解有关 ECS 字段的详细信息。
导出的字段
字段 | 描述 | 类型 | 指标类型 |
---|---|---|---|
@timestamp |
事件时间戳。 |
date |
|
agent.id |
此 Agent 的唯一标识符(如果存在)。示例:对于 Beats,这将是 beat.id。 |
keyword |
|
cloud.account.id |
云帐户或组织 ID,用于标识多租户环境中的不同实体。示例:AWS 帐户 ID、Google Cloud ORG ID 或其他唯一标识符。 |
keyword |
|
cloud.availability_zone |
此主机运行所在的可用区。 |
keyword |
|
cloud.image.id |
云实例的映像 ID。 |
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.module |
事件模块。 |
constant_keyword |
|
host.containerized |
如果主机是容器。 |
boolean |
|
host.name |
主机的名称。它可以包含 Unix 系统上的 |
keyword |
|
host.os.build |
操作系统构建信息。 |
keyword |
|
host.os.codename |
操作系统代号(如果有)。 |
keyword |
|
metrics_count |
Elasticsearch 文档中 Prometheus 指标的总数。此值在 Ingest 管道或 Agent 处理器进行任何丰富之前计算,从而确保一致性。此字段名称保留供内部使用,不得使用 Agent 处理器或 Ingest 管道进行更改。 |
long |
|
prometheus.*.counter |
Prometheus 计数器指标 |
object |
counter |
prometheus.*.histogram |
Prometheus 直方图指标 |
object |
|
prometheus.*.rate |
Prometheus 额定计数器指标 |
object |
gauge |
prometheus.*.value |
Prometheus 仪表指标 |
object |
gauge |
prometheus.labels.* |
Prometheus 指标标签。 |
keyword |
|
prometheus.labels_fingerprint |
自动生成的 ID,表示标签对象的指纹,并包括查询名称。 |
keyword |
|
prometheus.metrics.* |
Prometheus 指标 |
object |
gauge |
prometheus.metrics_names_fingerprint |
自动生成的 ID,表示指标名称列表的指纹 |
keyword |
直方图和类型
编辑use_types
参数(默认值:true)为指标存储启用不同的布局,利用 Elasticsearch 类型,包括 直方图。
rate_counters
参数(默认值:true)启用从 Prometheus 计数器计算速率。启用后,Elastic Agent 会存储自上次收集以来的计数器增量。此指标应使一些聚合更容易且性能更高。此参数只能与 use_types
结合使用。
period
参数(默认值:60 秒)配置内部缓存的超时,该缓存存储计数器值以计算连续获取之间的速率。将验证该参数,并且所有低于 60 秒的值都将重置为默认值。
请注意,默认情况下,prometheus 以 60 秒的间隔(在远程写入中)推送数据。如果 prometheus 推送速率发生更改,则需要相应地配置 period
参数。
当启用 use_types
和 rate_counters
时,指标的存储方式如下
{ "prometheus": { "labels": { "instance": "172.27.0.2:9090", "job": "prometheus" }, "prometheus_target_interval_length_seconds_count": { "counter": 1, "rate": 0 }, "prometheus_target_interval_length_seconds_sum": { "counter": 15.000401344, "rate": 0 } "prometheus_tsdb_compaction_chunk_range_seconds_bucket": { "histogram": { "values": [50, 300, 1000, 4000, 16000], "counts": [10, 2, 34, 7] } } }, }
类型模式
编辑与 collector
指标集不同,remote_write
从 Prometheus 服务器接收原始格式的指标。因此,模块必须在内部使用启发式方法来有效地识别每个原始指标的类型。为此,使用一些名称模式来识别每个指标的类型。默认模式如下:
-
_total
后缀:指标为计数器类型 -
_sum
后缀:指标为计数器类型 -
_count
后缀:指标为计数器类型 -
_bucket
后缀且标签中包含le
:指标为直方图类型
其他所有内容都作为 Gauge 处理。此外,没有针对摘要的特殊处理,因此摘要的分位数应作为 Gauge 处理,摘要的总和和计数应作为计数器处理。
用户可以灵活地使用以下配置添加自己的模式
types_patterns: counter_patterns: ["_my_counter_suffix"] histogram_patterns: ["_my_histogram_suffix"]
上面的配置将把名称与 _my_counter_suffix
匹配的指标视为计数器,并将名称与 _my_histogram_suffix
匹配(且标签中包含 le
)的指标视为直方图。
要仅匹配特定指标,请锚定每个指标的正则表达式的开头和结尾
- 插入符号
^
匹配文本或行的开头, - 美元符号
$
匹配文本的结尾。
types_patterns: histogram_patterns: ["^my_histogram_metric$"]
请注意,当使用 types_patterns
时,提供的模式的优先级高于默认模式。例如,如果 _histogram_total
是定义的直方图模式,则像 network_bytes_histogram_total
这样的指标将被视为直方图,即使它具有后缀 _total
,而 _total
是计数器的默认模式。
指标计数
编辑Prometheus 集成中的 remote_write
数据集提供了一个 指标计数
参数,默认情况下禁用。启用后,它会计算每个 Elasticsearch 文档中 Prometheus 指标的总数。此计数存储在名为 metrics_count
的字段中,其值在 Ingest Pipeline 或 Agent Processor 执行任何富化之前计算,以确保一致性。此字段名称保留供内部使用,不得使用 Agent Processor 或 Ingest Pipeline 进行更改。
Prometheus 查询 (PromQL)
编辑Prometheus query
数据集针对 Promethes 查询 API 执行特定的 Prometheus 查询。
即时查询
编辑以下配置在单个时间点执行 up
指标的即时查询
queries: - name: 'up' path: '/api/v1/query' params: query: "up"
也可以使用更复杂的 PromQL 表达式,如下面的表达式,该表达式计算过去 5 分钟内测量的每秒 HTTP 请求速率。
queries: - name: "rate_http_requests_total" path: "/api/v1/query" params: query: "rate(prometheus_http_requests_total[5m])"
范围查询
编辑以下示例以 15 秒的查询分辨率评估 30 秒范围内的表达式 up
queries: - name: "up_master" path: "/api/v1/query_range" params: query: "up{node='master01'}" start: "2019-12-20T23:30:30.000Z" end: "2019-12-21T23:31:00.000Z" step: 15s
示例
query
的示例事件如下所示
{ "@timestamp": "2024-08-20T08:39:07.000Z", "agent": { "ephemeral_id": "cc18c40d-dcb8-4192-aede-e988d68c376c", "id": "842b000b-c1bd-4608-bbd8-2a1849afc2f5", "name": "elastic-agent-31805", "type": "metricbeat", "version": "8.14.0" }, "data_stream": { "dataset": "prometheus.query", "namespace": "54564", "type": "metrics" }, "ecs": { "version": "8.0.0" }, "elastic_agent": { "id": "842b000b-c1bd-4608-bbd8-2a1849afc2f5", "snapshot": false, "version": "8.14.0" }, "event": { "agent_id_status": "verified", "dataset": "prometheus.query", "duration": 6078736, "ingested": "2024-08-20T08:39:10Z", "module": "prometheus" }, "host": { "architecture": "x86_64", "containerized": true, "hostname": "elastic-agent-31805", "id": "345c85cf1fe945e2b19719b370c09a48", "ip": [ "192.168.241.8", "192.168.242.2" ], "mac": [ "02-42-C0-A8-F1-08", "02-42-C0-A8-F2-02" ], "name": "elastic-agent-31805", "os": { "codename": "focal", "family": "debian", "kernel": "5.4.0-189-generic", "name": "Ubuntu", "platform": "ubuntu", "type": "linux", "version": "20.04.6 LTS (Focal Fossa)" } }, "metricset": { "name": "query", "period": 10000 }, "prometheus": { "labels": { "query_name": "scalar" }, "labels_fingerprint": "uE8iX47vrW1H38mLYMD73p8/CcA=", "query": { "scalar": 100 } }, "service": { "address": "http://svc-prometheus:9090", "type": "prometheus" } }
报告的字段为
ECS 字段参考
请参考以下 文档,了解有关 ECS 字段的详细信息。
导出的字段
字段 | 描述 | 类型 | 指标类型 |
---|---|---|---|
@timestamp |
事件时间戳。 |
date |
|
agent.id |
此 Agent 的唯一标识符(如果存在)。示例:对于 Beats,这将是 beat.id。 |
keyword |
|
cloud.account.id |
云帐户或组织 ID,用于标识多租户环境中的不同实体。示例:AWS 帐户 ID、Google Cloud ORG ID 或其他唯一标识符。 |
keyword |
|
cloud.availability_zone |
此主机运行所在的可用区。 |
keyword |
|
cloud.image.id |
云实例的映像 ID。 |
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.module |
事件模块。 |
constant_keyword |
|
host.containerized |
如果主机是容器。 |
boolean |
|
host.name |
主机的名称。它可以包含 Unix 系统上的 |
keyword |
|
host.os.build |
操作系统构建信息。 |
keyword |
|
host.os.codename |
操作系统代号(如果有)。 |
keyword |
|
prometheus.labels.* |
Prometheus 指标标签。 |
keyword |
|
prometheus.labels_fingerprint |
自动生成的 ID,表示标签对象的指纹,并包括查询名称。 |
keyword |
|
prometheus.query.* |
PromQL 产生的 Prometheus 值 |
object |
gauge |
service.address |
从中收集此服务数据的地址。这应该是一个 URI、网络地址(ipv4:port 或 [ipv6]:port)或资源路径(套接字)。 |
keyword |
仪表板
编辑Prometheus 集成附带默认的概述仪表板。默认仪表板仅适用于 remote_write
数据流和 collector
数据流,如果指标是从 Prometheus 服务器指标端点抓取的。
更新日志
编辑更新日志
版本 | 详情 | Kibana 版本 |
---|---|---|
1.21.0 |
增强 (查看拉取请求) |
8.16.0 或更高版本 |
1.20.1 |
增强 (查看拉取请求) |
8.16.0 或更高版本 |
1.20.0 |
增强 (查看拉取请求) |
8.16.0 或更高版本 |
1.19.0 |
增强 (查看拉取请求) |
8.14.0 或更高版本 |
1.18.2 |
增强 (查看拉取请求) |
8.14.0 或更高版本 |
1.18.1 |
错误修复 (查看拉取请求) |
8.14.0 或更高版本 |
1.18.0 |
增强 (查看拉取请求) |
8.14.0 或更高版本 |
1.17.0 |
增强 (查看拉取请求) |
8.14.0 或更高版本 |
1.16.0 |
错误修复 (查看拉取请求) |
8.12.1 或更高版本 |
1.15.3 |
错误修复 (查看拉取请求) |
8.12.1 或更高版本 |
1.15.2 |
错误修复 (查看拉取请求) |
8.12.1 或更高版本 |
1.15.1 |
错误修复 (查看拉取请求) |
8.12.1 或更高版本 |
1.15.0 |
增强 (查看拉取请求) |
8.12.1 或更高版本 |
1.14.2 |
错误修复 (查看拉取请求) |
8.9.0 或更高版本 |
1.14.1 |
增强 (查看拉取请求) |
8.9.0 或更高版本 |
1.14.0 |
增强 (查看拉取请求) |
8.9.0 或更高版本 |
1.13.1 |
增强 (查看拉取请求) |
8.9.0 或更高版本 |
1.13.0 |
增强 (查看拉取请求) |
8.9.0 或更高版本 |
1.12.1 |
错误修复 (查看拉取请求) |
8.9.0 或更高版本 |
1.12.0 |
增强 (查看拉取请求) |
8.9.0 或更高版本 |
1.11.0 |
增强 (查看拉取请求) |
8.9.0 或更高版本 |
1.10.0 |
增强 (查看拉取请求) |
8.9.0 或更高版本 |
1.9.0 |
增强 (查看拉取请求) |
8.9.0 或更高版本 |
1.8.0 |
增强 (查看拉取请求) |
8.9.0 或更高版本 |
1.7.0 |
增强 (查看拉取请求) |
8.9.0 或更高版本 |
1.6.0 |
增强 (查看拉取请求) |
8.9.0 或更高版本 |
1.5.0 |
增强 (查看拉取请求) |
8.4.0 或更高版本 |
1.4.0 |
增强 (查看拉取请求) |
8.4.0 或更高版本 |
1.3.2 |
错误修复 (查看拉取请求) |
8.4.0 或更高版本 |
1.3.1 |
增强 (查看拉取请求) |
8.4.0 或更高版本 |
1.3.0 |
增强 (查看拉取请求) |
8.4.0 或更高版本 |
1.2.0 |
增强 (查看拉取请求) |
8.4.0 或更高版本 |
1.1.0 |
增强 (查看拉取请求) |
8.4.0 或更高版本 |
1.0.1 |
增强 (查看拉取请求) |
8.4.0 或更高版本 |
1.0.0 |
增强 (查看拉取请求) |
8.4.0 或更高版本 |
0.14.0 |
增强 (查看拉取请求) |
— |
0.13.0 |
增强 (查看拉取请求) |
— |
0.12.0 |
错误修复 (查看拉取请求) |
— |
0.11.0 |
错误修复 (查看拉取请求) |
— |
0.10.0 |
增强 (查看拉取请求) |
— |
0.9.2 |
增强 (查看拉取请求) |
— |
0.9.1 |
增强 (查看拉取请求) |
— |
0.9.0 |
增强 (查看拉取请求) |
— |
0.8.0 |
增强 (查看拉取请求) |
— |
0.7.0 |
增强 (查看拉取请求) |
— |
0.6.1 |
增强 (查看拉取请求) |
— |
0.6.0 |
增强 (查看拉取请求) |
— |
0.5.1 |
增强 (查看拉取请求) |
— |
0.5.0 |
增强 (查看拉取请求) |
— |
0.4.1 |
增强 (查看拉取请求) |
— |
0.4.0 |
增强 (查看拉取请求) |
— |
0.3.5 |
增强 (查看拉取请求) |
— |
0.3.4 |
错误修复 (查看拉取请求) |
— |
0.3.3 |
错误修复 (查看拉取请求) |
— |
0.1.0 |
增强 (查看拉取请求) |
— |