DEV Community

Vigilmon
Vigilmon

Posted on

How to Monitor Your Vultr VPS or Bare Metal Server with Vigilmon

How to Monitor Your Vultr VPS or Bare Metal Server with Vigilmon

Vultr offers VPS, bare metal, and Kubernetes clusters at competitive prices. Vigilmon adds external uptime monitoring to your Vultr infrastructure — so you know when your app goes down, not just when your server is offline.

What Vultr Monitoring Doesn't Cover

Vultr's built-in monitoring tracks:

  • Server CPU, RAM, disk I/O
  • Network traffic
  • Bandwidth alerts

It does NOT monitor whether your application is actually serving requests. For that, you need external monitoring like Vigilmon.

Step 1: Add a Health Endpoint

Nginx Example

# /etc/nginx/sites-available/default
server {
    listen 80;
    server_name your-domain.com;

    location = /health {
        access_log off;
        return 200 '{"status":"ok"}';
        add_header Content-Type application/json;
    }

    # Your app proxy
    location / {
        proxy_pass http://localhost:3000;
        proxy_http_version 1.1;
        proxy_set_header Host $host;
    }
}
Enter fullscreen mode Exit fullscreen mode

Caddy Example

If you use Caddy (popular on Vultr for automatic HTTPS):

your-domain.com {
    handle /health {
        respond `{"status":"ok"}` 200 {
            header Content-Type application/json
        }
    }

    handle {
        reverse_proxy localhost:3000
    }
}
Enter fullscreen mode Exit fullscreen mode

Step 2: Configure Vultr Firewall

In the Vultr control panel:

  1. Go to Firewall → Create/edit your firewall group
  2. Add inbound rule: TCP port 80 (HTTP)
  3. Add inbound rule: TCP port 443 (HTTPS)
  4. Assign firewall group to your instance

Step 3: Add Monitor in Vigilmon

  1. Sign up at vigilmon.online
  2. Click Add Monitor
  3. URL: https://your-domain.com/health
  4. Interval: 1 minute
  5. Alert contacts: email + Slack

Monitoring Vultr Kubernetes Engine (VKE)

For Vultr Kubernetes:

apiVersion: apps/v1
kind: Deployment
metadata:
  name: api
spec:
  template:
    spec:
      containers:
      - name: api
        image: your-image:latest
        livenessProbe:
          httpGet:
            path: /health
            port: 8080
          periodSeconds: 30
Enter fullscreen mode Exit fullscreen mode

Then add the LoadBalancer's external IP or domain to Vigilmon.

Alerting Setup

Vigilmon alert flow:
  /health returns non-2xx OR times out
     → Email: immediate notification
     → Slack: post to #incidents
     → Webhook: trigger PagerDuty/OpsGenie
Enter fullscreen mode Exit fullscreen mode

Monitoring Bare Metal

Vultr bare metal is powerful but has no auto-restart. Combined with Vigilmon:

  1. Vigilmon detects the app is down
  2. Webhook triggers your restart script or Ansible playbook
  3. Follow-up alert when the app recovers

Start monitoring your Vultr infrastructure free at vigilmon.online.

Top comments (0)