prometheus与promtool命令行工具
promtheus命令:
-h
--config.file="prometheus.yml" #指定配置文件路径
--version #显示版本
--web.listen-address=":9090" #指定web监听端口
--web.config.file="" #可以启用TLS或身份验证的配置文件路径。
--web.read-timeout=5m #读取请求超时前的最大持续时间,并关闭空闲连接。
--web.max-connections=512 #最大的并发连接数
--web.external-url=<URL> #Prometheus外部可访问的URL(例如,如果Prometheus通过反向代理提供服务)。用于生成指向Prometheus本身的相对和绝对链接。如果URL有路径部分,它将用于为Prometheus服务的所有HTTP端点添加前缀。如果省略,相关的URL组件将自动派生。
--web.route-prefix=<path> #web端点内部路由的前缀。默认为--web.external-url的路径。
--web.user-assets=<path> #静态资源目录的路径,在/user下可用。
--web.enable-lifecycle #通过HTTP请求启用关闭和重新加载。
--web.enable-admin-api #启用用于管理控制操作的API端点。
--web.enable-remote-write-receiver #启用接受远程写请求的API端点。
--web.console.templates="consoles" #控制台模板目录的路径,在/consoles下可用。
--web.console.libraries="console_libraries" #控制台库目录的路径。
--web.page-title="Prometheus Time Series Collection and Processing Server" #Prometheus实例的文档标题
--web.cors.origin=".*" #允许跨域请求,支持正则表达式。它是完全锚定的。例:'https?://(domain1|domain2)\.com'
--storage.tsdb.path="data/" #用于存储度量的基本路径。仅在服务器模式下使用。
--storage.tsdb.retention.time=STORAGE.TSDB.RETENTION.TIME #在存储中保留样本的时间长短。设置此标志时,它将覆盖"storage.tsdb.retention"。如果此标志和"storage.tsdb.retention"以及"storage.tsdb.retention.size"都未设置,保留时间默认为15d。支持的单位:y, w, d, h, m, s, ms。仅在服务器模式下使用。
--storage.tsdb.retention.size=STORAGE.TSDB.RETENTION.SIZE #可以为块存储的最大字节数。需要单位,支持的单位:B, KB, MB, GB, TB, PB, EB。例如:"512MB"。基于2的幂,所以1KB是1024B。仅在服务器模式下使用。
--storage.tsdb.no-lockfile #不在数据目录中创建锁文件。仅在服务器模式下使用。
--storage.tsdb.allow-overlapping-blocks #允许块重叠,这反过来启用了垂直压缩和垂直查询合并。仅在服务器模式下使用。
--storage.tsdb.head-chunks-write-queue-size=0 #通过该队列,头块被写入磁盘以进行m-mapped,0完全禁用队列。实验性的。仅在服务器模式下使用。
--storage.agent.path="data-agent/" #用于存储度量的基本路径。仅在代理模式下使用。
--storage.agent.wal-compression #压缩代理WAL。仅在代理模式下使用。
--storage.agent.retention.min-time=STORAGE.AGENT.RETENTION.MIN-TIME #样本在被视为删除时的最小年龄,当WAL被截断时。仅在代理模式下使用。
--storage.agent.retention.max-time=STORAGE.AGENT.RETENTION.MAX-TIME #样本在被强制删除时的最大年龄,当WAL被截断时。仅在代理模式下使用。
--storage.agent.no-lockfile #不在数据目录中创建锁文件。仅在代理模式下使用。
--storage.remote.flush-deadline=<duration> #在关闭或配置重新加载时,等待刷新样本的时间。
--storage.remote.read-sample-limit=5e7 #通过远程读取接口返回的最大样本总数,在单个查询中。0表示无限制。对于流式响应类型,此限制被忽略。仅在服务器模式下使用。
--storage.remote.read-concurrent-limit=10 #并发远程读取调用的最大数量。0表示无限制。仅在服务器模式下使用。
--storage.remote.read-max-bytes-in-frame=1048576 #在编组之前,流式远程读取响应类型的单个帧中的最大字节数。注意,客户端可能也有帧大小的限制。默认推荐为1MB。仅在服务器模式下使用。
--rules.alert.for-outage-tolerance=1h #在恢复警报的"for"状态时,可以容忍prometheus中断的最大时间。仅在服务器模式下使用。
--rules.alert.for-grace-period=10m #警报和恢复"for"状态之间的最小持续时间。这只针对配置了"for"时间大于宽限期的警报进行维护。仅在服务器模式下使用。
--rules.alert.resend-delay=1m #在重新发送警报到Alertmanager之前等待的最小时间。仅在服务器模式下使用。
--alertmanager.notification-queue-capacity=10000 #待处理的Alertmanager通知队列的容量。仅在服务器模式下使用。
--query.lookback-delta=5m #在表达式评估和联邦期间检索度量的最大回溯持续时间。仅在服务器模式下使用。
--query.timeout=2m #查询可能在被中止之前需要的最大时间。仅在服务器模式下使用。
--query.max-concurrency=20 #并发执行的查询的最大数量。仅在服务器模式下使用。
--query.max-samples=50000000 #单个查询可以加载到内存中的最大样本数量。注意,如果查询试图加载更多的样本到内存中,它们将失败,所以这也限制了查询可以返回的样本数量。仅在服务器模式下使用。
--enable-feature= ... #要启用的功能名称,用逗号分隔。有效选项:agent, exemplar-storage, expand-external-labels, memory-snapshot-on-shutdown, promql-at-modifier, promql-negative-offset, promql-per-step-stats, remote-write-receiver (已弃用), extra-scrape-metrics, new-service-discovery-manager, auto-gomaxprocs。更多详情请参见https://prometheus.io/docs/prometheus/latest/feature_flags/。
--log.level=info #日志输出等级:debug, info, warn, error
--log.format=logfmt #日志输出格式:logfmt、json。默认logfmt
promtool工具:
promtool 子命令
help [子命令] #显示子命令的帮助
check [子命令]
service-discovery
config 文件 #检查文件语法
web-config
rules
metrics
query [子命令]
instant 主机 表达式 #即时查询
range 主机 表达式 #区间查询
series #系列查询
labels #标签查询
debug [子命令]
pprof
metrics
all
test [子命令]
rules
tsdb [子命令]
bench write [<flags>] [<file>]