musakhalidwork-alt/Enterprise-Observability-Stack-with-Prometheus-Grafana-Loki

GitHub: musakhalidwork-alt/Enterprise-Observability-Stack-with-Prometheus-Grafana-Loki

基于 Grafana Labs 全家桶(Loki + Alloy + Mimir + Grafana)的一站式 Docker Compose 可观测性部署方案,解决单节点环境下指标采集与日志聚合的统一管理问题。

Stars: 0 | Forks: 0

# Docker 可观测性技术栈 (Loki + Alloy + Mimir + Grafana) 本仓库包含一个使用 Docker Compose 构建的**自托管可观测性技术栈**,专为仅使用 Grafana Labs 组件的**生产就绪单节点部署**而设计。 该技术栈提供: - 📄 **Docker 容器日志** → Loki - 📊 **主机指标** → Node Exporter → Alloy → Mimir - 📈 **可视化与查询** → Grafana - 🔒 仅 **Grafana** 对外暴露给宿主机 - 🧠 没有传统的 Prometheus 实例(Mimir 作为 PromQL 后端运行) ## 🧩 组件 | 服务 | 用途 | |-------|---------| | **Loki** | 日志存储与查询 | | **Alloy** | 统一 agent(日志 + 指标) | | **Mimir** | 兼容 Prometheus 的指标后端 | | **Node Exporter** | 暴露主机指标 | | **Grafana** | 可视化 UI | ## 架构概览 Docker 容器日志 → Alloy → 日志 → Loki → 指标 → remote_write → Mimir → Grafana 关键设计决策: - 直接从 Docker json-file 日志中读取日志 - 从 node-exporter 抓取指标 - Alloy 同时处理日志和指标 - Mimir 取代了对独立 Prometheus 服务器的需求 - 只有 Grafana 可以从宿主机或公共互联网访问 ## Grafana 数据源 ### Loki (日志) - 类型:Loki - URL: http://loki:3100 ### Mimir (指标) - 类型:Prometheus - URL: http://mimir:9009/prometheus ## 安全说明 - 仅 Grafana 对外暴露给宿主机 - Loki、Mimir、Alloy 和 Node Exporter 均在 Docker 网络内部使用 - 在可能的情况下启用了 no-new-privileges - 在适用时使用了只读挂载 ## 备注 - 有意禁用了 Loki 和 Alloy 的 Healthcheck,因为它们的镜像基于 distroless 构建, 且不包含 shell 或 HTTP 客户端。 - Alloy 会自动重试,因此无需显式的健康检查门控。 ## 许可证 MIT
标签:API集成, Docker Compose, Grafana, 可观测性, 多引擎聚合, 日志收集, 版权保护, 监控系统, 请求拦截, 运维