Configure Monitoring for PHP

⚙️ Configuring GermainUX PHP Monitoring: Profiles, Components, and Performance Metrics

Configure GermainUX PHP monitoring to tailor profiling, transactions, sampling, network and SQL monitoring, integrations, correlation, analytics, privacy, alerts, automation, dashboards, and RCA.

This guide assumes PHP monitoring has already been deployed.

🚀 Access PHP Monitoring Configuration

Start from:

Germain Workspace → Left Menu → Settings → Wizards

Open the PHP monitoring configuration associated with the PHP environment.

Use the Wizard-generated configuration as the starting point rather than manually recreating the standard PHP configuration.

image-20230221-190544.png

🏷️ Configure the Application

Verify that PHP telemetry is associated with the correct monitored application.

Use consistent names across:

  • Production

  • Staging

  • Development

  • Application components

  • PHP servers

Correct application association is essential for correlation across browser, PHP, API, database, and infrastructure telemetry.

🖥️ Configure the PHP Server

Verify that the correct PHP application server is associated with the monitoring configuration.

The server identifies where the monitored PHP application executes and where the relevant Engine, Agent, and server profile apply.

🔧 Configure the PHP Monitoring Profile

PHP monitoring profiles are configured through:

germain.apm.monitoringClient.phpMonitoringProfiles

The standard PHP configuration documented by GermainUX includes:

Basic Sampling

Use the appropriate PHP monitoring profile for the application and environment.

🎯 Configure Sampling

Configure PHP profiling sampling according to the visibility required and acceptable overhead.

Sampling determines how frequently or how broadly PHP execution is profiled.

Use deeper profiling selectively when troubleshooting performance issues and lighter sampling for continuous production monitoring where appropriate.

Validate overhead after changing the sampling configuration.

🧩 Configure Monitoring Components

PHP components are represented through:

germain.apm.monitoringConfig.components

Configure the monitoring components required for the environment.

Enable only the components needed for the selected monitoring scope.

🧱 Configure Component Templates

Component templates are represented through:

germain.apm.monitoringConfig.componentTemplates

Use component templates to maintain consistent configuration across similar PHP environments.

Different templates can be used when applications or environments require different monitoring behavior.

🖥️ Configure the PHP Server Profile

Server profiles are represented through:

germain.apm.monitoringConfig.serverProfiles

The standard profile documented for PHP is:

PHP Server

Verify that the PHP Server profile is applied to each PHP application server that should be monitored.

⚙️ Configure the PHP Agent

Verify the configuration in:

germainapm.php

including:

GERMAIN_SERVICES_URL

PROFILE_NAME

and other environment-specific settings.

The profile configured in the Agent must match the GermainUX PHP monitoring profile intended for the application.

⚙️ Configure PHP Code Profiling

Configure which PHP execution needs deeper profiling.

Code profiling can help identify:

  • Slow code

  • Expensive functions

  • Execution bottlenecks

  • Inefficient processing

  • PHP operations contributing to slow transactions

Use profiling selectively according to the troubleshooting objective.

⏱️ Configure PHP Transaction Monitoring

Configure meaningful PHP transactions for analysis.

Transactions can represent:

  • Application requests

  • Business operations

  • Backend processing

  • Service interactions

  • Critical workflows

Analyze each transaction with its associated:

  • PHP execution

  • Network requests

  • SQL

  • Integrations

  • User context where available

📨 Configure Network Request Monitoring

Configure monitoring for downstream network interactions initiated by PHP.

Examples include:

  • HTTP calls

  • REST APIs

  • External services

Analyze:

  • Response time

  • Latency

  • Destination

  • Related PHP transaction

Preserve parent transaction context so downstream latency can be attributed to the affected PHP transaction.

💾 Configure SQL Monitoring

Configure SQL monitoring for database interactions executed within PHP transactions.

Analyze:

  • SQL execution time

  • Slow SQL

  • Database interaction

  • Related PHP transaction

Where GermainUX database observability is also deployed, correlate the PHP SQL transaction with database-level telemetry.

🧩 Configure Integration Transactions

Configure monitoring for integration-level transactions.

Examples include:

  • External APIs

  • Message queues

  • Third-party services

  • Internal services

  • Other downstream systems

Maintain correlation between the PHP parent transaction and the integration activity.

🌐 Configure Browser-to-PHP Correlation

Where browser monitoring is deployed, configure correlation between user activity and PHP processing.

For example:

User → Browser → PHP Transaction

or:

User Action → PHP Transaction → SQL

or:

User Action → PHP Transaction → External API

This helps connect server-side PHP performance with the actual affected user experience.

🔗 Configure Stream Correlation Scenarios

PHP monitoring includes:

germain.apm.analytics.streamCorrelationScenarios

Configure stream correlation scenarios for relationships such as:

Browser Event → PHP Transaction

PHP Transaction → PHP Code

PHP Transaction → SQL

PHP Transaction → Network Request

PHP Transaction → Integration

A broader correlation path can be:

User → Browser → PHP → API / Service → Database

📈 Configure KPIs

PHP KPIs are represented through:

germain.apm.monitoringConfig.keyPerformanceIndicators

Configure KPIs for important PHP conditions.

Examples include:

  • PHP transaction duration

  • PHP execution time

  • Network-request duration

  • SQL duration

  • Integration duration

Use custom KPIs where the application's critical operations require additional monitoring.

📏 Configure SLAs

Create SLAs for PHP KPIs requiring threshold-based evaluation.

Examples:

PHP Transaction Duration > Threshold

PHP Execution Time > Threshold

Network Request Time > Threshold

SQL Execution Time > Threshold

Integration Duration > Threshold

Use thresholds appropriate to the individual application and operation.

🗂️ Configure Categorization

Categorize PHP telemetry into meaningful groups.

For example:

  • PHP Transaction

  • PHP Code

  • Network Request

  • SQL

  • API

  • Integration

  • Performance Issue

  • Application Component

Categorization simplifies analysis, dashboards, reporting, and alerting.

🔍 Configure Root Cause Analysis

Configure correlation and analytics so PHP conditions can be analyzed from symptom to contributing component.

Examples:

Slow User Action → PHP Transaction → Slow PHP Code

Slow Transaction → SQL → Database

Slow Transaction → Network Request → External API

Failed Transaction → Integration → Downstream Service

📊 Configure RCA Dashboards

PHP monitoring includes:

germain.apm.workspace.rcaDashboards

Configure RCA dashboards to present correlated PHP telemetry.

Useful content includes:

  • PHP transactions

  • Code execution

  • Network requests

  • SQL

  • Integration transactions

  • KPIs

  • SLAs

  • Related application context

Prefer correlated views rather than isolated technology metrics.

🔐 Configure Privacy & Exclusions

Review information captured by PHP monitoring.

Potentially sensitive information may occur in:

  • HTTP parameters

  • URLs

  • Form submissions

  • SQL

  • Session identifiers

  • User information

  • Authentication data

  • API requests

  • External-service payloads

Configure GermainUX privacy controls to:

  • Mask

  • Anonymize

  • Exclude

Collect only information required for the monitoring objective.

🔔 Configure Alerts

Configure alerts for PHP conditions requiring attention.

Examples include:

  • PHP transaction exceeds threshold

  • PHP execution becomes slow

  • SQL becomes slow

  • External API becomes slow

  • Integration failure

  • SLA violation

Configure:

  • Conditions

  • Thresholds

  • Time windows

  • Recipients

  • Escalation

⚙️ Configure Automation

PHP conditions can trigger GermainUX automation.

For example:

PHP Condition → KPI → SLA → Alert / Action

Actions can include:

  • Notifications

  • Reports

  • Scripts

  • HTTP actions

  • Operational workflows

  • Remediation actions where appropriate

📊 Configure Dashboards

Configure dashboards for PHP application monitoring.

Useful views include:

  • PHP transaction performance

  • Code execution

  • Network performance

  • SQL performance

  • Integration performance

  • Application trends

  • SLA status

  • RCA

Combine browser, PHP, database, and infrastructure telemetry where appropriate.

📄 Configure Reports

Configure automated reports for:

  • PHP transaction performance

  • PHP execution

  • SQL

  • Network requests

  • Integrations

  • SLA violations

  • Performance trends

Set the appropriate schedule and recipients.

🔧 Configure Engine & Node

Verify the GermainUX Engine responsible for PHP monitoring.

Where Engine configuration needs to be changed, use:

Germain Workspace → Left Menu → Wizards → Engine

Confirm:

  • Engine is running

  • Engine is assigned to the expected Node

  • Engine can communicate with GermainUX

  • Engine can access the required PHP environment

🔍 Verify in Germain State

Navigate to:

Germain Workspace → Germain → State

Verify the operational state of the Engine and monitoring environment.

Check that expected PHP monitoring activity is running and telemetry is being received.

🧪 Validate the Configuration

Execute representative PHP activity and verify:

  • Application association

  • Server association

  • PHP monitoring profile

  • Sampling

  • PHP Server profile

  • Agent configuration

  • PHP transactions

  • Code profiling

  • Network requests

  • SQL

  • Integrations

  • Browser correlation where deployed

  • KPIs

  • SLAs

  • Categorization

  • Stream correlation

  • RCA

  • Privacy

  • Alerts

  • Automation

  • Dashboards

  • Reports

Also verify that profiling and monitoring introduce acceptable overhead.

ℹ️ Advanced Configuration

The documented PHP monitoring configuration includes these major 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

Use these advanced configuration areas when the Wizard-generated defaults need to be customized.

ℹ️ 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