tutorial

Monitoring Mia-Platform with Vigilmon

Mia-Platform is an enterprise Internal Developer Platform — but platform reliability requires more than built-in dashboards. Here's how to monitor your Mia-Platform services, microservices catalog, and Console availability with Vigilmon.

Mia-Platform is an enterprise Internal Developer Platform (IDP) that lets engineering teams provision, configure, and deploy microservices through a unified Console and marketplace. When the platform itself goes down — the Console, the API Gateway, or the runtime services — every team that depends on it is blocked. Vigilmon gives you uptime monitoring and alerting across every layer of your Mia-Platform installation so platform outages are caught before they become escalations.

What You'll Set Up

  • HTTP uptime monitors for the Mia-Platform Console and API Gateway
  • Health-check endpoint monitoring for microservices in the service catalog
  • Cron heartbeat monitoring for background jobs and event-driven services
  • SSL certificate alerts for Console and runtime domains

Prerequisites

  • Mia-Platform 13+ (self-hosted or SaaS tenant)
  • Access to Console URLs and deployed microservice endpoints
  • A free Vigilmon account

Step 1: Monitor the Mia-Platform Console

The Console is the central entry point for every developer on your platform. If it goes down, teams lose the ability to deploy, configure, or inspect their projects.

  1. Log in to vigilmon.online and click Add Monitor.
  2. Set Type to HTTP / HTTPS.
  3. Enter your Console URL: https://console.your-company.com.
  4. Set Check interval to 1 minute.
  5. Set Expected HTTP status to 200.
  6. Click Save.

For SaaS tenants, use the URL provided by Mia-Platform support. For self-hosted installations, the Console is served through your Kubernetes ingress — make sure the URL resolves outside your cluster network so the monitor reflects the same experience your developers have.


Step 2: Monitor the API Gateway

Mia-Platform's API Gateway (built on Envoy or Kong depending on your version) is the runtime traffic entry point for all deployed microservices. A gateway outage silently breaks every service without surfacing in individual service logs.

Add a monitor for the gateway health endpoint:

  1. Click Add MonitorHTTP / HTTPS.
  2. Enter the gateway health URL: https://api.your-company.com/healthz.
  3. Set Check interval to 1 minute.
  4. Set Expected HTTP status to 200.
  5. Click Save.

If your gateway does not expose a /healthz endpoint, probe a known stable passthrough route:

# Confirm the gateway is reachable and routing correctly
curl -I https://api.your-company.com/your-service/health

Use that URL as the Vigilmon monitor target.


Step 3: Add Health Endpoints to Microservices

Every microservice deployed through the Mia-Platform service catalog should expose a /-/healthz route — the platform's standard convention. Vigilmon monitors these endpoints individually so you know which service is unhealthy, not just that something in your mesh is down.

Mia-Platform provides a @mia-platform/lc39 Node.js framework that auto-generates the health route:

// index.js (lc39-based service)
const lc39 = require('@mia-platform/lc39')

async function main() {
  const fastify = await lc39('./src/index.js', {
    logLevel: 'info',
    port: 3000,
  })
  return fastify
}

main()

The /-/healthz and /-/ready routes are available automatically. For custom services not using lc39, add a minimal health route:

// Express
app.get('/-/healthz', (req, res) => {
  res.json({ status: 'ok', version: process.env.npm_package_version })
})
# FastAPI
@app.get("/-/healthz")
async def health():
    return {"status": "ok"}

For each critical microservice, add a Vigilmon monitor targeting https://api.your-company.com/your-service/-/healthz.


Step 4: Monitor Deployed Environments

Mia-Platform organizes services by project and environment (development, staging, production). Monitor each environment's API base separately so you catch environment-specific misconfigurations or routing failures:

| Environment | URL Pattern | Monitor Priority | |---|---|---| | Production | https://api.your-company.com/ | Critical | | Staging | https://api-staging.your-company.com/ | Warning | | Development | https://api-dev.your-company.com/ | Informational |

Set stricter alert thresholds (e.g. 1 consecutive failure = alert) for production and more relaxed thresholds for development environments where transient failures are expected.


Step 5: Heartbeat Monitoring for Event-Driven Services

Mia-Platform projects often include event-driven microservices that consume from Kafka or NATS topics — these services have no inbound HTTP endpoint to probe. Use Vigilmon heartbeat monitoring to confirm they're alive.

  1. In Vigilmon, click Add MonitorCron Heartbeat.
  2. Set the expected ping interval (e.g. 5 minutes for a service that processes events continuously).
  3. Copy the heartbeat URL: https://vigilmon.online/heartbeat/abc123.
  4. In your event consumer, send the ping periodically:
const axios = require('axios')

setInterval(async () => {
  try {
    await axios.get('https://vigilmon.online/heartbeat/abc123', { timeout: 3000 })
  } catch (e) {
    // non-fatal — log but continue processing
    console.error('Vigilmon heartbeat failed', e.message)
  }
}, 5 * 60 * 1000) // ping every 5 minutes

If the consumer crashes or falls behind its topic lag threshold, the heartbeat stops and Vigilmon alerts.


Step 6: SSL Certificate Alerts for Platform Domains

Mia-Platform installations typically have several TLS-terminated domains: the Console, the API Gateway, and potentially separate ingress endpoints per project. Certificate expiry on any of these silently breaks access for developers and end users.

For each domain:

  1. Open the HTTP monitor created in earlier steps.
  2. Enable Monitor SSL certificate.
  3. Set Alert when certificate expires in less than 21 days.
  4. Click Save.

List all your platform domains to make sure none are missed:

kubectl get ingress -A -o jsonpath='{range .items[*]}{.spec.rules[*].host}{"\n"}{end}' | sort -u

Add a Vigilmon SSL monitor for every hostname returned.


Step 7: Configure Alert Channels

  1. Go to Alert Channels in Vigilmon and add Slack, email, or a webhook to your incident management tool.
  2. For platform-level monitors (Console, API Gateway), set Consecutive failures before alert to 1 — platform outages have immediate blast radius.
  3. For individual microservice monitors, set it to 2 to absorb rolling restarts or brief pod rescheduling.
  4. Use Vigilmon's maintenance windows when deploying platform upgrades:
# Suppress alerts during a Mia-Platform Console upgrade
curl -X POST https://vigilmon.online/api/maintenance \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -d '{"monitor_id": "console-monitor-id", "duration_minutes": 15}'

Summary

| Monitor | Target | What It Catches | |---|---|---| | Console HTTP | https://console.your-company.com | Console outage, ingress failure | | API Gateway | https://api.your-company.com/healthz | Gateway crash, routing failure | | Microservice health | /-/healthz per service | Service crash, bad deploy | | Event consumer heartbeat | Heartbeat URL | Consumer crash, message queue lag | | SSL certificates | All platform domains | Certificate expiry, renewal failure |

Mia-Platform centralizes the developer experience for your entire engineering org — which makes monitoring the platform itself more critical than monitoring any single application it hosts. With Vigilmon covering the Console, API Gateway, individual services, and SSL certificates, you know about platform degradation before your developers do.

Monitor your app with Vigilmon

Free plan — 5 monitors, no credit card required. Up and running in 60 seconds.

Start free →