Komodo (formerly known as Periphery) is a self-hosted server and deployment management platform that centralizes Docker deployments, build pipelines, and infrastructure management across multiple servers. Its core runs a Rust-based web UI on port :9120 with a REST API and a network of lightweight agents installed on each managed server. When the Komodo core goes down, every automated deployment, build trigger, and stack update stalls — your infrastructure management plane goes dark. Vigilmon gives you external monitoring that watches Komodo from outside its own network and alerts you when the core becomes unreachable, certificates expire, or agent connectivity degrades.
What You'll Build
- A Vigilmon HTTP monitor on Komodo's
/healthAPI endpoint - A keyword assertion confirming the health response body
- A secondary monitor on the web UI to catch frontend failures
- SSL certificate expiry alerts for the proxied web interface
- Alert rules tuned for an infrastructure management tool
Prerequisites
- A running Komodo core instance (default port
:9120, typically proxied via Nginx or Caddy) - A free account at vigilmon.online
Step 1: Verify Komodo's /health Endpoint
Komodo exposes a health endpoint at /health on the API. It confirms that the Rust process is running and the core services are operational.
curl https://your-komodo-domain.com/health
A healthy Komodo core returns HTTP 200 with a response body indicating the system is operational. A typical response:
{"status":"ok"}
If the Komodo process has crashed or the port is inaccessible (e.g., a firewall change), you'll receive a connection refused error or a timeout. If the reverse proxy is up but Komodo itself is down, you'll receive a 502 or 503 gateway error.
Reverse proxy setup: Komodo's web UI on
:9120should be served behind Nginx or Caddy. Caddy handles TLS automatically:komodo.example.com { reverse_proxy localhost:9120 }
Step 2: Create a Vigilmon HTTP Monitor
- Log in to Vigilmon → Add Monitor → HTTP.
- URL:
https://your-komodo-domain.com/health - Check interval: 60 seconds.
- Response timeout: 10 seconds.
- Expected status:
200. - Click Save.
Vigilmon will probe Komodo's health endpoint from an external location every 60 seconds. If the Rust process exits, the Docker container crashes, or the host goes offline, Vigilmon detects it within one to two minutes and sends an alert.
Step 3: Add a Keyword Assertion
A 200 status confirms the HTTP layer responded, but a misconfigured reverse proxy can return 200 with a cached error page. Verify the actual response body:
In the monitor settings under Assertions:
- Keyword:
ok - Must be present: yes
This catches reverse proxy misconfigurations, partial startup states where the health endpoint returns an empty body, and cases where Komodo is running but the health check itself is failing silently.
Step 4: Monitor the Komodo Web UI
Komodo's operators interact with the web UI for deployment management. A separate monitor on the root URL catches frontend failures that the API health endpoint doesn't cover — for example, a broken static asset build, a misconfigured reverse proxy rule, or a Content-Security-Policy header blocking the UI from loading:
- Add Monitor → HTTP.
- URL:
https://your-komodo-domain.com/ - Expected status:
200. - Keyword:
Komodo(appears in the page title or meta tags). - Check interval: 2 minutes.
If the web UI becomes inaccessible while the API backend is healthy, this monitor alerts you while the /health monitor stays green — helping you narrow down the failure to the frontend layer.
Step 5: Monitor SSL Certificate Expiry
Komodo agents on managed servers connect to the core over HTTPS. An expired certificate breaks all agent communication — managed servers can no longer report status or receive deployment instructions, silently halting your entire deployment pipeline.
- Open your HTTP monitor → SSL Certificate.
- Enable Alert before expiry and set the threshold to 21 days.
Renew before the alert fires:
sudo certbot renew --quiet
sudo systemctl reload nginx
Agent connectivity: Komodo's Periphery agents on managed servers also use HTTPS to phone home. If the core's certificate expires, agent heartbeats fail and Komodo marks servers as unreachable. Vigilmon's SSL alert gives you three weeks to renew before that happens.
Step 6: Monitor Agent Connectivity (Indirect)
Komodo doesn't expose a public endpoint listing agent health, but you can infer agent connectivity health through Vigilmon's keyword monitoring. If Komodo's UI renders the agent status page with errors, the API response will change.
For direct agent health tracking, use a Vigilmon heartbeat on each managed server:
- In Vigilmon → Add Monitor → Heartbeat.
- Name:
komodo-agent-<server-name> - Expected interval: every 5 minutes.
- Grace period: 2 minutes.
- Copy the heartbeat URL.
On each managed server running the Komodo Periphery agent:
# /etc/cron.d/komodo-agent-heartbeat
*/5 * * * * root \
systemctl is-active --quiet periphery && \
curl -fsS -X POST https://vigilmon.online/api/heartbeat/YOUR-HEARTBEAT-ID
This heartbeat only fires when the Periphery agent service is active. If the agent crashes or the service stops, Vigilmon alerts you within 7 minutes.
Step 7: Configure Alerting
In Vigilmon under Settings → Notifications, configure alert channels:
| Trigger | Channel | Notes |
|---|---|---|
| /health returns non-200 | Email + Slack | Komodo core down; check docker compose logs komodo |
| Response timeout (> 10 s) | Email | Core under load or database issue |
| Keyword ok missing | Email | Proxy error or partial startup |
| Web UI returns non-200 | Email | Frontend broken; core API may be healthy |
| SSL certificate expires < 21 days | Email + Slack | Agent connectivity breaks on expiry; renew immediately |
| Agent heartbeat misses | Email | Periphery agent on managed server stopped |
Alert after: 1 consecutive failure for the health endpoint — Komodo is infrastructure management, and a single failure is operationally significant.
Escalation: if the core is down, route alerts to your on-call channel. Komodo outages block all automated deployments.
Running Komodo with Docker Compose
A typical Komodo deployment uses Docker Compose with the core and a MongoDB or SQLite backend:
services:
komodo:
image: ghcr.io/moghtech/komodo:latest
restart: unless-stopped
ports:
- "127.0.0.1:9120:9120"
environment:
- KOMODO_DATABASE_URI=mongodb://mongo:27017/komodo
depends_on:
- mongo
mongo:
image: mongo:7
restart: unless-stopped
volumes:
- mongo_data:/data/db
With restart: unless-stopped and Vigilmon external monitoring:
- Komodo crashes → Docker restarts the container within seconds
- If the restart loop fails (e.g., bad config, DB connection error), Vigilmon detects the outage within 60–120 seconds
- You SSH in and run
docker compose logs komodo --tail 50
What Vigilmon Catches That Server Logs Miss
| Scenario | Server logs | Vigilmon |
|---|---|---|
| Komodo core process exits unexpectedly | Container exit log | HTTP monitor fires within 60–120 s |
| Database connection pool exhausted | DB timeout in core log | /health non-200; alert fires |
| SSL certificate expired → agents disconnect | Not in core logs | SSL alert fires 21 days before expiry |
| Periphery agent stopped on managed server | Agent log on that server | Agent heartbeat monitor alerts within 7 min |
| Reverse proxy misconfiguration post-update | Nginx/Caddy error log | Keyword assertion catches wrong body |
| VPS network partition | Logs inaccessible | External Vigilmon still detecting unreachable |
Komodo is the control plane for your infrastructure — when it goes down, deployments stall and server visibility disappears. Vigilmon adds the external watchdog layer that alerts you before a Komodo outage cascades into a missed deployment window or a runaway container on a managed server nobody notices is stuck.
Start monitoring your Komodo instance in under 5 minutes — register free at vigilmon.online.