簡體   English   中英

保存 Prometheus 指標

[英]Save Prometheus Metrics

我正在嘗試設置 prometheus 和 grafana 以保存來自 express 應用程序的指標這是我的 docker-compose.yml 文件

version: '3'
services:
  prometheus:
    image: "prom/prometheus"
    network_mode: host
    ports:
      - "9090:9090"
    volumes:
      - /var/www/html/kubernetes/prometheus:/etc/prometheus
      - data:/prometheus-data
  grafana:
    image: "grafana/grafana"
    depends_on:
      - prometheus
    ports:
      - "1999:3000"
volumes:
  data:

這是我的快遞應用程序代碼

const express = require('express')
const promBundle = require("express-prom-bundle");
const metricsMiddleware = promBundle({includeMethod: true,includePath:true, customLabels:{app: "service_a"}});
const app = express()
const port = 3000
app.use(metricsMiddleware);
app.get('/', (req, res) => {
   return res.json({
       message:"This is Service A"
   })
})
app.get('/login', (req, res) => {
    return res.status(400).json({
        message:"error"
    })
})
app.get('/sub', (req, res) => {
   return res.json({
       message:"This is Service A SubRoute"
   })
})
app.listen(port, () => {
    console.log(`Example app listening at http://localhost:${port}`)
})

這運行完美,但問題是當我停止快速應用程序時,prometheus 中的指標/日志為空,我期待看到來自 prometheus 的舊日志。 可能保存在已安裝的卷中。 我錯過了什么?

您將使用/prometheus文件夾作為卷。 應該這樣做。

也不一定,但取決於您的主機操作系統設置,您可能需要chown to nobody本地目錄 - 請參閱此

您可以通過以下方式將所有與 Prometheus 相關的文件保存在您的卷中:

volumes:
       - ...
       - data:/prometheus

或者,您可以根據文檔將數據文件夾保存在 prometheus workdir 中,僅保留數據。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM