Php-Fpm: status URL for all pools

monitoringperformance-monitoringphp-fpmzabbix

I have an ISPConfig server serving php pages with FPM in ondemand mode. On another server with a single fpm pool I keep daemon monitored using the /status URL and work great.
In ISPConfig case there are several pools, one for each domain, and the status URL gives information about the single pool.
Is there any way to have a singe status URL to keep monitored all the daemon childs? Like number of processes, queue, slow processes…
Thanks

Best Answer

There is no way to monitor multiple php-fpm pools with one status URL, but it also doesn't make sense to do that. The only reason for creating more php-fpm pools is to separate different services one from each other, so if one service fails, the other one continues to work. Which is the reason why you should monitor each pool separately. If you don't have different services using php-fpm, then don't create more pools in the first place, just use one pool with more processes.

If you would like Zabbix to detect all php-fpm pools status URLs, you could create a discovery script which would find all status URLs from the php-fpm configuration files and return them to Zabbix, from which Zabbix could automatically create items for each pool you would like to monitor.