A full-stack WordPress plugin that exposes 40+ site metrics via a secured REST API and pushes data directly to Zabbix via the Sender protocol โ with pre-built graphs, triggers, and a dashboard template.
Every metric is exposed via a single REST API call and mapped to a dedicated Zabbix item key. Dependent items extract values from the master JSON payload with zero extra HTTP requests.
PHP execution time, memory usage, and WordPress memory limits.
Query counts, execution time, slow queries, and database size growth.
Registered users, new signups, admin accounts, and active sessions.
Posts, pages, media library, and comment moderation queue.
Plugin inventory, update availability, and must-use plugins.
PHP version, ini settings, and OPcache efficiency metrics.
Disk space usage, WP_DEBUG status, and server environment flags.
WP-Cron event counts, overdue jobs, and next scheduled execution.
Dual collection modes, a ready-to-import Zabbix template, and a zero-dependency PHP implementation that works on any WordPress 5.9+ installation.
Zabbix polls the WordPress REST API using HTTP Agent items. A single master item fetches the full JSON payload; all other items are Dependent Items using JSONPath โ one HTTP request per cycle.
WordPress pushes metrics to Zabbix via the native Zabbix Sender TCP protocol (port 10051). WP-Cron handles scheduling at configurable intervals from 30 seconds to 1 hour.
Bearer token authentication with auto-generated 32-character tokens. Optional IP allowlist restricts access to your Zabbix server. Token regeneration available at any time.
Import-ready XML template for Zabbix 6.0+. Includes 40+ items, 11 triggers with severity levels and dependencies, 6 graphs, and a pre-built WordPress Overview dashboard.
Live metrics widget on the WordPress admin dashboard. Shows performance, database, user, and cron data at a glance with last push status and a direct link to settings.
Enable or disable any of the 8 metric groups independently. Disabled groups are excluded from both the REST API response and the Zabbix push payload to reduce overhead.
No agent required on the WordPress server. Just install, configure two macros in Zabbix, and metrics start flowing.
Upload the plugin ZIP via Plugins โ Add New โ Upload Plugin, or extract the folder to /wp-content/plugins/ and activate.
Go to Settings โ Zabbix Monitor โ REST API tab. Copy the auto-generated token โ you will need it in the Zabbix host macro {$WP_API_TOKEN}.
In Zabbix: Configuration โ Templates โ Import. Upload the file included in the plugin:
Create a host in Data collection โ Hosts and assign the template WordPress by WP Zabbix Monitor. Set the interface to None (HTTP Agent does not require an agent interface).
On the host's Macros tab, add:
Under Zabbix Connection tab, enter your Zabbix server hostname and port, set the host name to match Zabbix, enable Push Metrics, and choose a push interval. WordPress will push via TCP port 10051 using WP-Cron.
The REST API is the backbone of pull-mode monitoring. Zabbix's HTTP Agent item type polls the endpoint and the master item's JSON is parsed by dependent items using JSONPath.
Pass the API token as a Bearer header or ?token= query parameter:
The bundled Zabbix 6.0+ template includes all items, triggers with dependency chains, pre-built graphs, and a WordPress Overview dashboard โ ready to import in one click.