Difference between revisions of "Plugin:cURL-JSON/phpfpm"
(Added example graphs) |
(Added example of web-server configuration check) |
||
Line 32: | Line 32: | ||
Please note that the metod used to access php-fpm stats is not FastCGI but HTTP. So you need to configure your web-server to pass such requests to php-fpm instance. | Please note that the metod used to access php-fpm stats is not FastCGI but HTTP. So you need to configure your web-server to pass such requests to php-fpm instance. | ||
+ | You can check your web-server configuration using "curl". You had to get something similar to: | ||
+ | |||
+ | #curl http://127.0.0.1/_fpmstatus?json | ||
+ | {"pool":"pool_name","process manager":"dynamic","start time":1562671972,"start since":347271,"accepted conn":1082924,"listen queue":0,"max listen queue":0,"listen queue len":0,"idle processes":4,"active | ||
+ | processes":1,"total processes":5,"max active processes":25,"max children reached":8,"slow requests":0} | ||
+ | |||
== Types == | == Types == |
Revision as of 14:03, 13 July 2019
This page contains some example configurations for the cURL-JSON plugin. This page is meant as a cookbook, so if you have a configuration for an aspect not handled here or a daemon not present, please feel free to add anything that's useful for you.
You can use cURL-JSON plugin plugin to collect stats from php-fpm instances. The example of config is below.
Config
LoadPlugin curl_json <Plugin curl_json> <URL "http://127.0.0.1/_fpmstatus?json"> Instance 'main' <Key "accepted conn"> Type "phpfpm_requests" Instance "" </Key> <Key "slow requests"> Type "phpfpm_slow_requests" Instance "" </Key> <Key "listen queue"> Type "phpfpm_listen_queue" Instance "" </Key> <Key "active processes"> Type "phpfpm_processes" Instance "active" </Key> <Key "total processes"> Type "phpfpm_processes" Instance "total" </Key> </URL> </Plugin>
Please note that the metod used to access php-fpm stats is not FastCGI but HTTP. So you need to configure your web-server to pass such requests to php-fpm instance. You can check your web-server configuration using "curl". You had to get something similar to:
#curl http://127.0.0.1/_fpmstatus?json {"pool":"pool_name","process manager":"dynamic","start time":1562671972,"start since":347271,"accepted conn":1082924,"listen queue":0,"max listen queue":0,"listen queue len":0,"idle processes":4,"active processes":1,"total processes":5,"max active processes":25,"max children reached":8,"slow requests":0}
Types
You'll need to create a custom types.db and add these types:
# types.db phpfpm_listen_queue value:GAUGE:0:65535 phpfpm_processes value:GAUGE:0:65535 phpfpm_requests value:DERIVE:0:U phpfpm_slow_requests value:DERIVE:0:U
See `TypesDB' configuration option in collectd config file for locations of default and custom `types.db' files.