日志类:

-log.level 可选值 [debug, info, warn, error, fatal]  例:-log.level "info"

-log.format  可选输出到syslog或者控制台  例:-log.format "logger:syslog?appname=prom&local=7"

查询类:

-query.max-concurrency 20  最大支持的并发查询量

   -query.staleness-delta 5m0s    Staleness delta allowance during expression evaluations.

-query.timeout 2m0s   查询超时时间,2分钟。超过自动被kill掉。

存储类:

  -storage.local.checkpoint-dirty-series-limit 5000   崩溃恢复时候,只恢复5000个时序数据,这样减少了prometheus的恢复时间。如果是SSD盘,可以适当增大这个值。

  -storage.local.checkpoint-interval 5m0s   5分钟执行一次落盘,将in-memory metrics and chunks持久化到磁盘。

  -storage.local.chunk-encoding-version 1     chunks的编码格式 ,默认是1

  -storage.local.engine "persisted"    开启持久化

  -storage.local.index-cache-size.label-name-to-label-values 10485760     存放prometheus里面定义的 label名称的 index cache大小,默认10MB

  -storage.local.path "/bdata/data/nowdb2"

  -storage.local.retention 8760h0m0s    保存1年的数据

  -storage.local.series-file-shrink-ratio 0.3    表示 30%的chunks被移除的时候才触发rewrite

  -storage.local.num-fingerprint-mutexes 4096 当prometheus server端在进行checkpoint操作或者处理开销较大的查询的时候,采集指标的操作会有短暂的停顿,这是因为prometheus给时间序列分配的mutexes可能不够用,可以通过这个指标来增大预分配的mutexes,有时候可以设置到上万个。

  -storage.local.series-sync-strategy "adaptive"

  -storage.local.target-heap-size 2147483648     # prometheus独占的内存空间,默认2GB的内存空间,建议不要超过3GB

Web配置:

  -web.listen-address ":9090"

  -web.max-connections 512

  -web.read-timeout 30s

目前在用的启动参数:

nohup ./prometheus 
-log.level "info"
-log.format "logger:syslog?appname=prom&local=7" info
-storage.local.checkpoint-dirty-series-limit 5000
-storage.local.checkpoint-interval 5m0s
-storage.local.chunk-encoding-version 1
-storage.local.engine "persisted"
-storage.local.index-cache-size.label-name-to-label-values 10485760
-storage.local.path "/bdata/data/nowdb2" -storage.local.retention 8760h0m0s
-storage.local.series-file-shrink-ratio 0.3
-storage.local.series-sync-strategy "adaptive"
-storage.local.target-heap-size 2147483648 &

关闭进程:

kill -SIGTERM $(pid of prometheus)

补充: ./prometheus -h的结果:

usage: prometheus [<args>]

-version false

Print version information.

-config.file "prometheus.yml"

Prometheus configuration file name.

ALERTMANAGER

-alertmanager.notification-queue-capacity 10000

The capacity of the queue for pending alert manager notifications.

-alertmanager.timeout 10s

Alert manager HTTP API timeout.

-alertmanager.url

Comma-separated list of Alertmanager URLs to send notifications to.

LOG

-log.format "\"logger:stderr\""

Set the log target and format. Example:

"logger:syslog?appname=bob&local=7" or "logger:stdout?json=true"

-log.level "\"info\""

Only log messages with the given severity or above. Valid levels:

[debug, info, warn, error, fatal]

 QUERY

-query.max-concurrency 20    最大支持的并发查询量

Maximum number of queries executed concurrently.

-query.staleness-delta 5m0s

Staleness delta allowance during expression evaluations.

-query.timeout 2m0s   查询超时时间,2分钟。超过自动被kill掉。

Maximum time a query may take before being aborted.

STORAGE 

-storage.local.checkpoint-dirty-series-limit 5000   崩溃恢复时候,只恢复5000个时序数据,这样减少了prometheus的恢复时间。如果是SSD盘,可以适当增大这个值。

If approx. that many time series are in a state that would require

a recovery operation after a crash, a checkpoint is triggered, even if

the checkpoint interval hasn't passed yet. A recovery operation requires

a disk seek. The default limit intends to keep the recovery time below

1min even on spinning disks. With SSD, recovery is much faster, so you

might want to increase this value in that case to avoid overly frequent

checkpoints. Also note that a checkpoint is never triggered before at

least as much time has passed as the last checkpoint took.

-storage.local.checkpoint-interval 5m0s   5分钟执行一次落盘,将in-memory metrics and chunks持久化到磁盘。

The time to wait between checkpoints of in-memory metrics and

chunks not yet persisted to series files. Note that a checkpoint is never

triggered before at least as much time has passed as the last checkpoint

took.

-storage.local.chunk-encoding-version 1  chunks的编码格式 ,默认是1

Which chunk encoding version to use for newly created chunks.

Currently supported is 0 (delta encoding), 1 (double-delta encoding), and

2 (double-delta encoding with variable bit-width).

-storage.local.dirty=false   是否强制开启crash recovery功能。默认 -storage.local.dirty=false的。

如果您怀疑数据库中的损坏引起的问题,可设置启动的时候 -storage.local.dirty=true强制执行crash recovery

If set, the local storage layer will perform crash recovery even if

the last shutdown appears to be clean.

-storage.local.engine "persisted"

Local storage engine. Supported values are: 'persisted' (full local

storage with on-disk persistence) and 'none' (no local storage).

-storage.local.index-cache-size.fingerprint-to-metric 10485760

The size in bytes for the fingerprint to metric index cache.

-storage.local.index-cache-size.fingerprint-to-timerange 5242880

The size in bytes for the metric time range index cache.

上面2个参数的作用: Increase the size if you have a large number of archived time series, i.e. series that have not received samples in a while but are still not old enough to be purged completely.

-storage.local.index-cache-size.label-name-to-label-values 10485760     存放prometheus里面定义的 label名称的 index cache大小,默认10MB

The size in bytes for the label name to label values index cache.

-storage.local.index-cache-size.label-pair-to-fingerprints 20971520  #

The size in bytes for the label pair to fingerprints index cache. Increase the size if a large number of time series share the same label pair or name.

-storage.local.max-chunks-to-persist 0   废弃的参数

Deprecated. This flag has no effect anymore.

-storage.local.memory-chunks 0  废弃的参数 设定prometheus内存中保留的chunks的最大个数

Deprecated. If set, -storage.local.target-heap-size will be set to

this value times 3072.

-storage.local.num-fingerprint-mutexes 4096

The number of mutexes used for fingerprint locking.

当prometheus server端在进行checkpoint操作或者处理开销较大的查询的时候,采集指标的操作会有短暂的停顿,这是因为prometheus给时间序列分配的mutexes可能不够用,可以通过这个指标来增大预分配的mutexes,有时候可以设置到上万个。

-storage.local.path "data"

Base path for metrics storage.

-storage.local.pedantic-checks false   默认false 如果设置true,崩溃恢复时候会检查每一个序列文件

If set, a crash recovery will perform checks on each series file.

This might take a very long time.

-storage.local.retention 360h0m0s   历史数据存储多久,默认15天。

How long to retain samples in the local storage.

-storage.local.series-file-shrink-ratio 0.1

A series file is only truncated (to delete samples that have

exceeded the retention period) if it shrinks by at least the provided

ratio. This saves I/O operations while causing only a limited storage

space overhead. If 0 or smaller, truncation will be performed even for a

single dropped chunk, while 1 or larger will effectively prevent any

truncation.

用来控制序列文件rewrite的时机,默认是在10%的chunks被移除的时候进行rewrite,如果磁盘空间够大,不想频繁rewrite,可以提升该值,比如0.3,即30%的chunks被移除的时候才触发rewrite。

-storage.local.series-sync-strategy "adaptive"

When to sync series files after modification. Possible values:

'never', 'always', 'adaptive'. Sync'ing slows down storage performance

but reduces the risk of data loss in case of an OS crash. With the

'adaptive' strategy, series files are sync'd for as long as the storage

is not too much behind on chunk persistence.

控制写入数据之后,何时同步到磁盘,有'never', 'always', 'adaptive'. 同步操作可以降低因为操作系统崩溃带来数据丢失,但是会降低写入数据的性能。

默认为adaptive的策略,即不会写完数据就立刻同步磁盘,会利用操作系统的page cache来批量同步。

-storage.local.target-heap-size 2147483648     # prometheus独占的内存空间,默认2GB的内存空间,建议不要超过3GB

The metrics storage attempts to limit its own memory usage such

that the total heap size approaches this value. Note that this is not a

hard limit. Actual heap size might be temporarily or permanently higher

for a variety of reasons. The default value is a relatively safe setting

to not use more than 3 GiB physical memory.

-storage.remote.graphite-address

WARNING: THIS FLAG IS UNUSED! Built-in support for InfluxDB,

Graphite, and OpenTSDB has been removed. Use Prometheus's generic remote

write feature for building remote storage integrations. See

https://prometheus.io/docs/operating/configuration/#<remote_write>

-storage.remote.graphite-prefix

WARNING: THIS FLAG IS UNUSED! Built-in support for InfluxDB,

Graphite, and OpenTSDB has been removed. Use Prometheus's generic remote

write feature for building remote storage integrations. See

https://prometheus.io/docs/operating/configuration/#<remote_write>

-storage.remote.graphite-transport

WARNING: THIS FLAG IS UNUSED! Built-in support for InfluxDB,

Graphite, and OpenTSDB has been removed. Use Prometheus's generic remote

write feature for building remote storage integrations. See

https://prometheus.io/docs/operating/configuration/#<remote_write>

-storage.remote.influxdb-url

WARNING: THIS FLAG IS UNUSED! Built-in support for InfluxDB,

Graphite, and OpenTSDB has been removed. Use Prometheus's generic remote

write feature for building remote storage integrations. See

https://prometheus.io/docs/operating/configuration/#<remote_write>

-storage.remote.influxdb.database

WARNING: THIS FLAG IS UNUSED! Built-in support for InfluxDB,

Graphite, and OpenTSDB has been removed. Use Prometheus's generic remote

write feature for building remote storage integrations. See

https://prometheus.io/docs/operating/configuration/#<remote_write>

-storage.remote.influxdb.retention-policy

WARNING: THIS FLAG IS UNUSED! Built-in support for InfluxDB,

Graphite, and OpenTSDB has been removed. Use Prometheus's generic remote

write feature for building remote storage integrations. See

https://prometheus.io/docs/operating/configuration/#<remote_write>

-storage.remote.influxdb.username

WARNING: THIS FLAG IS UNUSED! Built-in support for InfluxDB,

Graphite, and OpenTSDB has been removed. Use Prometheus's generic remote

write feature for building remote storage integrations. See

https://prometheus.io/docs/operating/configuration/#<remote_write>

-storage.remote.opentsdb-url

WARNING: THIS FLAG IS UNUSED! Built-in support for InfluxDB,

Graphite, and OpenTSDB has been removed. Use Prometheus's generic remote

write feature for building remote storage integrations. See

https://prometheus.io/docs/operating/configuration/#<remote_write>

-storage.remote.timeout

WARNING: THIS FLAG IS UNUSED! Built-in support for InfluxDB,

Graphite, and OpenTSDB has been removed. Use Prometheus's generic remote

write feature for building remote storage integrations. See

https://prometheus.io/docs/operating/configuration/#<remote_write>

== WEB ==

-web.console.libraries "console_libraries"

Path to the console library directory.

-web.console.templates "consoles"

Path to the console template directory, available at /consoles.

-web.enable-remote-shutdown false

Enable remote service shutdown.

-web.external-url

The URL under which Prometheus is externally reachable (for

example, if Prometheus is served via a reverse proxy). Used for

generating relative and absolute links back to Prometheus itself. 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.listen-address ":9090"

Address to listen on for the web interface, API, and telemetry.

-web.max-connections 512

Maximum number of simultaneous connections.

-web.read-timeout 30s

Maximum duration before timing out read of the request, and closing

idle connections.

-web.route-prefix

Prefix for the internal routes of web endpoints. Defaults to path

of -web.external-url.

-web.telemetry-path "/metrics"

Path under which to expose metrics.

-web.user-assets

Path to static asset directory, available at /user.

Prometheus监控学习笔记之prometheus 版本1.7 常用启动参数的更多相关文章

  1. Prometheus监控学习笔记之Prometheus 2.x版本的常用变化

    最近用了prometheus 2.0 版本,感觉改变还是有点大,现将改变相关记录如下: 1.prometheus.yml文件配置修改后,要想重新加载,必须在启动的时候添加参数: --web.enabl ...

  2. Prometheus监控学习笔记之Prometheus存储

    0x00 概述 Prometheus之于kubernetes(监控领域),如kubernetes之于容器编排.随着heapster不再开发和维护以及influxdb 集群方案不再开源,heapster ...

  3. Prometheus监控学习笔记之Prometheus普罗米修斯监控入门

    0x00 概述 视频讲解通过链接网易云课堂·IT技术快速入门学院进入,更多关于Prometheus的文章. Prometheus是最近几年开始流行的一个新兴监控告警工具,特别是kubernetes的流 ...

  4. Prometheus监控学习笔记之Prometheus从1.x升级到2.x

    详细参考这篇文章 https://cloud.tencent.com/developer/article/1171434 prometheus 2.0于2017-11-08发布,主要是存储引擎进行了优 ...

  5. Prometheus监控学习笔记之Prometheus的Relabel,SD以及Federation功能

    0x00 k8s 的监控设计 k8s 默认以及推荐的监控体系是它自己的一套东西:Heapster + cAdvisor + Influxdb + Grafana,具体可以看 这里 . 包括 k8s 自 ...

  6. Prometheus监控学习笔记之prometheus的federation机制

    0x00 概述 有时候对于一个公司,k8s集群或是所谓的caas只是整个技术体系的一部分,往往这个时候监控系统不仅仅要k8s集群以及k8s中部署的应用,而且要监控传统部署的项目.也就是说整个监控系统不 ...

  7. Prometheus监控学习笔记之prometheus的远端存储

    0x00 概述 prometheus在容器云的领域实力毋庸置疑,越来越多的云原生组件直接提供prometheus的metrics接口,无需额外的exporter.所以采用prometheus作为整个集 ...

  8. Prometheus监控学习笔记之Prometheus不完全避坑指南

    0x00 概述 Prometheus 是一个开源监控系统,它本身已经成为了云原生中指标监控的事实标准,几乎所有 k8s 的核心组件以及其它云原生系统都以 Prometheus 的指标格式输出自己的运行 ...

  9. Prometheus监控学习笔记之Prometheus监控简介

    0x00 Prometheus容器监控解决方案 Prometheus(普罗米修斯)是一个开源系统监控和警报工具,最初是在SoundCloud建立的.它是一个独立的开放源码项目,并且独立于任何公司.不同 ...

随机推荐

  1. JVM源码分析之MetaspaceSize和MaxMetaspaceSize的区别

    JVM加载类的时候,需要记录类的元数据,这些数据会保存在一个单独的内存区域内,在Java 7里,这个空间被称为永久代(Permgen),在Java 8里,使用元空间(Metaspace)代替了永久代. ...

  2. bit和byte的区别是什么?

    bit(位/比特):计算机运算的基础单位: byte(字节):计算机中文件大小的基本计量单位. 转换关系:8 bit = 1 Byte1024 Byte = 1 KB1024 KB = 1 MB102 ...

  3. 【Mysql】初识MySQL

    一. MySQL是客户端/服务器架构1)macOS操作系统上的默认安装目录:/usr/local/mysql/  在MySQL的安装目录下有一个bin目录,这个目录下存放着许多可执行文件.2)将该bi ...

  4. springcloud学习之路: (三) springcloud集成Zuul网关

    网关就是做一下过滤或拦截操作 让我们的服务更加安全 用户访问我们服务的时候就要先通过网关 然后再由网关转发到我们的微服务 1. 新建一个网关服务Module 2. 依然选择springboot工程 3 ...

  5. hydra使用,实例介绍

    hydra 是一个网络帐号破解工具,支持多种协议.其作者是van Hauser,David Maciejak与其共同维护.hydra在所有支持GCC的平台能很好的编译,包括Linux,所有版本的BSD ...

  6. pytest中怎么引用前置中的变量

    本文主要总结的是pytest中的前置后置怎么返回参数 我们在做自动化的过程中,如果运用的是pytest的话,会遇到怎么使用前置条件中的变量 比如: @pytest.fixture() def init ...

  7. PoI 3.17 已过时代码对比

    PoI 3.17 已过时代码对比颜色定义变化旧版本 : HSSFColor.BLACK.index新版本 : IndexedColors.BLACK.index 获取单元格格式旧版本 : cell.g ...

  8. c# 第三节 vs的安装

    本节内容: 学会安装vs 一:下载 地址:http://down.lansedongli.com/view/30323.html 二.vs2015支持的操作系统 三.vs2015的硬件要求 四.安装 ...

  9. Druid(数据库连接池) 学习资料

    学习资料 网址 官方文档 https://github.com/alibaba/druid/wiki/%E5%B8%B8%E8%A7%81%E9%97%AE%E9%A2%98 主流Java数据库连接池 ...

  10. Cannot resolve reference to bean 'mongoTemplate' while setting bean property 'mongoOperations'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with na

    问题: Springboot 启动时出错,报没法创建bean的错误,看到nested最后是关于mongoTemplate的错误. 过程: 看网上大多说的是修改mongoTemplate的配置,但是sp ...