APM Insight integration for Next.js in Kubernetes
To integrate the Site24x7 APM Insight Next.js agent into your Kubernetes application using initContainers with the prebuilt agent image, follow the steps below:
Prerequisites
- A Next.js application container image
- The Site24x7 APM Insight license key
- The application name and application port details
Integration steps
Step 1: Create an empty volume
Create and define an empty volume that will be used to copy the agent files during the initContainers process:
- volumes:
- - name: agent-volume
- emptyDir: {}
Step 2: Add initContainers to copy agent files
To configure your deployment, add the following initContainers specification to your Helm chart or deployment YAML file:
- initContainers:
- - name: init-apm
- image: site24x7/apminsight-nextjsagent:1.2.0
- imagePullPolicy: Always
- command: ['cp', '-r', '/opt/site24x7/.', '/apm']
- volumeMounts:
- - name: agent-volume
- mountPath: /apm
Step 3: Mount the volume in the application container
Mount the volume created in step 2 into your application container.
Example
- containers:
- env:
- - name: NODE_OPTIONS
- value: "--require /apm/node_modules/@apminsight/next"
- - name: APMINSIGHT_LICENSE_KEY
- value: "xxxxxxxxxxxxxxxx"
- - name: APMINSIGHT_APP_NAME
- value: "k8s-nextjs-application"
- - name: APMINSIGHT_APP_PORT
- value: "3001"
- volumeMounts:
- - name: agent-volume
- mountPath: /apm

For applications using the PM2 process manager instead of Kubernetes, enable PM2 support by adding the following in the env section of your deployment YAML file:
- - name: APMINSIGHT_PROCESS_MANAGER
- value: "true"
Example
Here's a sample YAML deployment file:
- apiVersion: apps/v1
- kind: Deployment
- metadata:
- name: nextjs-app
- namespace: nextjs
- labels:
- app: nextjs-app
- version: v1
- spec:
- replicas: 1
- selector:
- matchLabels:
- app: nextjs-app
- template:
- metadata:
- labels:
- app: nextjs-app
- version: v1
- spec:
- initContainers:
- - name: init-apm
- image: site24x7/apminsight-nextjsagent:1.2.0
- imagePullPolicy: Always
- command: ['cp', '-r', '/opt/site24x7/.', '/apm']
- volumeMounts:
- - name: agent-volume
- mountPath: /apm
- containers:
- - name: nextjs-app
- image: nextjs-sampleapp:latest
- ports:
- - containerPort: 3001
- name: http
- env:
- - name: NODE_OPTIONS
- value: "--require /apm/node_modules/@apminsight/next"
- - name: APMINSIGHT_LICENSE_KEY
- value: "xxxxxxxxxxxxxxxx"
- - name: APMINSIGHT_APP_NAME
- value: "k8s-nextjs-application"
- - name: APMINSIGHT_APP_PORT
- value: "3001"
- imagePullPolicy: Always
- volumeMounts:
- - name: agent-volume
- mountPath: /apm
- volumes:
- - name: agent-volume
- emptyDir: {}
- restartPolicy: Always
Related Articles
How to identify and resolve conflicts between other APM products and the APM Insight .NET agent
Problem statement: You are experiencing either of the below issues and suspect that another APM product is interfering with the Site24x7 .NET agent. 1. The .NET monitor is not created under APM > APM Insight > Applications, even after the .NET agent ...
Site24x7 to ServiceNow CMDB integration: CI mapping reference
Site24x7 provides integration with ServiceNow, allowing seamless population of Configuration Items (CIs) in your ServiceNow CMDB based on your monitored resources in Site24x7. This article provides a reference for the field mappings used during the ...
How can I choose resources in a monitor group for third-party integration
By associating the monitor group with a tag, you can select the resources in a monitor group for third-party integration. Read how to add a tag to a monitor group. Once you have added a tag to the group, choose the tag to integrate the resources ...
Unable to add SQL insight monitor
If the SQL Insight monitor is not getting added even after entering your credentials, try these troubleshooting steps: Ensure that the Auto-discover applications feature is enabled. If not, you will need to trigger discovery using the Discover ...
How to integrate Site24x7 with an LLM
You can integrate LLMs with Site24x7 monitors to derive an overall summary of your monitors. The Zia Bot can answer all your queries regarding the monitors to which you have access and answer basic questions about all monitors. The Zia Bot uses the ...