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
Copy file name to clipboardExpand all lines: src/content/docs/apm/agents/net-agent/getting-started/net-agent-compatibility-requirements.mdx
+6-4Lines changed: 6 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -216,7 +216,8 @@ Want to try out our .NET agent? [Create a New Relic account](https://newrelic.co
216
216
* Windows Server 2025
217
217
* Windows 10
218
218
* Windows 11
219
-
* Windows containers running on Server 2016 (NanoServer based images are not supported)
219
+
220
+
Containerized versions of these operating systems are also supported, with the exception of `nanoserver`.
220
221
</td>
221
222
</tr>
222
223
@@ -226,7 +227,7 @@ Want to try out our .NET agent? [Create a New Relic account](https://newrelic.co
226
227
</td>
227
228
228
229
<td>
229
-
All x64 Linux distributions supported by the .NET Core 2.0+/.NET 5+ runtime are supported by the .NET agent. For a full list, refer to Microsoft's documentation for the version of the runtime you are using.
230
+
All x64 Linux distributions supported by the .NET Core 2.0+/.NET 5+ runtime are supported by the .NET agent (including containerized versions). For a full list, refer to [Microsoft's documentation](https://learn.microsoft.com/en-us/dotnet/core/install/linux) for the version of the runtime you are using.
230
231
</td>
231
232
</tr>
232
233
@@ -236,7 +237,7 @@ Want to try out our .NET agent? [Create a New Relic account](https://newrelic.co
236
237
</td>
237
238
238
239
<td>
239
-
All ARM64 Linux distributions supported by the .NET 5+ runtime are supported by the .NET agent, with the following known exceptions:
240
+
All ARM64 Linux distributions supported by the .NET 5+ runtime are supported by the .NET agent (including containerized versions), with the following known exceptions:
240
241
* Alpine Linux
241
242
</td>
242
243
</tr>
@@ -1229,7 +1230,8 @@ Want to try out our .NET agent? [Create a New Relic account](https://newrelic.co
1229
1230
* Windows 10
1230
1231
* Windows 11
1231
1232
* Windows Azure (OS Family 1, 2, and 3)
1232
-
* Windows containers running on Windows 2016 (NanoServer based images are not supported)
1233
+
1234
+
The agent supports running in containerized versions of all supported Windows operating systems with the known exception of `nanoserver`.
Copy file name to clipboardExpand all lines: src/content/docs/infrastructure/host-integrations/host-integrations-list/oracle-database-monitoring-integration.mdx
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -177,7 +177,7 @@ In the Oracle database, execute the following statements to create a new user an
177
177
To collect PDB metrics, grant `gv$con_sysmetric` privileges by running:
Copy file name to clipboardExpand all lines: src/content/docs/kubernetes-pixie/kubernetes-integration/advanced-configuration/k8s-privileged-mode.mdx
+81-9Lines changed: 81 additions & 9 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -5,38 +5,38 @@ template: 'GuideTemplate'
5
5
freshnessValidatedDate: never
6
6
---
7
7
8
-
The New Relic Kubernetes integration runs in **privileged mode** by default, enabling the Infrastructure Agent (running as a DaemonSet sidecar) to directly access the underlying host's information.
8
+
The New Relic Kubernetes integration runs in **privileged mode** by default. This enables the Infrastructure Agent to directly access the underlying host's information.
9
9
10
10
While this provides the most complete telemetry, some security policies (such as Pod Security Standards or OpenShift SCCs) may require you to run workloads in **unprivileged mode**.
11
11
12
12
## Why privileged mode is required
13
13
14
14
The New Relic Infrastructure Agent is included in the Kubelet pod and requires low-level access to the node's operating system to collect deep system metrics.
15
15
16
-
Although the default value for `privileged` in the [common library](https://github.com/newrelic/helm-charts/blob/master/library/common-library/README.md) is `false`, this chart sets it to `true` by default (see [`values.yaml`](https://github.com/newrelic/helm-charts/blob/master/charts/nri-bundle/values.yaml)) to ensure the agent can:
16
+
The default value for `privileged` in the [common library](https://github.com/newrelic/helm-charts/blob/master/library/common-library/README.md) is `false`. However, this chart sets it to `true` by default (see [`values.yaml`](https://github.com/newrelic/helm-charts/blob/master/charts/nri-bundle/values.yaml)) to ensure the agent can:
17
17
18
18
* Read the host's `/proc` and `/sys` filesystems.
19
19
* Collect accurate CPU, memory, storage, and network statistics for the **underlying host**.
20
20
* Gather full process lists and metadata that correlate infrastructure health with your Kubernetes objects.
21
21
22
22
### Running in unprivileged mode
23
23
24
-
If your cluster security policy does not allow `privileged` in your pods' security context, you can disable it by setting `privileged` to `false`.
24
+
If your cluster security policy doesn't allow `privileged` in your pods' security context, you can disable it by setting `privileged` to `false`.
25
25
26
26
### Impact on data collection
27
27
28
28
<Calloutvariant="important">
29
-
Disabling privileged mode will result in the loss of **host-level metrics** and metadata.
29
+
Disabling privileged mode will result in the loss of **host-level metrics** and metadata. Host entities won't be created in New Relic.
30
30
</Callout>
31
31
32
-
When unprivileged, the Infrastructure Agent cannot see the host's resource usage. You will lose access to the standard host metrics, including:
32
+
In unprivileged mode, the Infrastructure Agent can't see the host's resource usage and host entities won't be created. You'll lose access to the standard host metrics, including:
33
33
34
34
***SystemSample:** Host-level CPU, memory, and load averages.
35
35
***StorageSample:** Disk usage and I/O for the node's filesystem.
***ProcessSample:** Data on processes running outside the New Relic container.
38
38
39
-
For a detailed list of exactly which attributes and metrics are unavailable in unprivileged mode, please refer to the [Linux agent running modes documentation](/docs/infrastructure/infrastructure-agent/linux-installation/linux-agent-running-modes/#mode-metrics).
39
+
For a detailed list of exactly which attributes and metrics are unavailable in unprivileged mode, see the [Linux agent running modes documentation](/docs/infrastructure/infrastructure-agent/linux-installation/linux-agent-running-modes/#mode-metrics).
40
40
41
41
### How to configure it
42
42
@@ -47,8 +47,80 @@ global:
47
47
privileged: false
48
48
```
49
49
50
-
### Windows in unprivileged mode
50
+
### Windows nodes
51
51
52
-
Standard Windows containers cannot directly access host infrastructure due to container isolation. HostProcess containers could provide this access but introduce additional security risks and are not currently used by the New Relic Kubernetes integration. Therefore, Windows DaemonSets run only in unprivileged mode; privileged mode is not supported for Windows nodes.
52
+
Windows nodes support both privileged and unprivileged modes. Unlike Linux, where privileged mode operates via the container security context, **Windows privileged mode uses HostProcess containers** — the Windows-native mechanism for granting a container direct access to host resources.
53
53
54
-
For more details on what metrics are collected in this mode, see [Limitations to the Kubernetes integration for Windows](/docs/kubernetes-pixie/kubernetes-integration/troubleshooting/troubleshooting-windows/#k8-windows-limitations).
54
+
#### What are HostProcess containers?
55
+
56
+
When you deploy with `windows.privileged=true` (the default for Windows nodes), the monitoring containers run as Windows HostProcess containers. This is a fundamentally different execution model from standard Windows container isolation:
57
+
58
+
- The container's processes run directly in the **Windows host OS process space** — they are visible in Task Manager on the node, not isolated in a container namespace.
59
+
- `hostNetwork: true` is automatically applied, giving the process access to all network interfaces on the node.
60
+
- The container has access to the **host filesystem and registry**.
61
+
- It runs as `NT AUTHORITY\Local Service`, a built-in Windows account with limited local privileges but the ability to authenticate to network resources as the computer account.
62
+
63
+
HostProcess mode is required to collect host metrics — CPU, memory, disk, and network interfaces — from the Windows node itself.
64
+
65
+
#### Unprivileged mode for Windows
66
+
67
+
When you set `windows.privileged=false`, containers run as standard `ContainerUser` without host network access. The agent operates in forward-only mode — it forwards data from the kubelet integration scraper but doesn't directly access host resources. Node-level samples (`SystemSample`, `StorageSample`, `NetworkSample`) aren't collected in this mode.
68
+
69
+
Many node-related metrics are still available in unprivileged mode via the K8sNodeSample event. For the full list of metrics unavailable in unprivileged mode, see [Limitations to the Kubernetes integration for Windows](/docs/kubernetes-pixie/kubernetes-integration/troubleshooting/troubleshooting-windows/#k8-windows-limitations).
70
+
71
+
#### Security considerations for Windows privileged mode
72
+
73
+
Because HostProcess containers run with direct access to the host OS, New Relic recommends the following practices when using `windows.privileged=true`:
74
+
75
+
- **Enable fine-grained kubelet authorization** to restrict RBAC to the specific read-only endpoints the integration uses, rather than the broader `nodes/proxy` subresource. This requires Kubernetes 1.32+ with the `KubeletFineGrainedAuthz` feature gate.
76
+
77
+
In the newrelic-infrastructure Helm chart:
78
+
79
+
```yaml
80
+
rbac:
81
+
kubeletFineGrainedAuth: true
82
+
```
83
+
84
+
- **Store the license key as a Kubernetes Secret** rather than embedding it in `values.yaml` or passing it via `--set`, where it would be visible in shell history and `helm get values`:
85
+
86
+
```bash
87
+
kubectl create secret generic newrelic-license \
88
+
--namespace newrelic \
89
+
--from-literal=licenseKey=<YOUR_KEY>
90
+
```
91
+
92
+
```yaml
93
+
global:
94
+
customSecretName: newrelic-license
95
+
customSecretLicenseKey: licenseKey
96
+
```
97
+
98
+
- **Pin the DaemonSet to designated nodes** using `kubelet.windowsNodeSelector`. If your cluster has Windows nodes with different workload classifications, you can restrict monitoring to only those nodes you intend to monitor.
99
+
100
+
- **Enforce network egress at the node level** using Windows Defender Firewall rules or a proxy. Kubernetes `NetworkPolicy` objects don't apply to HostProcess pods because `hostNetwork: true` bypasses pod networking entirely. Note that `NetworkPolicy` enforcement also depends on your CNI plugin — not all CNI plugins enforce network policies by default. If you are relying on `NetworkPolicy` for egress control elsewhere in your cluster, verify that enforcement is actually active before depending on it. If you use a proxy:
101
+
102
+
```yaml
103
+
global:
104
+
proxy: "http://your-proxy:3128"
105
+
```
106
+
107
+
- **Set resource limits** to protect node stability, since HostProcess containers compete for node resources directly. The chart sets a memory limit by default — you may keep this or set your own:
108
+
109
+
```yaml
110
+
kubelet:
111
+
windows:
112
+
agent:
113
+
resources:
114
+
limits:
115
+
memory: 300Mi
116
+
```
117
+
118
+
A CPU limit is not set by default. For a monitoring agent, a hard CPU cap risks missing scrape intervals under node load. If your cluster policy requires one, weigh that tradeoff before setting it.
119
+
120
+
- **Run the monitoring stack in a dedicated namespace** and restrict who can create or modify resources in it. Because HostProcess pods run with direct host access, lateral access to this namespace should be treated as equivalent to node access.
121
+
122
+
- **Ensure your existing Windows security monitoring covers these nodes.** HostProcess container processes run directly in the host OS process space and are visible to the host like any other process. They appear in `Get-Process` output and, with process creation auditing enabled, in Security log events 4688 (process creation) and 4689 (process exit).
123
+
124
+
The identifiable signal for a HostProcess container launch in the Security log is `containerd-shim-runhcs-v1.exe` as the Creator Process spawning `cmd.exe` as `NT AUTHORITY\Local Service`, followed by the agent processes (`newrelic-infra.exe` and `nri-kubernetes`) further down the chain.
125
+
126
+
Note that process creation auditing is disabled by default on Windows and requires Administrator or SYSTEM privileges to enable and to read the Security log - it can't be configured from within the New Relic container itself. If your organization uses a SIEM, Windows Event Forwarding, or an EDR tool to collect event logs from Windows hosts, make sure that coverage extends to your Kubernetes Windows nodes.
Copy file name to clipboardExpand all lines: src/content/docs/kubernetes-pixie/kubernetes-integration/advanced-configuration/k8s-version2/kubernetes-windows.mdx
+5-5Lines changed: 5 additions & 5 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -11,14 +11,14 @@ redirects:
11
11
freshnessValidatedDate: 2025-07-01
12
12
---
13
13
14
-
<Callouttitle="important">
15
-
With the release of Windows Support for the New Relic Kubernetes Integration v3, it is not recommended to use the installation guidelines listed here. Please follow the [Kubernetes integration installation guide](/install/kubernetes) for the latest instructions.
14
+
<Calloutvariant="important">
15
+
**Windows node monitoring is now generally available (GA) in New Relic Kubernetes integration v3.** The v2 installation approach described on this page is deprecated and will be removed in a future release. Use the [Kubernetes integration installation guide](/install/kubernetes) for current installation instructions, which support Windows nodes natively.
16
16
</Callout>
17
17
18
18
19
-
Use this option when you've a Windows-based Kubernetes system. Note that Windows integration has several [limitations](#k8-windows-limitations).
19
+
Use this option when you have a Windows-based Kubernetes system. Note that Windows integration has several [limitations](#k8-windows-limitations).
20
20
21
-
## Compatibility and requirements [#compability-requirements]
21
+
## Compatibility and requirements [#compatibility-requirements]
22
22
23
23
Before you install the [Kubernetes integration](/docs/integrations/kubernetes-integration/get-started/introduction-kubernetes-integration), review the [compatibility and requirements](/docs/integrations/kubernetes-integration/get-started/kubernetes-integration-compatibility-requirements).
24
24
@@ -152,7 +152,7 @@ For a useful mapping between release IDs and OS versions, see [here](https://hub
152
152
153
153
The Windows agent only sends the [Kubernetes samples](/docs/kubernetes-pixie/kubernetes-integration/understand-use-data/find-use-your-kubernetes-data/#event-types), such as `K8sNodeSample` or `K8sPodSample`. These limitations apply to the Kubernetes integration for Windows:
154
154
155
-
*`SystemSample`, `StorageSample`, `NetworkSample`, and `ProcessSample`are not generated.
155
+
*`SystemSample`, `StorageSample`, `NetworkSample`, and `ProcessSample`aren't generated.
156
156
* Some [Kubernetes metrics](/docs/integrations/kubernetes-integration/understand-use-data/understand-use-data#metrics) are missing because the Windows kubelet doesn't have them:
Copy file name to clipboardExpand all lines: src/content/docs/kubernetes-pixie/kubernetes-integration/advanced-configuration/k8s-version2/windows-linux-hybrid-cluster.mdx
The New Relic Kubernetes integration v3 now supports monitoring Windows nodes with the new [`nri-kubernetes` v3 architecture](/docs/kubernetes-pixie/kubernetes-integration/advanced-configuration/k8s-version2/changes-since-v3/).
16
-
To enable monitoring for your Windows nodes, use the [guided install process.](/install/kubernetes/) This process supports both Linux and Windows nodes, allowing hybrid cluster installations by default.
15
+
**Windows node monitoring is now generally available (GA) in New Relic Kubernetes integration v3.** The hybrid installation approach described on this page (using a separate `newrelic-infrastructure` v2 chart for Windows) is deprecated and will be removed in a future release. Use the [guided install process](/install/kubernetes/) instead — it supports both Linux and Windows nodes in a single installation by default.
17
16
</Callout>
18
17
19
18
This document explains how to install the Kubernetes integration for a hybrid cluster. The instrumentation process installs the `nri-bundle` chart on the Linux nodes and then creates a `newrelic-logging` sub-chart. This sub-chart enables the integration to run on both Windows and Linux nodes.
@@ -86,7 +85,7 @@ To use this integration, you should:
86
85
87
86
Here are some important things to keep in mind:
88
87
89
-
* Other subcharts may exist in `nri-bundle` that are not represented in this file. If you'd like to add those subcharts, then add their key or value pairs to your yaml file.
88
+
* Other subcharts may exist in `nri-bundle` that aren't represented in this file. If you'd like to add those subcharts, then add their key or value pairs to your yaml file.
90
89
* The `newrelic/nri-bundle` chart contains the latest updates for Linux-based nodes.
91
90
* You can also configure the `newrelic-logging` chart during this step to install to both Linux and Windows nodes.
92
91
* You must configure a `NodeSelector` to avoid scheduling to Windows. If an installation fails on a mixed cluster using default values from guided install, add the `nodeSelector` values.
Copy file name to clipboardExpand all lines: src/content/docs/kubernetes-pixie/kubernetes-integration/get-started/kubernetes-integration-compatibility-requirements.mdx
+7-5Lines changed: 7 additions & 5 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -43,14 +43,15 @@ If custom manifests have been used instead of Helm, you will need to first remov
43
43
44
44
### Compatibility and requirements for Windows [#req-windows]
45
45
46
-
<Callouttitle="preview">
46
+
To monitor Windows nodes with the New Relic Kubernetes integration, your environment must meet the following requirements.
47
47
48
-
We're still working on this feature, but we'd love for you to try it out!
48
+
Windows monitoring supports two modes:
49
49
50
-
This feature is currently provided as part of a preview program pursuant to our [pre-release policies](/docs/licenses/license-information/referenced-policies/new-relic-pre-release-policy). Check the [Kubernetes integration installation guide](/install/kubernetes) for the latest instructions.
51
-
</Callout>
50
+
***Privileged mode**, which uses Windows HostProcess containers to collect full node-level metrics. The privileged mode is enabled by default.
51
+
***Unprivileged mode**, which runs as a standard container user with reduced host visibility.
52
+
53
+
For details on how these modes work and guidance on configuring them securely, see [Privileged vs. unprivileged mode](/docs/kubernetes-pixie/kubernetes-integration/advanced-configuration/k8s-privileged-mode). For complete setup instructions, see [Monitor Windows nodes](/docs/kubernetes-pixie/kubernetes-integration/installation/windows).
52
54
53
-
To monitor Windows nodes with the New Relic Kubernetes integration, your environment must meet the following requirements.
54
55
55
56
## Privileged mode requirements
56
57
@@ -73,6 +74,7 @@ Due to limitations in cloud provider offerings and Kubernetes itself, several ke
73
74
* Windows nodes running in Red Hat OpenShift clusters.
74
75
* Amazon EKS Fargate clusters, as Fargate supports only Linux nodes.
75
76
* Google GKE Autopilot clusters, as Autopilot supports only Linux nodes.
77
+
* Windows privileged mode on Google GKE clusters, as GKE doesn't support Windows `HostProcess` containers. You can still monitor Windows nodes on GKE in [unprivileged mode](/docs/kubernetes-pixie/kubernetes-integration/advanced-configuration/k8s-privileged-mode/#windows-nodes).
0 commit comments