Prometheus启动参数配置及释义
1. Prometheus启动参数配置及释义
-h, --help:显示帮助信息--version:显示版本信息--config.file="prometheus.yml":启动时,指定Prometheus读取配置文件的路径。 --web.listen-address="0.0.0.0:9090" :指定网页打开Prometheus的ip和端口,默认为"0.0.0.0:9090"。--web.read-timeout=5m:页面读取请求最大超时时间 。 --web.max-connections=512:同时访问Prometheus页面的最大连接数,默认为512。--web.external-url=<URL>:Prometheus对外提供的url(eg: Prometheus通过反向代理提供服务)。用于生成一个相对和绝对的链接返回给Prometheus本身。如果这个url有路径部分,它将用于Prometheus所有HTTP端点的前缀。如果省略了,则相关的url组件将自动派生(If the URL has a path portion, it will be used to prefix all HTTP endpoints served by Prometheus. If omitted, relevant URL components will be derived automatically)。 --web.route-prefix=<path>:Web端点内部路由的前缀。默认路径:web.external-url。--web.user-assets=<path>:静态资源路径,可以在/user下找到。--web.enable-lifecycle:通过HTTP请求启用关闭和重新加载。--web.enable-admin-api:启用管理控制操作的api端点。(Enables API endpoints for admin control actions)--web.console.templates="consoles":到控制台模板目录的路径,可以在consoles/目录下找到。--web.console.libraries="console_libraries":控制台库目录的路径。 --storage.tsdb.path="data/":存储的基本路径。--storage.tsdb.retention=STORAGE.TSDB.RETENTION:存储采样的保存时间。--storage.tsdb.retention.time=STORAGE.TSDB.RETENTION.TIME:存储采样的保存时间。--storage.tsdb.retention.size=STORAGE.TSDB.RETENTION.SIZE:存储采样保留最大字节数--storage.tsdb.head-chunks-write-queue-size=0:将 head chunk 写入要进行内存映射的磁盘的队列大小。0是完全关闭队列。--storage.agent.path="data-agent/" :指标存储的基本路径。仅与agent模式一起使用。--[no-]storage.agent.wal-compression:压缩agent的wal。仅与agent模式一起使用。--storage.agent.retention.min-time=STORAGE.AGENT.RETENTION.MIN-TIME:当 WAL 被截断时,可以在考虑删除之前使用最小采样时间--storage.agent.retention.max-time=STORAGE.AGENT.RETENTION.MAX-TIME:在 WAL 被截断时被强制删除之前的最大采样时间--storage.remote.flush-deadline=<duration>:在关闭或配置重新加载时等待刷新sample的时间。--storage.remote.read-sample-limit=5e7:在单个查询中,通过远程读取接口返回的最大样本总数。0 表示无限制。--storage.remote.read-concurrent-limit=10 :最大并发远程读取调用数。0 表示无限制。仅用于服务器模式--storage.remote.read-max-bytes-in-frame=1048576:在封装之前,用于流式传输远程读取响应类型的单个帧中的最大字节数。请注意,客户端也可能对帧大小有限制。protobuf 默认建议 1MB。仅用于服务器模式。--rules.alert.for-outage-tolerance=1h:恢复 “for” 警报状态可容忍 prometheus 中断的最长时间。仅用于服务器模式--rules.alert.for-grace-period=10m:alert 和 restored “for” 状态之间的最短持续时间。仅对配置的 “for” 时间大于宽限期的警报进行维护。仅用于服务器模式--rules.alert.resend-delay=1m:在向 Alertmanager 重新发送警报之前等待的最短时间。仅用于服务器模式--rules.max-concurrent-evals=4: 可并发运行的独立规则的全局并发限制。仅用于服务器模式。--storage.tsdb.no-lockfile:不在数据目录中创建lockfile(Do not create lockfile in data directory)。--alertmanager.notification-queue-capacity=10000:等待报警通知队列的大小。--alertmanager.timeout=10s:发送警报到Alertmanager的超时时间。--query.lookback-delta=5m:允许在表达式求值期间检索度量值的delta差值(The delta difference allowed for retrieving metrics during expression evaluations)。--query.timeout=2m: 一个查询在终止之前可以执行的最长时间(如果超过2min,就会自动kill掉)。--query.max-concurrency=20:并发执行的最大查询数,默认为20。--query.max-samples=50000000:一次查询可以加载入内存的最大采样数。如果加载入内存超过最大采样数,将会查询失败。--log.level=info: 开启打印日志级别(debug,info,warn,error,fatal)。默认为info。--log.format=logfmt: 日志输出格式。(logfmt,json)--enable-feature=: 使用逗号分割打开的特性。有效参数:agent, auto-gomemlimit, exemplar-storage, expand-external-labels,memory-snapshot-on-shutdown, promql-at-modifier, promql-negative-offset, promql-per-step-stats, promql-experimental-functions,remote-write-receiver (DEPRECATED), extra-scrape-metrics, new-service-discovery-manager, auto-gomaxprocs, no-default-scrape-port,native-histograms, otlp-write-receiver. See https://prometheus.io/docs/prometheus/latest/feature_flags/
2. 参数用法:
eg:
- 未设置参数 --web.enable-lifecycle时,执行curl -X POST http://localhost:9090/-/reload 会报错:
- 启动设置参数–web.enable-lifecycle就可以用命令 curl -X POST http://localhost:9090/-/reload 重新加载配置文件了。
3. 打印日志:
-
在prometheus目录下创建文件。
touch prome.log
-
启动prometheus时,把参数–log.level=info带上。
启动命令为:
- 再用命令curl -X POST http://localhost:9090/-/reload重新加载prometheus.yml
查看日志:
可以看到日志最后一条输出Loading configuration file “filename=prometheus.yml”