- query.max-concurrency 20
最大支持的並發查詢量。
- 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.retention 8760h0m0s
保存1年的數據。
- storage.local.num-fingerprint-mutexes 4096
當prometheus server端在進行checkpoint操作或者處理開銷較大的查詢的時候,采集指標的操作會有短暫的停頓,這是因為prometheus給時間序列分配的mutexes可能不夠用,可以通過這個指標來增大預分配的mutexes,有時候可以設置到上萬個。
- storage.local.target-heap-size 2147483648
prometheus獨占的內存空間,默認2GB的內存空間,建議不要超過3GB。
注意:在v1.6之前,沒有storage.local.target-heap-size標志。相反,必須使用標志storage.local.memory-chunks和storage.local.max-chunks-to-persist配置保存在內存中的塊數。出於兼容性原因,這些標志仍然存在 但是,storage.local.max-chunks-to-persist不再有效,如果storage.local.memory-chunks設置為非零值x,則用於將storage.local.target-heap-size值覆蓋為3072 * x。例如storage.local.memory-chunks=500000,則storage.local.target-heap-size值為3072 * 500000 = 1536000000Byte
- storage.local.max-chunks-to-persist 0
廢棄的參數,不再有效。
- storage.local.memory-chunks 0
廢棄的參數,設定prometheus內存中保留的chunks的最大個數。
- storage.local.pedantic-checks false
默認false,如果設置true,崩潰恢復時候會檢查每一個序列文件。
- storage.local.series-file-shrink-ratio 0.1
用來控制序列文件rewrite的時機,默認是在10%的chunks被移除的時候進行rewrite,如果磁盤空間夠大,不想頻繁rewrite,可以提升該值,比如0.3,即30%的chunks被移除的時候才觸發rewrite。
- storage.local.series-sync-strategy "adaptive"
控制寫入數據之后,何時同步到磁盤,有‘never‘, ‘always‘, ‘adaptive‘。同步操作可以降低因為操作系統崩潰帶來數據丟失,但是會降低寫入數據的性能。默認為adaptive的策略,即不會寫完數據就立刻同步磁盤,會利用操作系統的page cache來批量同步。
動態更新Prometheus的配置,即熱更新加載,一共有兩種方式:
(1)向prometheus進程發送SIGHUP信號
(2)curl -X POST http://localdns:9090/-/reload