返回资讯中心
外部精选
软件工程
#开发者实时流

Maintenant 发布:面向 Docker 和 Kubernetes 的自托管监控工具

来源标题:Show HN: Maintenant, self-hosted monitoring for Docker and Kubernetes

Maintenant 是一款面向 Docker 和 Kubernetes 的自托管监控工具,部署一个容器即可监控整个技术栈。它可自动发现容器、uptime、TLS、cron 任务、镜像更新和 CVE 等并告警,由单个 Go 二进制运行,初始内存仅几十 MB。告警可通过内置 MCP server 交给 AI agent 进一步调查,无需 PromQL、exporter 或自建面板。

Hacker News 最新benjy33792026/11/5 · 今天30 分钟阅读

以下正文由 AI 翻译自 Hacker News 最新(原文版权归原站所有),可能存在偏差,重要内容请以原文为准。

丢一个容器进去,你的整套服务栈就开始被监控了。 出问题时,固定规则会先捕获,告警推送给你,然后你的 AI agent 通过内置的 MCP server 展开排查。 Docker、Kubernetes、uptime、TLS、cron 任务、实时日志、镜像更新、CVE:全部自动发现,每一项都会告警, 而这一切只靠一个 Go 二进制文件,刚启动时只占几十 MB 内存(在繁忙主机上跑几天后约 100 MB)。不需要 PromQL,不需要 exporter,也不需要自己搭 dashboard。 在线演示 • 快速开始 • 为什么选 maintenant • Agents • 功能 • 文档 • 版本 • 定价

docker-compose.yml

services: maintenant: image: ghcr.io/kolapsis/maintenant:latest ports:

⚠️ 安全提示:会把 UI/API(自身不带认证)发布到

所有网络接口;请在前面加一个带认证的反向代理,或绑定 "127.0.0.1:8080:8080"。参见 https://docs.maintenant.dev/security/#reverse-proxy-setup。

  • "8080:8080" read_only: true security_opt:
  • no-new-privileges:true tmpfs:
  • /tmp:noexec,nosuid,size=64m volumes:
  • /var/run/docker.sock:/var/run/docker.sock:ro
  • /proc:/host/proc:ro
  • /etc/os-release:/host/etc/os-release:ro
  • maintenant-data:/data environment: MAINTENANT_ADDR: "0.0.0.0:8080" MAINTENANT_DB: "/data/maintenant.db" restart: unless-stopped volumes: maintenant-data: docker compose up -d 打开 http://localhost:8080。你的容器已经出现在那里,连同它们的健康状态、重启循环、资源占用和日志。无需任何配置。 Docker socket 访问是自动完成的:entrypoint 会读取所挂载 socket 的组,并把它授予非特权用户,Compose 和 Swarm 上都适用(在 Swarm 上,docker stack deploy 会静默忽略 group_add)。如果 socket 的属组是 root,则需要设置 DOCKER_GID=0。如果容器没有显示出来,参见故障排查。 kubectl create namespace maintenant kubectl apply -f deploy/kubernetes/ 集群内 API 自动检测,只读 RBAC,命名空间过滤,工作负载(Deployments、DaemonSets、StatefulSets)作为一等公民。Kubernetes 指南。 裸 Linux,完全不用 Docker(systemd,amd64 和 arm64,静态链接) curl -fsSL https://install.maintenant.dev | sudo bash 端点、证书和心跳无需任何容器运行时即可工作。容器监控会在运行时出现的那一刻自动开启。安装文档涵盖固定版本、离线安装和供应链验证。 云上:一个 cloud-init 文件就能在 Hetzner Cloud、DigitalOcean、Scaleway、OVHcloud 或 Vultr 上启动一台加固过的主机,并在其中运行 maintenant。 用标准技术栈监控自己的基础设施,意味着要跑 Prometheus、Grafana、Alertmanager、node-exporter、cAdvisor、blackbox-exporter、一个证书 exporter、Loki、Promtail、Trivy,外加一个处理镜像更新的东西。十来个组件,每个都有自己的配置、升级和 dashboard,只为回答一个问题:我的栈还活着吗,哪里着火了? maintenant 用一个容器回答这个问题。 我还需要 Prometheus 吗? maintenant 监控你的基础设施。Prometheus 监控你的应用。这里没有 PromQL,没有自定义 exporter,没有要设计的面板:maintenant 已经知道容器、证书、端点、cron 任务和 CVE 是什么,并在它们出现的那一刻开始监视。如果你要上报业务指标并自己写查询,那部分继续用 Prometheus。两者回答的是不同的问题,很多人两个都跑。 对比通常与它搭配堆叠的那些工具: 一个容器。一个 dashboard。一切尽在监控。 Dashboard:uptime、响应时间、资源、统一监控项 跨所有来源的统一告警 带 CVE 增强和风险评分的安全态势(Personal) 更多截图 容器自动发现 按容器和按主机的资源 端点监控 心跳与 cron 监控 TLS 证书跟踪 更新情报 网络安全洞察 你的 AI 助手,通过 MCP 接入 状态页,全部正常 状态页,降级 Agents maintenant 负责监视,你的 AI agent 负责排查。这个循环分三步: flowchart LR S[containers, endpoints,<br>certificates, cron jobs, hosts] --> M[maintenant<br>rules fire an alert] M -- webhook --> A[your agent<br>Claude Code, OpenCode, n8n] A -- MCP: logs, history,<br>active alerts --> M Loading 配合 Claude Code 使用。一个小型接收器(Python,仅标准库)运行在主机上、与 maintenant 相邻。每个触发的告警都会启动一个 headless Claude Code 会话,该会话只能调用 maintenant 的只读 MCP 工具,诊断结果写入 reports/<alert-id>.md: export RECEIVER_TOKEN=$(openssl rand -hex 32) python3 examples/agent-webhook/receiver.py # listens on 127.0.0.1:9099

what the receiver runs for each alert

claude -p "maintenant just fired this alert: {...} Investigate it read-only."
--setting-sources project --mcp-config mcp.json --strict-mcp-config --tools ""
--allowedTools mcp__maintenant__list_alerts mcp__maintenant__get_container_logs
mcp__maintenant__get_endpoint_history mcp__maintenant__get_resources mcp.json 通过 stdio 使用 docker exec -i maintenant /app/maintenant --mcp-stdio 访问 maintenant,因此不会开放任何 MCP 端口:启动 maintenant 时设置 MAINTENANT_MCP_SOCKET=true,以提供它所中继到的本地 socket。把一个 webhook 渠道指向该接收器,带上 Authorization: Bearer <token> 头,再用一个 trigger 把告警路由过去。AI agents 指南会带你走完整个配置过程。 配合 OpenCode 时,同一个接收器改为调用 opencode run 而不是 claude -p,并在 opencode.json 中把 maintenant 声明为本地 MCP server。配合 n8n 时,用一个 Webhook trigger 喂给 AI Agent 节点,其 MCP Client 工具指向你实例的 /mcp 端点。 内置 Model Context Protocol server,提供 51 个工具。问问你的 AI 助手哪里着火了,读取某个容器的日志,查看告警队列,确认一条告警,开一个 incident。支持 stdio 和 Streamable HTTP 传输,面向远程客户端(Claude 网页版、移动端和 Desktop)的 OAuth2(client id 加 secret)。 每个小节都链接到它的完整文档。

(原文较长,此处译出前 6000 字,完整内容请点「打开原文」。)

正文由 探How 从来源站点 RSS 同步,内容未经改写;遇到排版缺失或需要图片、视频时请以原文为准。

打开原文
去社区讨论 →