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:
Skip the manual host creation entirely. The Auto-Provision tab uses the Zabbix JSON-RPC API to create your host, assign the template, and configure all macros โ directly from the WordPress admin panel.
Before provisioning, import the bundled XML template into Zabbix via Configuration โ Templates โ Import. The provisioner looks up the template by name โ it must already exist.
In your WordPress admin, go to Settings โ Zabbix Monitor โ โก Auto-Provision. Enter your Zabbix frontend URL (ending in /api_jsonrpc.php), username, and password.
Click Test API Connection. The plugin authenticates with the Zabbix JSON-RPC API and returns the API version. Credentials are never stored in the database.
Click Provision Host in Zabbix. The plugin creates (or updates) the host, assigns the template, and sets {$WP_URL} and {$WP_API_TOKEN} macros automatically. Done.
Your Zabbix password is transmitted over HTTPS directly to the Zabbix API and is never written to the WordPress database. Only the API URL, username, host name, and host ID are stored for display purposes. Always use HTTPS for your Zabbix frontend and enable SSL verification in the plugin settings.
Version 1.2.0 adds a dedicated WooCommerce metrics group with 22 store-level data points across orders, revenue, cart abandonment, inventory, customers, and reviews. The group is automatically skipped when WooCommerce is not active, so the plugin remains safe to install on any WordPress site.
HPOS-aware: The collector automatically detects WooCommerce High-Performance Order Storage (HPOS, available since WooCommerce 7.1) and queries the wc_orders table when enabled. It falls back to the classic wp_posts table on older installations. All queries are read-only and use a 5-minute transient cache to avoid adding latency to push cycles.
{$WP_WC_FAILED_ORDERS_WARN}default: 5{$WP_WC_PENDING_ORDERS_WARN}default: 20{$WP_WC_OUT_OF_STOCK_WARN}default: 5{$WP_WC_LOW_STOCK_WARN}default: 3{$WP_WC_ABANDONED_CARTS_WARN}default: 50The 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.