tutorial

How to Monitor SkateJS with Vigilmon

SkateJS is a library for building web components with a functional approach — here's how to monitor SkateJS-powered applications using Vigilmon uptime checks, API health monitoring, and alerting.

SkateJS brings a functional programming model to native web components, supporting multiple rendering engines including React, Preact, and its own lit-html integration. Its standards-based approach means SkateJS components work alongside any framework — and can be embedded in applications ranging from standalone widgets to large enterprise frontends. Once you ship SkateJS components to production, Vigilmon keeps the stack healthy with HTTP uptime checks, API monitoring, SSL alerting, and build pipeline heartbeats.

What You'll Set Up

  • HTTP uptime monitor for your SkateJS application or component host
  • API and service endpoint health checks
  • SSL certificate expiry alerting
  • Cron heartbeat for your CI/CD publish pipeline
  • Alert channels for Slack, email, or webhook

Prerequisites

  • A SkateJS application or web component library deployed to a web host or package registry proxy
  • A free Vigilmon account
  • Access to your hosting environment and deployment tooling

Step 1: Monitor Your Application Host

Whether you serve SkateJS components through a standalone app, a documentation site, or a component explorer like Storybook, start with a basic HTTP uptime check:

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

Vigilmon will probe your host every minute and alert you immediately if it stops responding.


Step 2: Monitor the APIs Your Components Consume

SkateJS web components often fetch data from REST or GraphQL APIs to populate their Shadow DOM. If those APIs fail, the components render empty or broken — but the host still returns 200. Add a dedicated monitor for each data API:

  1. Click Add MonitorHTTP / HTTPS.
  2. Set the URL to your API health endpoint: https://api.yourdomain.com/health.
  3. Set Expected HTTP status to 200.
  4. Add a Keyword check for a field present in a healthy response, e.g. "status":"ok".
  5. Click Save.

For APIs without a dedicated health route, monitor the most critical endpoint your components call. A successful response from that endpoint confirms the API layer is operational.


Step 3: Validate the Custom Element Registry

SkateJS components are registered as custom elements. If the JavaScript bundle that registers them fails to load, users see raw unrendered HTML. Use a keyword monitor to verify the component bundle is loading:

  1. Click Add MonitorHTTP / HTTPS.
  2. Enter your app URL.
  3. Under Keyword check, enter a string from your app's HTML that only exists when the bundle loads correctly — for example, the custom element tag name (<my-component) in the serialized response, or a <script> src pointing to your bundle.
  4. Set Expected HTTP status to 200.
  5. Click Save.

This catches CDN configuration errors where your HTML loads but your JavaScript bundle returns a 404.


Step 4: SSL Certificate Alerts

SkateJS apps served over HTTPS require a valid TLS certificate. Expired certificates lock out all users and generate browser security warnings. Enable certificate monitoring:

  1. Open the monitor from Step 1.
  2. Enable Monitor SSL certificate.
  3. Set Alert when certificate expires in less than 21 days.
  4. Click Save.

If you use Let's Encrypt or your CDN's automatic certificate management, a 21-day window ensures Vigilmon catches renewal failures before the certificate expires.


Step 5: Heartbeat Monitoring for Your Publish Pipeline

SkateJS component libraries are typically published to npm or a private registry after a CI build. Use a Vigilmon heartbeat to verify that the publish pipeline completes successfully:

  1. In Vigilmon, click Add MonitorCron Heartbeat.

  2. Set the expected ping interval to your release cadence (e.g. 24 hours for daily releases, 60 minutes for continuous deployment).

  3. Copy the heartbeat URL: https://vigilmon.online/heartbeat/abc123.

  4. Add the ping to your CI publish step:

    npm run build
    npm publish
    curl -s https://vigilmon.online/heartbeat/abc123
    

    For GitHub Actions:

    - name: Build and publish
      run: npm run build && npm publish
    
    - name: Notify Vigilmon
      if: success()
      run: curl -s https://vigilmon.online/heartbeat/abc123
    

If the build or publish step fails, the heartbeat is never sent, and Vigilmon alerts you after the expected interval.


Step 6: Configure Alert Channels

  1. Go to Alert Channels in Vigilmon and connect your preferred notification method — Slack, email, PagerDuty, or a custom webhook.
  2. Set Consecutive failures before alert to 2 on the app host monitor to filter CDN probe noise.
  3. Set Consecutive failures before alert to 1 on API monitors — data failures are deterministic and require immediate attention.

To pause alerts during a planned deployment or maintenance window:

curl -X POST https://vigilmon.online/api/maintenance \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -d '{"monitor_id": "YOUR_MONITOR_ID", "duration_minutes": 15}'

Summary

| Monitor | Target | What It Catches | |---|---|---| | HTTP uptime | https://yourdomain.com | Host crash, CDN outage | | API health | https://api.yourdomain.com/health | Backend failure, DB disconnect | | Keyword check | App shell HTML | Missing JS bundle, broken deploy | | SSL certificate | App domain | Certificate expiry | | Cron heartbeat | Heartbeat URL | Publish pipeline failure |

SkateJS's standards-based approach means your components integrate cleanly into any environment — but that also means failures can originate from multiple layers. Vigilmon's layered monitoring strategy covers each one: the host, the APIs, the TLS certificate, and the delivery pipeline, so you catch problems before your component consumers do.

Monitor your app with Vigilmon

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

Start free →