DEV Community

Vigilmon
Vigilmon

Posted on

How to Monitor IBM Cloud Applications with Vigilmon

How to Monitor IBM Cloud Applications with Vigilmon

IBM Cloud hosts critical enterprise workloads including IBM Cloud Kubernetes Service (IKS), IBM Cloud Foundry applications, IBM Functions (serverless), and IBM Databases for PostgreSQL, MongoDB, and Redis. External uptime monitoring complements IBM's native monitoring tools by giving you the user's perspective on availability.

This guide shows you how to monitor IBM Cloud applications with Vigilmon.

Why External Monitoring for IBM Cloud?

IBM Cloud Activity Tracker and IBM Log Analysis provide observability from inside IBM Cloud, but they don't:

  • Monitor your application endpoint from outside IBM's network
  • Check DNS resolution as external users experience it
  • Provide an independent SSL certificate expiry monitor
  • Generate a public status page for your customers
  • Send Slack or PagerDuty alerts without IBM Cloud integration setup

Vigilmon fills these gaps in minutes.

Monitoring IBM Cloud Foundry Applications

IBM Cloud Foundry apps run at https://yourapp.mybluemix.net or your custom domain.

Add a health endpoint to your Cloud Foundry app:

// Node.js on IBM Cloud Foundry
const express = require('express');
const app = express();

app.get('/health', (req, res) => {
  res.json({ status: 'ok', platform: 'ibm-cloud-foundry' });
});

const port = process.env.PORT || 3000;
app.listen(port);
Enter fullscreen mode Exit fullscreen mode

Set up Vigilmon:

  1. Sign up at vigilmon.online
  2. Add MonitorHTTP/HTTPS
  3. URL: https://yourapp.mybluemix.net/health
  4. Interval: 1 minute
  5. Enable SSL monitoring (automatic)

Monitoring IBM Cloud Kubernetes Service (IKS)

For applications on IKS, expose a health endpoint via a Kubernetes service:

# k8s/health-service.yaml
apiVersion: v1
kind: Service
metadata:
  name: health-svc
  annotations:
    service.kubernetes.io/ibm-load-balancer-cloud-provider-ip-type: public
spec:
  type: LoadBalancer
  selector:
    app: your-app
  ports:
  - port: 80
    targetPort: 8080
Enter fullscreen mode Exit fullscreen mode
# Python Flask health endpoint
from flask import Flask, jsonify
app = Flask(__name__)

@app.route('/health')
def health():
    return jsonify({'status': 'ok', 'cluster': 'iks-production', 'region': 'us-south'})
Enter fullscreen mode Exit fullscreen mode

Monitor the IBM Cloud Load Balancer IP or Ingress domain with Vigilmon.

Monitoring IBM Functions (Serverless)

For IBM Functions (OpenWhisk-based) web actions:

// IBM Functions health action
function main(params) {
  return {
    statusCode: 200,
    headers: { 'Content-Type': 'application/json' },
    body: JSON.stringify({ status: 'ok', function: 'health-check' })
  };
}
Enter fullscreen mode Exit fullscreen mode

Deploy as a web action and monitor the HTTPS endpoint:

https://us-south.functions.appdomain.cloud/api/v1/web/yourorg_yourspace/default/health
Enter fullscreen mode Exit fullscreen mode

Monitoring IBM Databases (PostgreSQL, MongoDB, Redis)

For IBM Databases for PostgreSQL:

# Application health check that tests DB connectivity
import psycopg2
from flask import Flask, jsonify

app = Flask(__name__)

IBM_DB_URI = 'postgresql://user:pass@host:port/db?sslmode=require'

@app.route('/health/db')
def health_db():
    try:
        conn = psycopg2.connect(IBM_DB_URI)
        conn.close()
        return jsonify({'status': 'ok', 'database': 'postgresql'})
    except Exception as e:
        return jsonify({'status': 'error', 'message': str(e)}), 503
Enter fullscreen mode Exit fullscreen mode

Vigilmon monitors this HTTP endpoint and triggers alerts on 503 responses.

IBM Cloud VPC Applications

For workloads running on IBM Cloud VPC compute instances:

  1. Ensure your instance has a floating IP or is behind a Public Load Balancer
  2. Open port 443 in your VPC security group for Vigilmon's monitoring IPs
  3. Add health endpoint to your application
  4. Configure Vigilmon to monitor https://your-floating-ip-or-domain/health

SSL Certificate Monitoring

IBM Cloud applications using custom domains with IBM Certificate Manager need external SSL monitoring. Vigilmon:

  • Checks SSL validity independently of IBM's certificate manager
  • Alerts 30 days and 14 days before expiry
  • Works for IBM-managed and Let's Encrypt certificates

Alert Integration

Vigilmon sends alerts to:

  • Email — immediate downtime notification
  • Slack — integrate with IBM DevOps team channels
  • PagerDuty — trigger on-call for production IBM Cloud incidents
  • Webhooks — connect to IBM Event Notifications service or ServiceNow

Summary

Monitor IBM Cloud applications with Vigilmon:

  1. Add health endpoints to Cloud Foundry, IKS, or Functions workloads
  2. Create HTTP monitors in Vigilmon for external availability checks
  3. SSL monitoring is automatic for HTTPS endpoints
  4. Configure Slack/PagerDuty for your IBM Cloud ops team
  5. Share your status page with enterprise customers

Start monitoring IBM Cloud with Vigilmon →

Top comments (0)