Prometheus

55479
下载
Prometheus 是一个开源的监控和告警系统,专注于时间序列数据的采集与存储。由 SoundCloud 开发,配备高级查询语言PromQL,便于数据挖掘与分析,并无缝对接多种可视化平台。

promtool


Prometheus 监控系统的 promtool 使用指南。

标志

标志(flags)描述
-h, --help显示上下文相关的帮助(也尝试使用--help-long--help-man)。
--version显示应用程序版本。
--experimental启用实验性命令。
--enable-feature <...>指定启用的逗号分隔功能名称列表(仅限与 PromQL 相关且无默认端口)。有关选项和更多详细信息,请参阅特性标志

命令

命令描述
help显示帮助。
check检查资源的有效性。
query对 Prometheus 服务器执行查询。
debug获取调试信息。
push推送到 Prometheus 服务器。
test单元测试。
tsdb运行 TSDB 命令。
promql格式化和编辑 PromQL。需要使用--experimental参数。

promtool help

显示帮助。

参数

参数描述
command显示指定命令的帮助。

promtool check

检查资源的有效性。

标志

标志描述
--extended打印与指标基数相关的额外信息。

promtool check service-discovery

对给定的采集任务(job)名称执行服务发现并报告结果,包括重标记(relabeling)。

标志
标志描述默认值
<font style="color:rgb(51, 51, 51);background-color:rgb(249, 242, 244);">--timeout</font>等待发现的超时时间。<font style="color:rgb(51, 51, 51);background-color:rgb(249, 242, 244);">30s</font>
参数
参数描述是否必需
config-file需要检查的配置文件。
job要运行服务发现的采集任务。

promtool check config

检查配置文件是否有效。

标志
标志描述默认值
--syntax-only只检查配置文件的语法,忽略配置中引用的文件和内容验证。
--lint应用于配置中指定规则的校验检查。可用选项是:all, duplicate-rules, none。使用--lint=none 来禁用校验。duplicate-rules
--lint-fatal当校验错误时,以退出码3退出。false
--agent检查 Prometheus 在 Agent 模式的配置文件。
参数
参数描述是否必需
config-files需要检查的配置文件。

promtool check web-config

检查 web 配置文件是否有效。

参数
参数描述是否必需
web-config-files需要检查的配置文件。

promtool check healthy

检查 Prometheus 服务器是否健康。

标志
标志描述默认值
--http.config.filePrometheus 客户端配置文件,供 promtool 连接到 Prometheus。
--urlPrometheus 服务器的 URL。http://localhost:9090

promtool check ready

检查 Prometheus 服务器是否就绪。

标志
标志描述默认值
--http.config.filePrometheus 客户端配置文件,供 promtool 连接到 Prometheus。
--urlPrometheus 服务器的 URL。http://localhost:9090

promtool check rules

检查规则文件是否有效。

参数
参数描述
rule-files要检查的规则文件,默认从标准输入读取。

promtool check metrics

通过标准输入传递 Prometheus 元数据来检查一致性与正确性。

示例:

Terminal window
$ cat metrics.prom | promtool check metrics
$ curl -s http://localhost:9090/metrics | promtool check metrics

promtool query

针对 Prometheus 服务器运行查询。

标志

标志描述默认值
-o,--format查询的输出格式。promql
--http.config.filePrometheus 连接的 HTTP 客户端配置文件。

promtool query instant

运行即时查询。

标志
标志描述
--time查询评估时间(RFC3339 或 Unix 时间戳)。
参数
参数描述是否必要
server要查询的Prometheus服务器。
exprPromQL查询表达式。

promtool query range

运行范围查询。

标志
标志描述
--header需要发送到服务器的额外头部信息。
--start查询范围的开始时间(RFC3339 或 Unix 时间戳)。
--end查询范围的结束时间(RFC3339 或 Unix 时间戳)。
--step查询步长(持续时间)。
参数
参数描述是否必要
server要查询的 Prometheus 服务器。
exprPromQL 查询表达式。

promtool query series

运行序列查询。

标志
标志描述
--match ...序列选择器。可以指定多次。
--start开始时间(RFC3339 或 Unix 时间戳)。
--end结束时间(RFC3339 或 Unix 时间戳)。
参数
参数描述是否必要
server要查询的 Prometheus 服务器。

promtool query labels

运行标签查询。

标志
标志描述
--start开始时间(RFC3339 或 Unix 时间戳)。
--end结束时间(RFC3339 或 Unix 时间戳)。
--match ...序列选择器。可以指定多次。
参数
参数描述是否必要
server要查询的 Prometheus 服务器。
name需要提供标签值的标签名称。

promtool query analyze

对 Prometheus 中的特定指标使用模式进行分析。

参数
参数描述默认值
--server要查询的 Prometheus 服务器。
--type指标的类型:Histogram。
--duration分析的时间范围。1h
--time查询时间(RFC3339 或 Unix 时间戳),默认为当前时间。
--match ...序列选择器。可以指定多次。

promtool debug

获取调试信息。

promtool debug pprof

获取调试信息。

参数
参数描述是否必要
server获取 pprof 文件的 Prometheus 服务器。

promtool debug metrics

获取元数据调试信息。

参数
参数描述是否必要
server获取元数据的 Prometheus 服务器。

promtool debug all

获取所有调试信息。

参数
参数描述是否必要
server获取所有调试信息的 Prometheus 服务器。

promtool push

将数据推送到 Prometheus 服务器。

标志

标志描述
--http.config.filepromtool 用于连接到 Prometheus HTTP 的客户端配置文件。

promtool push metrics

将指标推送到 Prometheus remote write 端点(仅用于测试目的)。

标志
标志描述默认值
--label ...附加到指标的标签。可以指定多次。job=promtool
--timeout推送指标的等待时间。30s
--headerRemote write 头部。
参数
参数描述是否必要
remote-write-url要推送指标的 Prometheus remote write URL。
metric-files要推送的指标文件,默认从标准输入读取。

promtool test

单元测试。

promtool test rules

规则的单元测试。

标志
标志描述默认值
--run ...如果设置了,则只运行匹配正则表达式的测试组。可以指定多次。
--diff[实验性] 打印预期与接收输出之间的彩色差异输出。false
参数
参数描述是否必要
test-rule-file单元测试文件。

promtool tsdb

运行 TSDB 命令。

promtool tsdb bench

运行基准测试。

promtool tsdb bench write

运行写入性能基准测试。

标志
标志描述默认值
--out设置输出路径。benchout
--metrics需要读取的指标数量。10000
--scrapes模拟的抓取次数。3000
参数
参数描述默认值
file输入文件,包含样本数据,默认为(../../tsdb/testdata/20kseries.json)。../../tsdb/testdata/20kseries.json

promtool tsdb analyze

分析变动率、标签对的基数和压缩效率。

标志
标志描述默认值
--limit显示每个列表中的项目数量。20
--extended运行扩展的分析。
--match需要进行分析的序列匹配器。目前只支持一组匹配器。
参数
参数描述默认值
db path数据库路径(默认是data/)。data/
block id要分析的块(默认是最后一个块)。

promtool tsdb list

列出 TSDB 块。

标志
标志描述
-r, --human-readable打印可读值。
参数
参数描述默认值
db path数据库路径(默认是data/)。data/

promtool tsdb dump

从 TSDB 中导出样本。

标志
参数描述默认值
--sandbox-dir-root创建沙盒目录的根目录,在 WAL 回放生成块的情况下,沙盒目录会在结束时被清理。data/
--min-timedump 的最小时间戳。-9223372036854775808
--max-timedump 的最大时间戳。9223372036854775807
--match序列选择器。可以多次指定。{__name__=~'(?s:.*)'}
参数
参数描述默认值
db path数据库路径(默认是data/)。data/

promtool tsdb dump-openmetrics

(实验性) 将样本从 TSDB 导出到 OpenMetrics 文本格式,排除原生 Histogram 和过期标记,这些在OpenMetrics 中都不可表示。

标志
标志描述默认值
--sandbox-dir-root创建沙盒目录的根目录,在 WAL 回放生成块的情况下,沙盒目录会在结束时被清理。data/
--min-timedump 的最小时间戳。-9223372036854775808
--max-timedump 的最大时间戳。9223372036854775807
--match序列选择器。可以多次指定。{__name__=~'(?s:.*)'}
参数
参数描述默认值
db path数据库路径(默认是data/)。data/

promtool tsdb create-blocks-from

(实验性) 从输入导入样本并生成 TSDB 块。请参阅存储文档以获取更多详情。

标志
标志描述
-r, --human-readable打印可读值。
-q, --quiet不打印创建的块。

promtool tsdb create-blocks-from openmetrics

从 OpenMetrics 输入导入样本并生成 TSDB 块。请参阅存储文档以获取更多详情。

标志
标签描述
--label附加到指标的标签。可以多次指定。示例:--label=label_name=label_value
参数
参数描述默认值是否必填
input file从 OpenMetrics 文件读取样本的文件。
output directory块的输出目录。data/

promtool tsdb create-blocks-from rules

用于为新记录规则创建数据块。

标志
标志描述默认值
--http.config.filepromtool 连接到 Prometheus 的 HTTP 客户端配置文件。
--urlPrometheus API 数据处的 URL,用于从该处填充新规则。默认为 http://localhost:9090http://localhost:9090
--start开始填充新规则的时间。必须是 RFC3339 格式的日期或 Unix 时间戳。必需。
--end如果提供结束时间,则所有在提供的规则文件中列出的记录规则将被填充至结束时间。默认会填充至 3 小时前。必须是 RFC3339 格式的日期或 Unix 时间戳。
--output-dir块的输出目录。data/
--eval-interval当填充规则时,如果没有在记录规则文件中设置间隔值,则由该值决定。60s
参数
参数描述是否必填
rule-files包含要填充的记录规则的一或多个文件列表。文件中的所有记录规则都将被填充。警报规则不会被评估。

promtool promql

用于 PromQL 格式化和编辑。需要--experimental标志。

promtool promql format

格式化 PromQL 查询以呈现为美观打印形式。

参数
参数描述是否必填
queryPromQL 查询。

promtool promql label-matchers

编辑查询内包含的标签匹配器。

promtool promql label-matchers set

在查询中设置标签匹配器。

标志
标志描述默认值
-t, --type要设置的标签匹配器类型。=
参数
参数描述是否必填
queryPromQL 查询。
name设置的标签匹配器名称。
value设置的标签匹配器值。

promtool promql label-matchers delete

删除查询中的标签。

参数
参数描述是否必填
queryPromQL 查询。
name要删除的标签名称。

该文档基于 Prometheus 官方文档翻译而成。


observability.cn Authors 2024 | Documentation Distributed under CC-BY-4.0
Copyright © 2017-2024, Alibaba. All rights reserved. Alibaba has registered trademarks and uses trademarks.
浙ICP备2021005855号-32