Xitoring Document
Home
FAQ
Support
Register
Home
FAQ
Support
Register
  • Xitoring

    • Introduction
    • Release Notes
    • Xitoring Release Notes
    • Linux Xitogent Release Notes
    • Windows Xitogent Release Notes
    • Xitoring Mobile App Release Notes
    • Account Management
    • API Access & Automation
    • Team Management & Collaboration
    • Billing & Subscription Management
  • Getting Started

    • Getting Started with Xitoring
    • Workflows & Guides
    • Monitor Your First Server
    • Import / Migration
    • Migrate from UptimeRobot to Xitoring
    • Migrate from Pingdom to Xitoring
    • Migrate from Uptime.com to Xitoring
    • Migrate from BetterStack to Xitoring
  • Help & Support

    • FAQ & Troubleshooting
    • Glossary
  • Server Monitoring

    • Server Monitoring
    • Graphs
    • Live Statistics
    • Monitor Services
    • Auto-Triggers
  • Xitogent on Linux

    • Install Xitogent on Linux
    • Update Xitogent on Linux
    • Uninstall Xitogent on Linux
  • Xitogent on Windows

    • Install Xitogent on Windows
    • Uninstall Xitogent on Windows
    • Xitogent Service
    • Update Xitogent on Windows
    • Disk Performance (I/O)
  • Xitogent on Azure

    • Xitogent on Azure
    • Monitor Azure Linux VM
    • Monitor Azure Windows VM
  • Xitogent CLI

    • Xitogent CLI
    • Xitogent Pause/Unpause
    • Xitogent Status
    • Xitogent debug
    • Xitogent Diagnosis
    • Which data we collect
  • Xitoring CLI

    • Xitoring CLI
  • Uptime Monitoring

    • What is Uptime Monitoring
    • Monitoring Nodes (Geographic Locations)
    • What is Check
    • Auto-Discovery
    • Auto Fault Tolerance
    • Heartbeat Check
    • Ping Check
    • HTTP(S) Check
    • DNS Check
    • FTP Check
    • SMTP Check
    • IMAP Check
    • POP3 Check
    • TCP Check
    • UDP Check
  • SSL Monitoring

    • SSL Monitoring
  • Incidents

    • Incidents
    • Incident's Root Cause
    • Incidents Notification
    • Incident Notes
    • Resolving Incidents Manually
    • Incident Policy
  • Maintenance Schedule

    • Maintenance Schedule
  • Email Reports

    • Email Reports
  • Integrations

    • Integrations
    • Apache Integration
    • CoreDNS Integration
    • CouchDB Integration
    • Disk Health Integration
    • Docker Integration
    • Dovecot Integration
    • Exim Integration
    • HAProxy Integration
    • IIS Integration
    • InfluxDB Integration
    • Kafka Integration
    • KeyDB Integration
    • LiteSpeed Integration
    • MongoDB Integration
    • MySQL Integration
    • Netstat Integration
    • Nginx Integration
    • OpenLiteSpeed Integration
    • OpenVPN Integration
    • PHP-FPM Integration
    • Postfix Integration
    • PostgreSQL Integration
    • RabbitMQ integration
    • Redis Integration
    • MS SQL Server Integration
    • Supervisor Integration
    • Varnish Integration
    • Wireguard Integration
  • Notifications

    • Notifications
    • Creating Notification Roles
    • Email Integration
    • Mobile Push Notifications
    • SMS Integration
    • Phone call Integration
    • Webhook Integration
    • Integration for Slack
    • Telegram Integration
    • WhatsApp Integration
    • Mattermost Integration
    • Discord Integration
    • Google Chat Integration
    • Microsoft Teams Integration
    • Atlassian Opsgenie Integration
    • Splunk On-Call Integration
    • Pushover Integration
    • Pushbullet Integration
    • Gotify Integration
    • Ntfy Integration
    • Spike.sh Integration
    • PagerDuty Integration
    • Zapier Integration
    • AlertOps Integration
  • Status Page

    • Status page
  • 3rd Party Status Pages

    • Using 3rd party Status Pages
    • Atlassian Status Page Integration with Xitoring
    • Status.io Integration with Xitoring
    • Statuspal Integration with Xitoring
    • Instatus Integration with Xitoring
  • Dashboards

    • Main Dashboard
    • Custom Dashboards
  • Metrics

    • Metrics
  • MCP Server

    • Setup & Tool Reference

PHP-FPM Integration

With Xitoring's PHP-FPM integration, users can easily access real-time performance metrics such as memory usage, request duration, and CPU utilization, allowing them to quickly identify and troubleshoot any performance issues that may arise. Additionally, Xitoring provides advanced alerting capabilities that can notify users of any potential problems, empowering them to take proactive steps to prevent downtime and ensure optimal application performance.

By leveraging Xitoring's monitoring capabilities for PHP-FPM, users can gain greater visibility into their PHP-based applications, enhancing their ability to deliver a seamless and reliable user experience.

Enable PHP-FPM Integration

Supported platforms

The following guide is working on Linux and Windows servers but some details could be quite different based on the OS version.

To enable PHP-FPM Integration on Xitoring, first, you need to make some changes in PHP-FPM configurations so it publishes statistics for Xitogent.

On Linux

Open the PHP-FPM configuration file with a text editor. (the following path is the location for the PHP-FPM configuration file on Ubuntu the location of the PHP-FPM configuration file could be quite different on different distros).

vim /etc/php/php-fpm.d/www.conf

Uncomment the following lines in the config file:

pm.status_path = /fpm/status
ping.path = /fpm/ping

After that just restart your PHP-FPM service using the systemctl command:

systemctl restart php-fpm

On Windows Server

Open the PHP-FPM configuration file with a text editor. The location of the configuration file may differ depending on the installation and setup of PHP-FPM on your system. The default location for PHP-FPM on Windows with PHP 7.4 and later is C:\Program Files\PHP\v7.X\php-fpm.d\www.conf.

notepad "C:\Program Files\PHP\v7.X\php-fpm.d\www.conf"

Uncomment the following lines in the configuration file by removing the semicolon; at the beginning of each line:

pm.status_path = /fpm/status
ping.path = /fpm/ping

These lines enable the status and ping pages for PHP-FPM. Save the changes to the configuration file.

Restart the PHP-FPM service using the net stop and net start commands:

net stop php-fpm
net start php-fpm

Alternatively, you can use the Restart-Service command in PowerShell:

Restart-Service -Name php-fpm

Configure Nginx to serve the statistics

Add the following configurations to your Nginx server block to serve the statistics on the localhost so Xitogent can access the information and it will be secure and not available publicly on the internet:

location ~ ^/fpm/(status|ping)$ {
  allow 127.0.0.1;
  deny  all;
  fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
  fastcgi_index index.php;
  include fastcgi_params;
  fastcgi_pass   unix:/var/run/php-fpm/www.sock;
}

Configure Apache to server statistics

If you are using an Apache web server you can add something like the following config lines:

<VirtualHost *:80>
    ServerName example.com
    DocumentRoot /var/www/html

    <Location /status>
        ProxyPass unix:/var/run/php-fpm.sock|fcgi://localhost/status
        ProxyPassReverse unix:/var/run/php-fpm.sock|fcgi://localhost/status
        ProxyRequests Off
        AllowOverride None
        Require local
    </Location>
</VirtualHost>

Tips

Be sure to replace the essential variables in the configuration with values appropriate for your server, such as the path of the PHP-FPM socket. The examples above are intended to provide a general overview of how the configurations should be set up.

As the final step you just need to call Xitogent CLI with the following command on the server, you want to enable the PHP-FPM integration on:

xitogent integrate

Select PHP-FPM from the list of available integrations, it will prompt for the URL of the location that statistics are serving for example:

http://127.0.0.1/fpm/status

Create Triggers for PHP-FPM integration

You can create Triggers for PHP-FPM integration and define incidents for the following parameters:

Active Processes
Idle Processes
Request CPU
Request Memory
Listen Queue
Last Updated: 4/3/23, 7:21 PM
Prev
OpenVPN Integration
Next
Postfix Integration