tutorial

How to Monitor Snipe-IT with Vigilmon

Keep your Snipe-IT asset management system online — monitor the health endpoint, web UI, REST API, and SSL certificates with Vigilmon.

Snipe-IT is the leading open-source IT asset management platform, used by IT departments to track hardware, software licenses, and accessories. When Snipe-IT goes down, your team can't check out equipment, process audits, or verify license compliance. Vigilmon monitors your Snipe-IT deployment from multiple global probes and alerts you the moment anything breaks — before your help desk starts receiving calls.

What You'll Set Up

  • HTTP monitor for the Snipe-IT health endpoint
  • Web UI availability check
  • REST API endpoint monitor
  • SSL certificate expiry alert

Prerequisites

  • A running Snipe-IT instance (self-hosted via Docker, bare metal on Ubuntu/Debian, or a managed plan)
  • A free Vigilmon account

Why Monitor Snipe-IT

Snipe-IT is a Laravel application with the same multi-layer dependency stack as any production PHP app: a web server (Nginx or Apache), PHP-FPM, a MySQL/MariaDB database, and optionally a queue worker for email notifications and scheduled reports. Each layer can fail independently. A database connection timeout, for example, produces a generic 500 error page to users while Nginx continues accepting connections — the monitoring dashboards in many hosting panels show the server as "up" even though Snipe-IT is completely broken. Vigilmon's external check sees what your users see.


Step 1: Monitor the Health Endpoint

Snipe-IT includes a health check endpoint at /health that reports on the application's core dependencies. This gives you a fast, reliable signal for the database and application layer.

  1. Log in to vigilmon.online and click Add Monitor.
  2. Set Type to HTTP / HTTPS.
  3. Enter: https://snipeit.yourdomain.com/health
  4. Set Check interval to 1 minute.
  5. Set Expected status code to 200.
  6. In Expected body contains, enter "status":"ok" — Snipe-IT's health endpoint returns JSON with a status field reflecting whether all checks passed.
  7. Click Save.

If the database becomes unavailable or a required PHP extension fails, the health endpoint returns a non-200 status and Vigilmon fires an immediate alert.


Step 2: Monitor Web UI Availability

Your IT staff access Snipe-IT through the browser. Add a separate monitor for the main application URL so you catch Nginx misconfigurations, PHP-FPM exhaustion, or rendering failures that might not surface at the health endpoint:

  1. Click Add Monitor.
  2. Set Type to HTTP / HTTPS.
  3. Enter: https://snipeit.yourdomain.com
  4. Set Expected status code to 200.
  5. In Expected body contains, enter Snipe-IT — this confirms the application rendered its own login page, not an error or maintenance page.
  6. Set Response time threshold: warn at 1200ms, critical at 3500ms — asset management tools are often on internal networks with slightly higher baseline latency.
  7. Attach your alert channel and save.

Step 3: Monitor the REST API Endpoint

Snipe-IT's REST API at /api/v1 is used by integrations, MDM solutions, deployment scripts, and any automation that checks out or audits assets programmatically. An API outage may not be visible in the web UI but breaks all automated workflows instantly.

  1. Click Add Monitor.
  2. Set Type to HTTP / HTTPS.
  3. Enter: https://snipeit.yourdomain.com/api/v1/hardware?limit=1
  4. Under Request headers, add: Authorization: Bearer YOUR_API_TOKEN
    (Generate a read-only API token in Snipe-IT under Admin → API → Generate Token)
  5. Set Expected status code to 200.
  6. In Expected body contains, enter "total" — the hardware list response always includes a total field even when the asset database is empty.
  7. Set Check interval to 2 minutes (API checks can be slightly less frequent than UI checks).
  8. Save.

This monitor confirms that the API layer, authentication, and database queries are all functioning together. If any part of that chain breaks, you'll know before your MDM integration reports missing data.


Step 4: SSL Certificate Monitoring

IT asset management systems frequently store sensitive license keys and procurement data. An expired SSL certificate causes browsers to block access entirely and breaks API clients that don't handle certificate errors gracefully.

For each HTTPS monitor:

  1. Open the monitor settings.
  2. Enable SSL certificate alert.
  3. Set Warn to 21 days before expiry, Critical to 7 days.

If you use Let's Encrypt with certbot, automate renewals and add a Vigilmon heartbeat to your renewal cron to confirm it runs successfully.


Step 5: Configure Alert Channels

Route all monitors to your IT team's notification channels:

  1. In Vigilmon, go to Alert ChannelsAdd Channel.
  2. For IT help desk teams, Email or Slack work well. For 24/7 environments, use PagerDuty or a webhook to your on-call system.
  3. Test the channel using the Test button before attaching it to live monitors.
  4. Attach the channel to all Snipe-IT monitors.

Consider setting up separate channels for different severity levels: response time warnings to Slack, full downtime alerts to PagerDuty.


Step 6: Verify the Setup

Run a validation test before treating these monitors as production-ready:

  1. Temporarily change the Expected body contains on your health monitor to a string that cannot match. Wait 2 minutes and confirm an alert fires.
  2. Restore the correct value and confirm a recovery notification arrives.
  3. For the API monitor, revoke the API token briefly and confirm Vigilmon alerts on the 401 response — this validates that token expiry will be caught.
  4. Review Response time history in the Vigilmon dashboard. Snipe-IT's response time increases during audit generation and LDAP sync operations — knowing this baseline prevents false positives on your alert thresholds.

Going Further

  • LDAP sync monitoring: If Snipe-IT is integrated with Active Directory or LDAP, the sync runs on a schedule. Add a heartbeat monitor and ping it from the LDAP sync cron job so you know when syncs stop completing.
  • Scheduled reports: Snipe-IT can email scheduled asset reports. Add a heartbeat for this too — a stopped queue worker silently kills all scheduled emails.
  • Status page: If Snipe-IT serves multiple departments, a Vigilmon public status page lets department heads self-check availability during incidents without contacting IT.
  • Multi-instance monitoring: If you run separate Snipe-IT instances for different business units, Vigilmon's monitor groups let you view all of them on a single dashboard with aggregated uptime stats.

Your Snipe-IT instance is now covered from every angle: health subsystem check, web UI rendering, API layer availability, and SSL certificate expiry — all tracked from Vigilmon's global probe network.

Monitor your app with Vigilmon

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

Start free →