How to deploy the PHP agent in a Kubernetes environment?

How to deploy the PHP agent in a Kubernetes environment?

The PHP agent (only PHP agent version 7.0 and above) can be deployed in a Kubernetes environment using either of the following methods.

To avoid using the license key, Application Name, and host in the deployment files, you can also store them in a configmap.

Modifying the Dockerfile

Follow the steps given in this help page to:
  1. Install the agent and Data Exporter during the image build 
  2. Start the Data Exporter using an Entry Point script
Alternatively, instead of using a Entry Point script to start the Data Exporter, you can modify the helm chart to start the Data Exporter.
lifecycle:
        postStart:
            exec:
                command: ["/bin/bash", "-c", "/opt/AppManagerDataExporter/bin/service.sh start"]

Without modifying the Dockerfile

  1. Download and install the agent and DataExporter in the postStart lifecycle hook without modifying the Dockerfile. 
  2. Restart the web server and FastCGI Process Manager (FPM).
Example:
lifecycle:
        postStart:
            exec:
                command: ["/bin/bash", "-c", "wget -O InstallAgentPHP.sh https://www.manageengine.com/products/applications_manager/54974026/InstallAgentPHP.sh && sh InstallAgentPHP.sh -license.key \"licensekey\" -zpa.application_name \"PHP-Application\" && wget -O InstallDataExporter.sh https://www.manageengine.com/products/applications_manager/54974026/InstallDataExporter.sh && sh InstallDataExporter.sh -root -nsvc -license.key \"licensekey\" -apm.host \"https://HOST-NAME:SSL-PORT\" && pkill -o -USR2 php-fpm"]
If you prefer to use values.yaml, configure as follows:
licensekey: <Applications Manager license key>
appname: <App name to be shown in APM>
apmhost: <http://hostname:port>
Use the following configuration in lifecycle hooks
lifecycle:
      preStop:
         exec:
             command: ["/bin/bash", "-c", "service zpdpsvc stop;"]
      postStart:
          exec:
               command: ["/bin/bash", "-c", "wget -O InstallAgentPHP.sh https://www.manageengine.com/products/applications_manager/54974026/InstallAgentPHP.sh && sh InstallAgentPHP.sh -license.key {{ .Values.appmanager.licensekey }} -zpa.application_name {{ .Values.appmanager.appname }} && wget -O InstallDataExporter.sh https://www.manageengine.com/products/applications_manager/54974026/InstallDataExporter.sh && sh InstallDataExporter.sh -root -nsvc -license.key {{ .Values.appmanager.licensekey }} -apm.host {{ .Values.appmanager.apmhost }} && pkill -o -USR2 php-fpm"]

                    New to ADSelfService Plus?

                      • Related Articles

                      • Adding APM Insight Java agent in a Kubernetes environment

                        There are three methods for installing the APM Insight Java agent in a Kubernetes environment. Using Dockerfile Using InitContainers Using Persistent Volumes Prerequisites Download the latest APM Insight Java agent (apminsight-javaagent.zip) file. ...
                      • Absence of data in the Pods tab or some tabs in the Kubernetes monitor

                        To collect data for the Kubernetes Monitor, Applications Manager uses the SSH protocol to connect to the Kubernetes server and execute kubectl commands. However, a timeout issue may occur while collecting data if the environment has a large number of ...
                      • How to add an APM Insight Java agent in Kubernetes via InitContainers?

                        Step 1. Create a secret to access the APM Insight license key in your application namespace: kubectl create secret generic app-secret --from-literal=s247licensekey='your_APMInsight_license_key' -n petclinic The license key can be obtained from the ...
                      • Unable to Add Kubernetes Monitor

                        If you are having trouble adding a Kubernetes monitor in Applications Manager, ensure that the the prerequisites have been met: Verify whether you can establish an SSH connection to the Kubernetes server from the APM installed machine. Use the ...
                      • How to upgrade PHP Agent

                        PHP Agent version below 3.2.2 Manual upgrade from user terminal: Whenever a new version of the agent goes live, it will be listed in the APM Insight Download page. The latest agent can also be downloaded from the Applications Manager web client, from ...