You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The Kubernetes APM auto-attach, formerly known as the Kubernetes agent operator, streamlines full-stack observability for Kubernetes environments by automating APM instrumentation alongside Kubernetes agent deployment. By enabling <InlinePopovertype="APM"/> auto instrumentation, developers no longer need to manually manage [APM agents](/docs/apm/new-relic-apm/getting-started/introduction-apm/). The Kubernetes APM auto-attach will automatically install, upgrade and remove APM agents.
13
13
14
-
It currently [supports](#k8s-supported-versions) Java, .NET, Node.js, Python, and Ruby with additional languages (PHP and Go) on the way.
14
+
It currently [supports](#k8s-supported-versions) Java, .NET, Node.js, Python, Ruby, and PHP.
15
15
16
16
## How it works [#how-it-works]
17
17
@@ -88,7 +88,7 @@ Here's what the instrumentation CR lets you map out:
88
88
* Name of the instrumentation CR
89
89
* Where it will apply the instrumentation CR (thanks to `podLabelSelector` and `namespaceLabelSelector`)
90
90
* APM agent (one per CR)
91
-
* APM agent version
91
+
* APM agent version
92
92
* APM config parameters (env vars)
93
93
* License key (optional)
94
94
@@ -141,7 +141,7 @@ Both selectors support `matchLabel` and `matchExpressions`.
141
141
>
142
142
143
143
`matchExpressions` is a more expressive label selector in Kubernetes and supports set-based matching unlike the `matchLabels`, which you can only use for exact matching. You can use it with or without the `matchLabels` selector.
144
-
144
+
145
145
```yaml
146
146
...
147
147
selector:
@@ -152,9 +152,9 @@ Both selectors support `matchLabel` and `matchExpressions`.
You can add more expressions to the selector. As in the example, each expression must contain a key, an operator, and possibly (depending on the operator) a list of values. There are four valid operators:
157
-
157
+
158
158
*`In`: Label's value must match one of the specified values.
159
159
*`NotIn`: Label's value must not match any of the specified values.
160
160
*`Exists`: Pod must include a label with the specified key (the value isn't important). When using this operator, you shouldn't specify the values field.
@@ -180,7 +180,7 @@ You've got to specify the APM agent and its version within the instrumentation C
180
180
</th>
181
181
<th>
182
182
Available versions
183
-
</th>
183
+
</th>
184
184
</tr>
185
185
</thead>
186
186
<tbody>
@@ -193,7 +193,7 @@ You've got to specify the APM agent and its version within the instrumentation C
@@ -483,15 +495,17 @@ Run this command to see the available charts:
483
495
id="custom-apm"
484
496
title="Can I use custom instrumentation with the Kubernetes APM auto-attach?"
485
497
>
486
-
Yes, custom instrumentation will work the same as without APM auto-attach. The main difference is that the agent is now injected by APM auto-attach instead of installed in the container with the rest of the application dependencies.
487
-
498
+
Yes, custom instrumentation will work the same as without APM auto-attach. The main difference is that the agent is now injected by APM auto-attach instead of installed in the container with the rest of the application dependencies.
499
+
488
500
You can still import and call the agent API to add custom instrumentation into your application. You can also utilize a configuration file or environment variables to add custom instrumentation if the particular agent you're using supports it. Note that agents have order of precendence between configuration via environment variables and configuration via configuration files, so you will need to make sure your environment variable configuration via the operator is not clashing with your configuration via configuration file. See each agents custom instrumentation docs for details:
0 commit comments