How to add APM Insight Node.js agent in Kubernetes via InitContainers?

Adding APM Insight Node.js agent in Kubernetes via InitContainers

To integrate the APM Insight Node.js agent into your Kubernetes applications using InitContainers, follow the steps given below:

Step 1:
Create an empty volume that will be used to copy the agent files during the initContainers process.
Example:
  1. volumes:
  2.    - name: app-volume

Step 2:

Include the following initContainers command in your helm chart/deployment YAML file.
  1. initContainers:
  2.       - name: init-npm
  3.         image: site24x7/apminsight-nodejsagent:latest
  4.         imagePullPolicy: IfNotPresent
  5.         command: ['cp', '-r', '/opt/site24x7/.', '/apm']
  6.         volumeMounts:
  7.   - name: app-volume
  8.     mountPath: /apm

Step 3:

Mount the volume created in step 2 into your application container.
Example:
  1. containers:
  2.           env:
  3.             - name: NODE_OPTIONS
  4.               value: "--require /apm/node_modules/apminsight"
  5.             - name: APMINSIGHT_LICENSE_KEY
  6.               value: "<license-key>"
  7.             - name: APMINSIGHT_APP_NAME
  8.               value: "<application-name>"
  9.             - name: APMINSIGHT_APP_PORT
  10.               value: "<application-port>"
  11.          volumeMounts:
  12.             - mountPath: /apm   
  13.         name: app-volume 
Example YAML deployment file for your reference:
  1. apiVersion: apps/v1
  2. kind: Deployment
  3. metadata:
  4.   name: sample-deployment
  5. spec:
  6.   replicas: 1
  7.   selector:
  8.     matchLabels:
  9.       app: sample-app
  10.   template:
  11.     metadata:
  12.       labels:
  13.         app: sample-app
  14.     spec:
  15.       initContainers:
  16.       - name: init-npm
  17.         image: site24x7/apminsight-nodejsagent:latest
  18.         imagePullPolicy: IfNotPresent
  19.         command: ['cp', '-r', '/opt/site24x7/.', '/apm']
  20.         volumeMounts:
  21.              - name: app-volume
  22.                 mountPath: /apm

  23.       containers:
  24.         - name: main-container
  25.           image: myrepository/sample-nodejs-app:latest
  26.           env:
  27.             - name: NODE_OPTIONS
  28.               value: "--require /apm/node_modules/apminsight"
  29.             - name: APMINSIGHT_LICENSE_KEY
  30.               value: "<license-key>"
  31.             - name: APMINSIGHT_APP_NAME
  32.               value: "<application-name>"
  33.             - name: APMINSIGHT_APP_PORT
  34.               value: "<application-port>"
  35.           volumeMounts:
  36.             - mountPath: /apm   
  37.               name: app-volume
  38.       volumes:
  39.          - name: app-volume 
  40.       emptyDir: {}

    • Related Articles

    • Adding APM Insight Java agent in Kubernetes via InitContainers

      Step 1: Create a secret for the Site24x7 license key in your application namespace. You can obtain the license key from your site24x7 account by navigating to Admin > Developer > Device Key. Example: kubectl create secret generic app-secret ...
    • DC migration steps for APM Insight agents

      For Server based installations 1. Obtain the new device key. 2. Update the license.key value in the APM Insight configuration file (or the environment variable mentioned) with the new device key. The location varies for each agent, as listed below: ...
    • DC migration steps for APM Insight Node.js agent

      Obtain the new device key. Update the licenseKey value in the apminsighnode.json file located at the <application root directory>. Log in to the server and delete the existing instance information file apminsight.json located at <application root ...
    • How to add APM Insight Java agent without application restart?

      In general, after installing the APM Insight Java agent, you have to restart your application for the agent to capture monitoring data. But in case of critical issues in the app, like sudden application slowness, where you haven't installed APM ...
    • APM Insight agent log paths

      Folder path to view One agent logs One agent logs can be found only in the common application folder in Windows (usually under C:\ProgramData from Vista onwards). Check the following folder path in Windows: C:\ProgramData\Site24x7APMOneAgent\Logs ...