Deploy Monitoring for PHP

🔧 Deploying GermainUX Monitoring for PHP Applications: Installation and Configuration Guide

Deploy GermainUX monitoring for PHP applications to capture PHP transactions, code execution, network requests, SQL execution, integrations, and correlated user activity.

ℹ️ Overview

PHP monitoring uses:

Component

GermainUX - Agent

GermainUX - Code Profiler

GermainUX - Engine

GermainUX - PHP Monitoring Profile

GermainUX - PHP Server Profile

xhprof

📋 Requirements

Before deployment, verify:

  • PHP 7.4 or later

  • Access to the PHP application server

  • Ability to install the xhprof PHP extension

  • Ability to install a GermainUX Engine

  • Ability to deploy germainapm.php

  • Ability to modify the PHP application's entry points

  • Network connectivity between the PHP environment and GermainUX

🚀 1. Start the PHP Monitoring Wizard

In Germain Workspace, navigate to:

Left Menu → Wizards

Select the PHP monitoring deployment Wizard available for your GermainUX environment.

Use the Wizard as the primary workflow for creating or applying the PHP monitoring configuration.

The resulting configuration should include the PHP monitoring profile, components, component templates, server profile, KPIs, correlation scenarios, and RCA dashboard required for PHP monitoring.

🖥️ 2. Select or Create the PHP Server

Select the server hosting the PHP application.

If the server does not yet exist in GermainUX, create it during the deployment workflow.

Use consistent server and application naming across environments such as:

  • Production

  • Staging

  • Development

🏷️ 3. Select the Monitored Application

Select or create the PHP application that GermainUX will monitor.

The application association allows PHP telemetry to be correlated with:

  • Browser activity

  • PHP transactions

  • SQL

  • Network requests

  • Integrations

  • Infrastructure

📦 4. Install xhprof

Install the xhprof extension on the PHP application server.

xhprof provides the profiling capability required for PHP execution monitoring.

⚙️ 5. Enable the xhprof Extension

Enable xhprof in the PHP configuration.

For example:

[xhprof]
extension = xhprof.so

Restart or reload the appropriate PHP or web-server process after updating php.ini.

Verify that the extension loads successfully.

⚙️ 6. Apply the PHP Monitoring Configuration

The PHP monitoring deployment includes configuration in the following GermainUX areas:

  • germain.apm.monitoringClient.phpMonitoringProfiles

  • germain.apm.monitoringConfig.components

  • germain.apm.monitoringConfig.componentTemplates

  • germain.apm.monitoringConfig.serverProfiles

  • germain.apm.monitoringConfig.keyPerformanceIndicators

  • germain.apm.analytics.streamCorrelationScenarios

  • germain.apm.workspace.rcaDashboards

The standard PHP configuration includes:

PHP Monitoring Profile: Basic Sampling

Server Profile: PHP Server

Use the Wizard-generated configuration where available instead of manually creating each object.

🧩 7. Apply the PHP Server Profile

Apply the:

PHP Server

profile to the PHP application server.

The server profile associates the PHP monitoring components and configuration with the selected environment.

⚙️ 8. Deploy the GermainUX Engine

PHP monitoring requires a GermainUX Engine.

If an appropriate Engine is not already available, deploy one through:

Germain Workspace → Left Menu → Wizards → Engine

image-20230221-190544.png

Install the Engine on the PHP web server or another supported host with the required connectivity.

Verify that the Engine registers successfully with GermainUX.

📥 9. Install the PHP Agent

Install the GermainUX PHP Agent file on the web server:

germainapm.php

Place the file where it can be loaded by the PHP application.

🔧 10. Configure germainapm.php

Populate the required settings in germainapm.php.

These include values such as:

GERMAIN_SERVICES_URL

PROFILE_NAME

and any other environment-specific values required by the PHP monitoring package.

PROFILE_NAME should correspond to the PHP monitoring profile applied to the application.

🔗 11. Instrument the PHP Application

Include the GermainUX PHP Agent in the PHP application's entry points.

For example:

include 'germainapm.php';

Add the include to the entry points that initiate the PHP transactions GermainUX should monitor.

Depending on the application architecture, this may be a common bootstrap or front-controller file rather than every individual PHP file.

🌐 12. Configure Browser Correlation — Where Required

Where PHP transactions need to be correlated with actual user activity, deploy GermainUX browser monitoring for the associated web application.

This enables transaction paths such as:

User Action → Browser → PHP Transaction → SQL / API

Use the corresponding UX Monitoring Profile and RUM deployment workflow for the browser application.

🔄 13. Restart or Reload the Application Environment

Restart or reload the PHP environment where required after:

  • Installing xhprof

  • Updating php.ini

  • Installing the PHP Agent

  • Updating the application bootstrap or entry points

  • Applying monitoring configuration

🧪 14. Generate Representative Transactions

Exercise representative PHP application activity.

For example:

Browser → PHP → SQL → Response

Browser → PHP → External API → Response

PHP → Integration → Downstream Service

Use transactions containing the components that GermainUX is expected to monitor.

✅ 15. Validate PHP Telemetry

Verify that GermainUX receives:

  • PHP transactions

  • PHP code execution

  • Network requests

  • SQL execution

  • Integration activity

  • Correlation context

Also verify that telemetry is associated with the correct:

  • Application

  • Server

  • PHP monitoring profile

  • PHP Server profile

🔍 16. Verify in Germain State

Open:

Germain Workspace → Germain → State

Confirm that the required:

  • Engine

  • Node

  • Monitoring configuration

  • PHP environment

are active and operating as expected.

🔐 17. Review Privacy

Before broad production deployment, review information collected from PHP transactions.

Pay particular attention to:

  • URL parameters

  • Request parameters

  • Form data

  • SQL values

  • Session identifiers

  • Authentication information

  • User information

  • API payloads

  • Application-specific sensitive data

Apply masking, anonymization, or exclusions where required.

📊 Next Steps

Once PHP monitoring is operational, configure:

  • PHP monitoring profile

  • Sampling

  • Transaction monitoring

  • Code profiling

  • Network requests

  • SQL

  • Integrations

  • KPIs

  • SLAs

  • Correlation

  • RCA

  • Categorization

  • Alerts

  • Automation

  • Dashboards

  • Reports

ℹ️ Get More Information

PHP environments can vary significantly depending on storefront customization, extensions, integrations, infrastructure, and security requirements.

The GermainUX team can help configure the appropriate monitoring scope, privacy controls, analytics, alerts, and automation for your PHP environment.

Please contact us for any help.

Feature Availability: 2017.1 or later