This page provides instructions on configuring Network Visibility to monitor applications running on Kubernetes.
Network Visibility monitors an application's network interactions and reports key performance metrics. These metrics isolate an application's network issues from its application issues. The Network Agent uses a REST API to open a TCP port in each node for the application containers to communicate with the Network DaemonSet container. This communication enables monitoring between pods and nodes. You can deploy the agent as a DaemonSet in each node that has the host mode enabled.
Before You Begin
Before you create a Docker image for the DaemonSet and configure the agent, verify the following requirements:
- You have at least one pod with a Java Agent (version 4.4 and later) deployed to the same cluster as the Network Agent.
The TCP port 3892 is not already used by the node. The application pods use port 3892 to communicate with the DaemonSet.
Create a Network Visibility DaemonSet Docker Image
To configure Network Visibility with Kubernetes, you must first create a Docker image for the Network Visibility DaemonSet and push the image to your Docker Trusted Registry.
Paste this sample Dockerfile into a text file and save the file.
Navigate to the directory where you saved the Dockerfile and build the Docker image by entering the following command:
Push the Docker image to your Docker Trusted Registry.
Configure Network Visibility with Kubernetes
yamlfile with the following configuration:
- In the configuration file, update the following fields:
containers): the file path to the DaemonSet image in your Docker Trusted Registry.
imagePullSecrets): the key for your Docker Trusted Registry.
Deploy the Network Agent in Kubernetes by entering the following command:
Configure Network Visibility to Monitor Application Pods
After deploying Network Visibility in Kubernetes, you must deploy at least one pod with a Java Agent (version 4.4 and later) to the same cluster as the Network Agent. This allows you to map network metrics to application flows.
Open the application's deployment configuration
yamlfile with Kubernetes in a text editor and set the
If you are using a Java Agent that is 4.5.2 or older, you must open the
<app-agent-install-dir>/<version-number>/external-services/netviz/netviz-service.propertiesfile to set these values.
- In the Controller UI, enable socket instrumentation to map network metrics to application flows. See Set Up the Network and App Agents.