[英]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.