Skip to content

HyxiaoGe/prometheus-stack

Repository files navigation

Prometheus Stack

Dev 服务器(192.168.1.10)上的可观测性栈:Prometheus + Grafana + Loki + Promtail + cadvisor + node-exporter + 各类 exporter + Pushgateway。

快速启动

docker compose up -d

访问:

目录结构

.
├── docker-compose.yml          # 整套服务编排
├── prometheus.yml              # Prometheus 抓取配置
├── loki-config.yml             # Loki 配置
├── promtail-config.yml         # Promtail 日志采集配置
├── grafana/
│   └── provisioning/
│       ├── datasources/
│       │   └── datasources.yml # Prometheus + Loki datasource
│       └── dashboards/
│           ├── default.yml     # dashboard provider 配置
│           ├── node-exporter-full.json
│           ├── postgres.json
│           ├── redis.json
│           ├── minio.json
│           ├── windows-exporter.json
│           ├── nginx-exporter.json
│           └── docker-overview.json
└── data/                       # 运行时数据,被 .gitignore 排除

维护操作

改 Dashboard

允许两种方式:

  1. 编辑 JSON 文件:直接改 grafana/provisioning/dashboards/*.json,30 秒内 Grafana 会热重载
  2. Grafana UI 改完再导出allowUiUpdates: true 允许 UI 直接改;改完用 Grafana API 导出 JSON 覆盖文件,提交 git

加新 Dashboard

把 JSON 放进 grafana/provisioning/dashboards/ 即可,Grafana 自动加载。

Pushgateway 清理(CI/CD 旧分支数据)

每周日 04:35 自动跑 ~/pushgw_clean.py --apply,删除非 master 分支的 group。

内存自愈

每周日 04:30 自动重启 loki-mcp + litellm-proxy(两个易内存累积的容器)。

项目特定 Dashboard(不在 provisioning 里)

以下 dashboard 因为依赖项目自定义指标,仍由 sqlite 管理,不入 git:

  • CI/CD Live Runner (cicd-live-runner):依赖 fusion 项目 GitHub Actions push 的 cicd_* 指标
  • Image Service (image-service):依赖 fusion image-service 暴露的 image_generation_*
  • Docker Logs:依赖 Loki 标签结构(如以后多项目共享 Loki,可入 git)

安全提示

docker-compose.ymlGF_SECURITY_ADMIN_PASSWORD=admin 是明文,建议改用 .env

environment:
  - GF_SECURITY_ADMIN_PASSWORD=${GRAFANA_ADMIN_PASSWORD:-admin}

然后 .env 写真密码(已 gitignore)。

About

Dev observability stack: Prometheus + Grafana + Loki + Promtail + cadvisor + exporters with 7 community dashboards provisioned

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors