This plugin is currently being groomed to be an integration. It works, but we haven't spent a lot of time on it yet to optimize the user experience. Feel free to try it out, just keep in mind that we will be enhancing the experience over time.
PHP-FPM (FastCGI Process Manager) is an alternative PHP FastCGI implementation. This plugin will retrieve phpfpm stats using either HTTP status page or fpm socket.
php-fpm plugin is included with the SolarWinds Snap Agent by default. Please follow the directions below to enable it for a agent instance.
You'll need to have an Apache server with PHP-FPM accessible. Take note of the host address, port, and password (if set). This will be needed later in the configuration step.
The agent provides an example configuration file to help you get started quickly. It defines the plugin and task file to be loaded by the agent, but requires you to provide the correct settings for your PHP-FPM installation. To enable the plugin:
- Make a copy of the PHP-FPM example configuration file
/opt/SolarWinds/Snap/etc/plugins.d/phpfpm.yaml.example, renaming it to
$ sudo cp /opt/SolarWinds/Snap/etc/plugins.d/phpfpm.yaml.example /opt/SolarWinds/Snap/etc/plugins.d/phpfpm.yaml
- Edit the configuration file with settings specific to your PHP-FPM install:
$ sudo nano /opt/SolarWinds/Snap/etc/plugins.d/phpfpm.yaml
In this configuration you'll notice that it is already configured to listen on
localhost by using the setting
urls: "http://localhost/status". Update this line to specify the server address to listen on.
## An array of addresses to gather stats about. Specify an ip or hostname
## with optional port and path
## Plugin can be configured in three modes (either can be used):
## - http: the URL must start with http:// or https://, ie:
## - unixsocket: path to fpm socket, ie:
## or using a custom fpm status path:
## - fcgi: the URL must start with fcgi:// or cgi://, and port must be present, ie:
## Example of multiple gathering from local socket and remove host
## urls: "http://192.168.1.20/status,/tmp/fpm.sock"
Save your changes and return to the command prompt.
- Restart the agent after any configuration changes have been made:
$ sudo service swisnapd restart
- Enable the PHP-FPM plugin
On the Integrations Page you will see PHP-FPM available if the previous steps were successful. It may take a couple minutes before the PHP-FPM plugin is identified.
Select the PHP-FPM plugin to open the configuration menu in the UI, and enable the plugin.
The table below outlines the default set of metrics collected by the
|phpfpm.accepted_conn||The number of request accepted by the pool|
|phpfpm.listen_queue||The number of request in the queue of pending connections. If this number is non-zero then you should increase the number of process FPM can spawn|
|phpfpm.max_listen_queue||The maximum number of requests in the queue of pending connections since FPM has started|
|phpfpm.listen_queue_len||The size of the socket queue of pending connections|
|phpfpm.idle_processes||The number of idle processes|
|phpfpm.active_processes||The number of active processes|
|phpfpm.total_processes||The number of idle + active processes|
|phpfpm.max_active_processes||The maximum number of active processes since FPM has started|
|phpfpm.max_children_reached||The number of times the process limit has been reached (when pm tries to start more children). If that value is not zero then you may need to increase max process limit for your PHP-FPM pool.|
|phpfpm.slow_requests||The number of slow requests. Enable php-fpm slow-log before you consider this. If this value is non-zero you may have slow php processes. Poorly written mysql queries are generally culprit.|
The table below outlines the default set of tags provided for each metric.
|hostname||Name of the host. Instead of using this tag we recommend using the
|server||Name of the server|
|port||Port which the server is running on|
The scripts are not supported under any SolarWinds support program or service. The scripts are provided AS IS without warranty of any kind. SolarWinds further disclaims all warranties including, without limitation, any implied warranties of merchantability or of fitness for a particular purpose. The risk arising out of the use or performance of the scripts and documentation stays with you. In no event shall SolarWinds or anyone else involved in the creation, production, or delivery of the scripts be liable for any damages whatsoever (including, without limitation, damages for loss of business profits, business interruption, loss of business information, or other pecuniary loss) arising out of the use of or inability to use the scripts or documentation.