Skip to content

Commit 86596ee

Browse files
fix configs
1 parent 9d26176 commit 86596ee

File tree

1 file changed

+71
-41
lines changed

1 file changed

+71
-41
lines changed

content/en/network_monitoring/devices/config_management.md

Lines changed: 71 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ further_reading:
77
text: "NDM Troubleshooting"
88
---
99

10-
<div class="alert alert-info">Network Configuration Management is in Preview. Contact your Datadog representative to sign up.</div>
10+
<div class="alert alert-info">Network Configuration Management is in Preview. To request access and receive the custom Datadog Agent build, contact your Datadog representative.</div>
1111

1212
## Overview
1313

@@ -24,57 +24,73 @@ Network Configuration Management (NCM) extends [Network Device Monitoring (NDM)]
2424
## Prerequisites
2525

2626
- [Network Device Monitoring][3] (NDM) must be configured on your devices.
27-
- Datadog Agent version `7.74.0` and higher.
2827

2928
## Setup
3029

3130
1. In the Agent's root configuration directory at `conf.d/network_config_management.d/`, create the `conf.yaml` and configure it as follows:
3231

3332
```yaml
34-
init_config:
35-
namespace: ncm-namespace # applies namespace to all devices (defaults to `default` namespace if not specified)
36-
min_collection_interval: <value in seconds> # optional
37-
ssh: # global SSH configuration. Applies to any device without its own SSH config.
38-
known_hosts_path: "/location/known_hosts" # specify the file that stores public keys of trusted remote SSH servers
39-
timeout:30 #SSH connection timeout in seconds. Defaults to 30
40-
instances:
41-
- ip_address: "1.2.3.4"
42-
auth:
43-
username: "user"
44-
password: "pass"
45-
privateKeyPath: <file> # authentication supports password and/or private key.
46-
profile: cisco_ios # optional - apply your device profile
33+
init_config:
34+
## @param namespace - string - optional - default: default
35+
## The namespace should match namespaces of devices being monitored
36+
namespace: default
37+
## @param min_collection_interval - integer - optional - default: 900 (15 minutes)
38+
min_collection_interval: 900
39+
## @param ssh - object - optional
40+
## Global SSH configuration that applies to all device instances unless
41+
# overridden at the device level.
42+
ssh:
43+
## @param timeout - duration - optional - default: 30 (seconds)
44+
## Maximum time for the SSH client to establish a TCP connection.
45+
timeout: 30
46+
## @param known_hosts_path - string - required (unless insecure_skip_verify is true)
47+
## Path to the known_hosts file containing public keys of servers to
48+
# verify the identity of remote hosts. Required for secure connections.
49+
known_hosts_path: /path/to/known_hosts
50+
## @param insecure_skip_verify - boolean - optional - default: false
51+
## Skip host key verification. This is INSECURE and should only be used
52+
## for development/testing purposes.
53+
insecure_skip_verify: false
54+
instances:
55+
ip_address - string - required
56+
## The IP address of the network device to collect configurations from.
57+
ip_address: <IP_ADDRESS>
58+
## @param profile - string - optional
59+
## The device profile name that defines how to collect configurations.
60+
## Examples: "cisco-ios", "junos"
61+
## If not specified, the agent will attempt to auto-detect the device type.
62+
profile: <PROFILE_NAME>
63+
## @param auth - object - required
64+
## Authentication credentials to connect to the network device.
65+
auth:
66+
## @param username - string - required
67+
## Username to authenticate to the network device.
68+
username: <USERNAME>
69+
## @param password - string - required (if private_key_file is not provided)
70+
## Password to authenticate to the network device.
71+
## Used as a fallback after private key authentication if both are provided.
72+
password: <PASSWORD>
73+
## @param private_key_file - string - optional
74+
## Path to the SSH private key file for authentication.
75+
## At least one of password or private_key_file must be provided.
76+
private_key_file: /path/to/private_key
4777
```
48-
**Note**: Ensure the namespace matches the namespace used for device monitoring to enable proper correlation.
4978
5079
2. Optionally, if your devices require specific SSH algorithms, use the following configuration:
5180
5281
```yaml
53-
instances:
54-
- ip_address: "10.10.1.1"
55-
auth:
56-
username: "cisco"
57-
password: "cisco"
58-
ssh: # Device-specific SSH configuration
59-
# Specify algorithms for this device
60-
ciphers: [aes256-ctr, aes192-ctr, aes128-ctr]
61-
key_exchanges: [diffie-hellman-group14-sha1, diffie-hellman-group-exchange-sha1]
62-
host_key_algorithms: [ssh-rsa]
82+
init_config:
83+
## @param ciphers - list of strings - optional
84+
## List of SSH encryption ciphers to use for the connection.
85+
## If not specified, the SSH library will use its default ciphers.
86+
ciphers: [[email protected], aes128-ctr, aes192-ctr]
87+
key_exchanges: [diffie-hellman-group14-sha256, ecdh-sha2-nistp256]
88+
host_key_algorithms: [ssh-ed25519]
6389
```
6490
65-
3. Configure the device profile if not already specified in your `conf.yaml`. Default profiles are located at `/conf.d/network_config_management.d/default_profiles`.
91+
See the full [configuration file][7] for more details.
6692
67-
Each default profile (in JSON format) specifies:
68-
69-
- **Configuration commands**: CLI commands to retrieve different configuration types:
70-
- `running`: Gets the current active configuration
71-
- `startup`: Gets the configuration that loads on device boot
72-
- `version`: Gets device information such as OS version
73-
74-
- **Processing rules**: Regex patterns for:
75-
- **Metadata extraction**: Captures timestamp, author, and other metadata when available
76-
- **Validation**: Verifies command execution was successful and returned valid data
77-
- **Redaction**: Removes sensitive data or unnecessary lines from configurations
93+
3. Configure the device profile if not already specified in your `conf.yaml`. Default profiles are located at `/conf.d/network_config_management.d/default_profiles`. See [device profiles](#device-profiles) for more information.
7894

7995
**Note**: NCM uses dedicated default profiles that differ from SNMP device profiles. Custom profiles are not supported.
8096

@@ -100,8 +116,6 @@ Configuration Management is accessible from the device side panel in Network Dev
100116

101117
**Startup configuration**
102118
: The saved configuration that persists across reboots. When a device restarts, it loads this configuration.
103-
104-
<div class="alert alert-info">Startup configurations cannot be modified directly. To update the startup configuration, apply changes to the running configuration first, then save it to overwrite the startup configuration. This ensures only validated configurations persist across reboots.</div>
105119

106120
### Time picker and retention
107121

@@ -146,6 +160,21 @@ When you compare two configuration versions, the AI summary automatically:
146160
- Describes changes in human-readable terms
147161
- Highlights changes that may be relevant for incident investigation or risk analysis
148162

163+
## Device profiles
164+
165+
Each default profile (in JSON format) contains:
166+
167+
- **Configuration commands**: CLI commands to retrieve different configuration types and supplemental information:
168+
- `running`: Gets the current active configuration
169+
- `startup`: Gets the configuration that loads on device boot
170+
171+
- **Processing rules**: Regex patterns for:
172+
- **Metadata extraction**: Captures timestamp, author, and other metadata when available
173+
- **Validation**: Verifies command execution was successful and returned valid data
174+
- **Redaction**: Removes sensitive data or unnecessary lines from configurations
175+
176+
<div class="alert alert-info">Startup configurations cannot be modified directly. To update the startup configuration, apply changes to the running configuration first, then save it to overwrite the startup configuration. This ensures only validated configurations persist across reboots.</div>
177+
149178
## Further Reading
150179

151180
{{< partial name="whats-next/whats-next.html" >}}
@@ -155,4 +184,5 @@ When you compare two configuration versions, the AI summary automatically:
155184
[3]: https://app.datadoghq.com/devices
156185
[4]: /network_monitoring/devices/geomap
157186
[5]: /network_monitoring/devices/topology
158-
[6]: /network_monitoring/devices/supported_devices#vendor-profiles
187+
[6]: /network_monitoring/devices/supported_devices#vendor-profiles
188+
[7]: https://github.com/DataDog/datadog-agent/tree/main/cmd/agent/dist/conf.d/network_config_management.d/

0 commit comments

Comments
 (0)