Geek Cookbook监控方案:SwarmProm与Grafana仪表板搭建
2026/5/1 4:07:22 网站建设 项目流程

Geek Cookbook监控方案:SwarmProm与Grafana仪表板搭建

【免费下载链接】geek-cookbookThe "Geek's Cookbook" is a collection of guides for establishing your own highly-available "private cloud" and using it to run self-hosted services such as GitLab, Plex, NextCloud, etc.项目地址: https://gitcode.com/gh_mirrors/ge/geek-cookbook

SwarmProm是Docker Swarm监控的入门工具包,集成了Prometheus、Grafana、cAdvisor、Node Exporter、Alert Manager和Unsee等组件,能帮助用户构建完整的Docker Swarm监控系统,实现数据收集、图表展示和告警管理等功能。

SwarmProm组件解析 📦

SwarmProm由多个强大组件协同工作,共同构建起Docker Swarm的监控体系:

  • Prometheus:开源的系统监控和告警工具包,负责数据的收集和存储。
  • Grafana:将收集到的数据以美观图表形式展示的工具,让数据可视化更直观。
  • cAdvisor:容器监控工具,提供容器资源使用情况和性能特征的信息。
  • Node Exporter:Prometheus的 exporter,用于收集硬件和操作系统的指标。
  • Alert Manager:处理Prometheus服务器发送的告警,进行去重、分组和路由。
  • Unsee:Alert Manager的告警仪表板,方便查看和管理告警信息。

搭建前的准备工作 🚀

启用Docker metrics导出

编辑(或创建)/etc/docker/daemon.json文件,添加以下内容以启用Docker metrics导出功能:

{ "metrics-addr" : "0.0.0.0:9323", "experimental" : true }

保存后重启Docker服务:systemctl restart docker

准备数据存储目录

创建必要的目录来存储SwarmProm相关数据和配置文件:

mkdir -p /var/data/swarmprom/dockerd-exporter/ cd /var/data/swarmprom/dockerd-exporter/ wget https://raw.githubusercontent.com/stefanprodan/swarmprom/master/dockerd-exporter/Caddyfile mkdir -p /var/data/swarmprom/prometheus/rules/ cd /var/data/swarmprom/prometheus/rules/ wget https://raw.githubusercontent.com/stefanprodan/swarmprom/master/prometheus/rules/swarm_task.rules.yml wget https://raw.githubusercontent.com/stefanprodan/swarmprom/master/prometheus/rules/swarm_node.rules.yml mkdir /var/data/runtime/swarmprom/grafana/ mkdir /var/data/runtime/swarmprom/alertmanager/ mkdir /var/data/runtime/prometheus chown nobody:nogroup /var/data/runtime/prometheus

配置Grafana环境变量

创建/var/data/swarmprom/grafana.env文件,设置Grafana的相关环境变量,包括OAuth2代理配置、管理员账号密码等:

OAUTH2_PROXY_CLIENT_ID= OAUTH2_PROXY_CLIENT_SECRET= OAUTH2_PROXY_COOKIE_SECRET= GF_AUTH_BASIC_ENABLED=false GF_SERVER_ROOT_URL=https://grafana.example.com GF_SERVER_DOMAIN=grafana.example.com GF_SECURITY_ADMIN_USER=admin GF_SECURITY_ADMIN_PASSWORD=ilovemybatmanunderpants

SwarmProm与Grafana部署步骤 📝

创建Docker Compose配置文件

基于Swarmprom官方的docker-compose.yml文件,创建适用于当前环境的Docker Swarm配置文件,定义网络、卷、配置和服务等内容。

启动SwarmProm栈

使用以下命令启动SwarmProm栈:

docker stack deploy swarmprom -c <path-to-docker-compose.yml>

Grafana仪表板展示 📊

部署完成后,登录Grafana实例,即可看到丰富的监控图表,直观展示Docker Swarm的各项指标。

这个仪表板包含了服务任务状态、健康检查、CPU使用情况等多个指标的可视化展示,帮助用户全面了解Docker Swarm的运行状态。

总结

通过SwarmProm和Grafana的结合,我们可以快速搭建起功能强大的Docker Swarm监控系统。按照本文介绍的步骤进行操作,即使是新手也能顺利完成部署,让Docker Swarm的监控变得简单而高效。

在实际使用过程中,还可以根据具体需求对监控指标和告警规则进行自定义配置,进一步提升监控系统的实用性和灵活性。

【免费下载链接】geek-cookbookThe "Geek's Cookbook" is a collection of guides for establishing your own highly-available "private cloud" and using it to run self-hosted services such as GitLab, Plex, NextCloud, etc.项目地址: https://gitcode.com/gh_mirrors/ge/geek-cookbook

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询