Health Monitoring
Health monitoring gives you deep visibility into your Magento store's internal systems. Unlike HTTP checks that only verify your site is responding, health monitoring tracks the status of critical subsystems like cron jobs, indexers, cache, search engine, and more.
How It Works
- Install the Byte8_Pulsar Magento 2 extension on your store
- Configure the API key in Magento Admin > Stores > Configuration > Byte8 > Pulsar
- Enter the same API key in your Pulsar dashboard under Health Endpoint settings
- Pulsar periodically calls your store's
/pulsar/healthendpoint and evaluates the response
Each health check returns data from up to 23 collectors, each monitoring a different subsystem — from cron and indexers to security, skimmer detection, and transactional email.
Collectors
| Collector | What It Monitors |
|---|---|
| Cron | Cron job execution, pending/stuck/failed jobs, heartbeat |
| Indexer | Index status (valid, invalid, working), stuck indexers |
| Cache | Cache types (config, layout, FPC, block_html), invalidation status, Varnish |
| Database | Connection health, thread count, uptime |
| Database Size | Total database size, largest tables |
| System | PHP version, disk space, memory limits, Magento version |
| Search | OpenSearch/Elasticsearch cluster health, index count, shards |
| Queue | Message queue status (pending, in-progress, errors) |
| Deploy | Deployment mode (production/developer), compilation, maintenance mode |
| Redis | Redis instances (cache, session, page_cache), memory, evictions |
| Log | Log file sizes, debug logging status, report count |
| Admin Security | Admin users, 2FA enrollment, failed logins, locked accounts |
| Config Hygiene | JS/CSS merge settings, async email, configuration best practices |
| SSL | Certificate validity, expiry date, issuer |
| Orders | Order volume (24h), failed/canceled orders, stuck payments |
| Integrations | Third-party integration status |
| PHP-FPM | PHP-FPM process pool status |
| Media Integrity | Scans pub/media/ for PHP-executable files that should never live there (webshell/upload compromise) |
| Upload Endpoint | Scans access logs for hits on file-upload endpoints from known attack tools |
| Content Integrity | Scans DB-stored HTML (config head/footer, CMS blocks/pages, all scopes) for injected skimmer / obfuscated JavaScript — the Magecart attack surface an ordinary check can't see |
| Applied Patches | Inventories security patches and verifies each is still present in the live code (powers advisory suppression) |
| Transactional Email | Detects order/invoice/shipment/credit-memo emails that were generated but never actually sent |
| Log Errors | Parses recent exception/system logs into deduplicated error signatures with counts |
Each collector reports one of four statuses:
- Healthy - Operating normally
- Degraded - Partial issues, may need attention
- Critical - Immediate attention required
- Compromised - A security compromise (e.g. an injected skimmer or a webshell in
pub/media/). Tracked as a security event separate from downtime, and it does not count against your uptime.
Collector Overrides
You can configure per-collector alert behavior directly in Pulsar, without changing your Magento extension settings. This is useful when:
- A collector is noisy (e.g., cron flapping between degraded/healthy)
- You want to acknowledge a known issue without receiving repeated alerts
- You only care about critical failures for certain collectors
Mute a Collector
Muting a collector suppresses all alerts for it. The collector data is still collected and displayed, but no alerts or notifications are generated.
Minimum Severity
Set the minimum severity threshold per collector:
- Any issue (default) - Alert on both degraded and critical
- Critical only - Only alert when the collector reaches critical status
How to Configure
- Navigate to your site's detail page in the Pulsar dashboard
- Find the Collector Alert Overrides card (visible when health monitoring is enabled)
- Click Configure
- Toggle mute or set severity thresholds for individual collectors
- Click Save Overrides
Alert Logic
Health monitoring uses a confirmation-based system to prevent false alerts:
- Confirmation threshold - A health check must fail consecutively (default: 2 times) before an alert is created
- Per-collector tracking - New collector failures generate alerts even if the site is already degraded
- Flapping detection - If a collector keeps toggling between healthy and degraded, Pulsar detects the pattern and avoids duplicate alerts
- Recovery confirmation - The site must be fully healthy for consecutive checks before a recovery notification is sent
Alert Types
| Alert Type | Trigger |
|---|---|
health_degraded | One or more collectors degraded |
health_critical | One or more collectors critical |
health_compromised | A collector reported a security compromise (skimmer / webshell) — pages instantly |
log_errors_new | A new error signature appeared in the logs (rate-limited to avoid noise) |
| Recovery | All collectors healthy, confirmed |
A few collectors are informational and never page on their own — they populate the dashboard but are excluded from the alerting rollup: Database Size and Log Errors (Log Errors instead drives the rate-limited log_errors_new alert). Low-severity System and Content Integrity signals are likewise advisory; Content Integrity only pages when it finds an actual compromise.
Security Advisories (CVE awareness)
Because the System collector reports your exact Magento version and edition, Pulsar can match your store against published security advisories (NVD, Adobe bulletins, GitHub, and Sansec). When a CVE affects your version, you get a Security Advisory alert — and the Applied Patches collector suppresses it if it verifies you've already applied the fix, re-alerting only if that patch later disappears (e.g. wiped by a composer install). Security advisories are incident-severity and page instantly.
Detection Signature Feed
The Content Integrity collector ships with a built-in set of skimmer / obfuscation signatures. The Detection Signature Feed keeps that set current between extension releases: the module pulls Pulsar's latest content-integrity signatures on a schedule, so newly discovered attack patterns are detected without a module upgrade.
It's a one-way pull from your store to Pulsar (GET /signatures/bundle),
authenticated with a shared bearer token. It's best-effort and fail-safe —
if the feed is ever unreachable, the module keeps the last set it successfully
fetched (and, failing that, the signatures shipped with the module). It never
affects your storefront.
Configuration
In Magento Admin, go to Stores → Configuration → Byte8 → Pulsar → Detection Signature Feed:
| Setting | Value |
|---|---|
| Enable Signature Feed | Yes |
| Feed URL | https://pulsar.byte8.io/signatures/bundle |
| Feed Token | The token provided to you by Byte8 (stored encrypted) |
Leave the Feed URL empty to disable pulling. The module fetches hourly via cron;
to pull immediately after configuring, run bin/magento cron:run --group=default.
Each fetch sends an If-None-Match header, so an unchanged signature set costs a
cheap 304 Not Modified — the module only downloads a new bundle when Pulsar has
actually published one.
Enabling/Disabling Collectors
Collectors can be enabled or disabled at two levels:
- Magento extension (in Magento Admin) - Controls whether the collector runs and reports data
- Pulsar dashboard (Collector Overrides) - Controls whether Pulsar generates alerts for the collector
If a collector is disabled in Magento, it won't appear in health check results. If it's muted in Pulsar, data is still collected but alerts are suppressed.