On the eighth day of APM 9.7, the CA Team gave to me… PHP Monitoring
It has happened. Introscope has now an agent that is able to hook into a PHP enabled webserver.
Install this Agent, and continue monitoring and troubleshooting as you were used to it using Introscope Workstation or WebView. Of course some PHP Knowledge will be required to fix issues, the monitoring part though, has not changed.
So - what is this PHP Monitoring, and how does it work ?
The current implementation of the PHP Agent runs under Linux, has been compiled for 64Bit CentOS/RedHat 5.5+ and 6.5+.
It will require a PHP v5.3.x or 5.4.x framework running an apache 2.2.x and a Java 1.8.0_65 (which is provided by default). Note that the apache part is only required for the agent, not the probe.
The way this implementation works, is that a probe is loaded through the PHP configuration on the WebServer, and this probe will provide metrics to the java-agent which will be collecting the data. This agent can run on the same host, or a remote host. It really depends on the available resources on the PHP enabled web-Server. The agent can then feed the collected data to a APM collector release 9.6 or 9.7.
Installation is very easy and fast, requires however a restart of the WebServer to load the probe. Make sure the probe is configured right the first time, this avoids restarting the WebServer more than required.
The long and detailed version can be seen in the provided documentation.
The short version is:
Probe: Copy the probe executable to the plugin directory for PHP, configure the probe and copy this configuration file to the right directory too. Make sure the probe is loaded by the PHP implementation and restart the webserver. Make sure there are no errors showing up in the apache/probe logs (if enabled).
Agent Collector: The Agent is practically pre-configured to run as known under introscope. All that needs to be done is to tell the Agent where the collector is. Of course, if a MoM exists, point it to that one. They will figure out themselves where to send the metrics to.
By default, the probe/collector will collect only a minimum set of metrics. Transaction tracing and deep transaction tracing need to be enabled specifically, as not everyone wants these to be active by default.
Once done though, the results speak for themselves: