Skip to main content
Glama

system-status

Agente de operaciones estilo Hermes: monitoriza Ubuntu / Docker / IP pública y envía alertas a 微信书。

Funciones

  • 🐳 Monitorización de Docker: estado de los contenedores, número de reinicios, CPU/memoria, comprobaciones de salud

  • 🖥️ Monitorización del sistema: CPU, memoria, disco, carga

  • 🌐 Detección de deriva de IP pública: verificación de múltiples fuentes, alerta ante cambios

  • 💬 Alertas de 飞书: tarjeta de texto enriquecido + @指定人

  • 📊 Datos históricos en SQLite: cada muestra se guarda en la base de datos; por defecto se conservan 7 días

  • 🖼️ Panel web: tablero en tiempo real + gráficos de tendencia + flujo de alertas

    • Solo tienes que abrir http://localhost:8080/web/

  • 🌐 Interfaz HTTP / MCP: para que la usen Hermes / clientes

    • GET /health

    • GET /api/docker/containers

    • POST /api/docker/restart

    • GET /api/system

    • GET /api/ip

    • GET /api/dashboard

    • GET /api/history/system?minutes=60

    • GET /api/history/ip

    • GET /api/alerts/recent

    • GET /mcp/tools

Related MCP server: 6amdev-server-mcp

Inicio rápido

1. Crear un bot de 飞书

Chat de grupo → Configuración → Robot de grupo → Añadir → Robot personalizado → Obtén el Webhook y el Secret.

2. Configurar las variables de entorno

cp .env.example .env
# 编辑 .env,填入飞书 webhook 和 secret

3. Iniciar

docker compose up -d

4. Verificar

curl http://localhost:8080/health
curl http://localhost:8080/api/docker/containers
curl http://localhost:8080/api/system
curl http://localhost:8080/api/ip

Instrucciones de configuración

.env:

Variable

Obligatorio

Descripción

FEISHU_WEBHOOK

✅

Webhook del bot de 飞书

FEISHU_SECRET

⭕

Clave de verificación de firma

FEISHU_AT_MOBILES

⭕

Teléfonos a @, separados por comas

FEISHU_AT_ALL

⭕

Indicar si se @a todos

CHECK_INTERVAL

⭕

Intervalo de verificación (segundos), 60 por defecto

HTTP_PORT

⭕

Puerto HTTP, 8080 por defecto

Integración con Hermes

Hermes puede llamar directamente a estos puntos a través de HTTP MCP. Añade esto en la configuración de Hermes:

mcp_servers:
  - name: system-status
    type: http
    base_url: http://localhost:8080
    tools:
      - name: list_containers
        method: GET
        path: /api/docker/containers
      - name: system_health
        method: GET
        path: /api/system
      - name: check_public_ip
        method: GET
        path: /api/ip
      - name: restart_container
        method: POST
        path: /api/docker/restart
        body_schema:
          type: object
          properties:
            name: { type: string }

Luego puedes decirle a Hermes:

"Lista todos los contenedores detenidos" "Reinicia mysql-01" "¿Cuál es la IP pública actual?" "¿Cómo está la salud del sistema?"

Estructura del proyecto

system-status/
├── src/
│   ├── index.ts            # 入口
│   ├── config.ts           # 配置加载
│   ├── mcp/server.ts       # HTTP / MCP 接口
│   ├── monitor/
│   │   ├── docker.ts       # Docker 监控
│   │   ├── system.ts       # 系统监控
│   │   ├── ip.ts           # 公网 IP 检测
│   │   └── loop.ts         # 监控主循环
│   └── alert/
│       ├── feishu.ts       # 飞书 Webhook + 签名
│       └── templates.ts    # 告警模板
├── config/rules.yaml       # 告警规则
├── Dockerfile
├── docker-compose.yml
└── .env.example

Enfriamiento de alertas

Por defecto, las alertas del mismo tipo no se vuelven a enviar durante 5 minutos (para evitar tormentas de alertas). Puedes ajustar COOLDOWN_MS en src/monitor/loop.ts.

Avisos de seguridad

  • ⚠️ docker.sock equivale a permisos de root; móntalo siempre en solo lectura con :ro

  • ⚠️ El contenedor se ejecuta con privileged: true; evalúa el riesgo en producción

  • ⚠️ No subas el Webhook de 飞书 a Git

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    F
    maintenance
    Multi-machine system monitor with a built-in MCP server that enables AI agents to query health metrics, manage processes, schedule cron jobs, and run diagnostics across local and remote machines.
    133 npm
    Apache 2.0
  • A
    license
    B
    quality
    D
    maintenance
    MCP server for managing Ubuntu servers with AI integration, enabling system monitoring, Docker control, Gitea repository management, Ollama LLM interaction, workspace file operations, and Claude Code assistant via natural language.
    34
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    Official Hyperping MCP server for uptime, API, cron and server monitoring. 26 tools covering monitors, outages and timelines, uptime, response time, MTTR and MTTA, on-call schedules and escalation policies, over a remote Streamable HTTP endpoint with Bearer token auth and no install.
    1
    MIT