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.
19
19
20
-
It currently [supports](#k8s-supported-versions) Java, .NET, Node.js, Python, and Ruby with additional languages (PHP and Go) on the way.
20
+
It currently [supports](#k8s-supported-versions) Java, .NET, Node.js, Python, Ruby, and PHP with Go on the way.
21
21
22
22
## How it works [#how-it-works]
23
23
@@ -94,7 +94,7 @@ Here's what the instrumentation CR lets you map out:
94
94
* Name of the instrumentation CR
95
95
* Where it will apply the instrumentation CR (thanks to `podLabelSelector` and `namespaceLabelSelector`)
96
96
* APM agent (one per CR)
97
-
* APM agent version
97
+
* APM agent version
98
98
* APM config parameters (env vars)
99
99
* License key (optional)
100
100
@@ -147,7 +147,7 @@ Both selectors support `matchLabel` and `matchExpressions`.
147
147
>
148
148
149
149
`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.
150
-
150
+
151
151
```yaml
152
152
...
153
153
selector:
@@ -158,9 +158,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:
163
-
163
+
164
164
*`In`: Label's value must match one of the specified values.
165
165
*`NotIn`: Label's value must not match any of the specified values.
166
166
*`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.
@@ -186,7 +186,7 @@ You've got to specify the APM agent and its version within the instrumentation C
186
186
</th>
187
187
<th>
188
188
Available versions
189
-
</th>
189
+
</th>
190
190
</tr>
191
191
</thead>
192
192
<tbody>
@@ -199,7 +199,7 @@ You've got to specify the APM agent and its version within the instrumentation C
@@ -489,8 +501,8 @@ Run this command to see the available charts:
489
501
id="custom-apm"
490
502
title="Can I use custom instrumentation with the Kubernetes APM auto-attach?"
491
503
>
492
-
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.
493
-
504
+
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.
505
+
494
506
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