Configuration¶
The examples/configuration
directory includes a sample file that
can be edited. switchmap-ng
assumes all files in this directory, or any
other specified configuration directory, only contains switchmap-ng
configuration files. Most user will only need to edit the three files
supplied.
You must place your configuration file in the etc/
directory as your
permanent configuration file location.
Sample Configuration File¶
Here is a sample configuration file that will be explained later in
detail. switchmap-ng
will attempt to contact hosts with each of the
parameter sets in the snmp_group
section till successful.
main:
log_directory: /home/switchmap-ng/log
log_level: info
cache_directory: /opt/switchmap-ng/cache
agent_subprocesses: 20
bind_port: 7000
listen_address: 0.0.0.0
hostnames:
- 192.168.1.1
- 192.168.1.2
- 192.168.1.3
- 192.168.1.4
polling_interval: 86400
snmp_groups:
- group_name: Corporate Campus
snmp_version: 3
snmp_secname: woohoo
snmp_community:
snmp_port: 161
snmp_authprotocol: sha
snmp_authpassword: testing123
snmp_privprotocol: des
snmp_privpassword: secret_password
- group_name: Remote Sites
snmp_version: 3
snmp_secname: foobar
snmp_community:
snmp_port: 161
snmp_authprotocol: sha
snmp_authpassword: testing123
snmp_privprotocol: aes
snmp_privpassword: secret_password
The main:
Section¶
This is the section of the configuration file that governs the general operation of switchmap-ng
. Here is how it is configured.
Parameter | Description |
---|---|
main: |
YAML key describing the server configuration. |
log_directory: |
The directory where switchmap-ng places its log files |
log_level: |
Defines the logging level. debug level is the most verbose, followed by info , warning and critical |
cache_directory: |
Location where data retrieved from devices will be stored. |
agent_subprocesses: |
The maximum number of subprocesses used to collect data from devices |
listen_address: |
IP address the API will be using. The default is localhhost . This should not need to be changed. |
bind_port: |
The TCP port the API will use. This should not need to be changed. |
hostnames: |
A list of hosts that will be polled for data. |
polling_interval: |
The frequency in seconds with which the poller will query devices |
The snmp_groups:
Section¶
This is the section of the configuration file that governs the SNMP credentials to be used to retrieve data from devices. You can have multiple groups, each with a separate group_name
. This is how switchmap-ng
uses this information.
switchmap-ng
will attempt to use each set of group credentials until it is successful. It will skip devices that it cannot authenticate against or reach.switchmap-ng
will keep track of the most recently used credentials to successfully obtain data and will use these credentials first.
Parameter | Description |
---|---|
snmp_groups: | YAML key describing groups of SNMP authentication parameter. All parameter groups are listed under this key. |
group_name: | Descriptive name for the group |
snmp_version: | SNMP version. Must be present even if blank. Only SNMP versions 2 and 3 are supported by the project. |
snmp_secname: | SNMP security name (SNMP version 3 only). Must be present even if blank. |
snmp_community: | SNMP community (SNMP version 2 only). Must be present even if blank. |
snmp_port: | SNMP Authprotocol (SNMP version 3 only). Must be present even if blank. |
snmp_authprotocol: | SNMP AuthPassword (SNMP version 3 only). Must be present even if blank. |
snmp_authpassword: | SNMP PrivProtocol (SNMP version 3 only). Must be present even if blank. |
snmp_privprotocol: | SNMP PrivProtocol (SNMP version 3 only). Must be present even if blank. |
snmp_privpassword: | SNMP PrivPassword (SNMP version 3 only). Must be present even if blank. |
snmp_port: | SNMP UDP port |