add max_deferrals documentation and other doc fixes
This commit is contained in:
@@ -7,8 +7,6 @@ App::Netdisco::Manual::Configuration - How to Configure Netdisco
|
|||||||
The configuration files for Netdisco come with all options set to sensible
|
The configuration files for Netdisco come with all options set to sensible
|
||||||
default values, and just a few that you must initially set yourself.
|
default values, and just a few that you must initially set yourself.
|
||||||
|
|
||||||
=head2 YAML GUIDANCE
|
|
||||||
|
|
||||||
There are two configuration files: C<config.yml> (which lives inside Netdisco)
|
There are two configuration files: C<config.yml> (which lives inside Netdisco)
|
||||||
and C<deployment.yml> (which usually lives in C<${HOME}/environments>).
|
and C<deployment.yml> (which usually lives in C<${HOME}/environments>).
|
||||||
|
|
||||||
@@ -17,6 +15,8 @@ alone. Any time you want to set an option, use only the C<deployment.yml>
|
|||||||
file. The two are merged when Netdisco starts, with your settings in
|
file. The two are merged when Netdisco starts, with your settings in
|
||||||
C<deployment.yml> overriding the defaults from C<config.yml>.
|
C<deployment.yml> overriding the defaults from C<config.yml>.
|
||||||
|
|
||||||
|
=head2 YAML GUIDANCE
|
||||||
|
|
||||||
The configuration file format for Netdisco is YAML. This is easy for humans to
|
The configuration file format for Netdisco is YAML. This is easy for humans to
|
||||||
edit, but you should take care with whitespace and avoid TAB characters. YAML
|
edit, but you should take care with whitespace and avoid TAB characters. YAML
|
||||||
supports several data types:
|
supports several data types:
|
||||||
@@ -67,11 +67,17 @@ single item or YAML list of items, which can contain:
|
|||||||
|
|
||||||
=item *
|
=item *
|
||||||
|
|
||||||
Hostname, IP address, IP prefix (i.e. subnet)
|
Hostname, IP address, IP prefix (i.e. subnet), such as:
|
||||||
|
|
||||||
|
- hostname.example.com
|
||||||
|
- 192.0.2.1
|
||||||
|
- '2001:db8::/32'
|
||||||
|
|
||||||
=item *
|
=item *
|
||||||
|
|
||||||
IP address range, using a hyphen on the last octet/hextet, and no whitespace
|
IP address range, using a hyphen on the last octet/hextet, and no whitespace:
|
||||||
|
|
||||||
|
- 192.0.2.1-10
|
||||||
|
|
||||||
=item *
|
=item *
|
||||||
|
|
||||||
@@ -85,6 +91,14 @@ device DNS name (using a fresh DNS lookup, so works on new discovery), e.g.:
|
|||||||
"C<property:regexp>" - matched against a device property, such as C<model> or
|
"C<property:regexp>" - matched against a device property, such as C<model> or
|
||||||
C<vendor> (with enforced begin/end regexp anchors).
|
C<vendor> (with enforced begin/end regexp anchors).
|
||||||
|
|
||||||
|
- vendor:cisco
|
||||||
|
|
||||||
|
=item *
|
||||||
|
|
||||||
|
"C<group:groupname>" to reference the "C<groupname>" group within the
|
||||||
|
C<host_groups> setting. This is a way to either include ACLs in other ACLs, or
|
||||||
|
re-use ACLs.
|
||||||
|
|
||||||
=item *
|
=item *
|
||||||
|
|
||||||
"C<op:and>" to require all items to match (or not match) the provided IP or
|
"C<op:and>" to require all items to match (or not match) the provided IP or
|
||||||
@@ -92,13 +106,18 @@ device. Note that this includes IP address version mismatches (v4-v6).
|
|||||||
|
|
||||||
=back
|
=back
|
||||||
|
|
||||||
To negate any item in an ACL, prefix it with "C<!>", for example
|
To negate any item in an ACL (except YAML regexp), prefix with "C<!>", for
|
||||||
"C<!192.0.2.0/29>". In that case, the item must I<not> match the device. This
|
example "C<!192.0.2.0/29>". In that case the test will be that the ACL entry
|
||||||
does not apply to regular expressions (which you can achieve with nonmatching
|
does I<not> match the device or IP being assessed. Note, however, that the
|
||||||
lookahead).
|
first match in an ACL wins (because the default mode is "OR"), so take care
|
||||||
|
over the order of items, or include "C<op:and>" in the ACL if appropriate.
|
||||||
|
|
||||||
To match any device, use "C<any>". To match no devices we suggest using
|
To match any device, use "C<any>". To match no devices use "C<!any>".
|
||||||
"C<broadcast>" in the list (or "C<!any>" may work).
|
|
||||||
|
Configuration settings in Netdisco that take an Access Control List (most of
|
||||||
|
the "C<*_no>" and "C<*_only>" settings, and "C<only>" settings) can accept
|
||||||
|
either a YAML list of the above items, or merely a single item. This is useful
|
||||||
|
if you create a C<host_groups> entry and wish to reference that as the ACL.
|
||||||
|
|
||||||
=head1 SUPPORTED SETTINGS
|
=head1 SUPPORTED SETTINGS
|
||||||
|
|
||||||
@@ -611,16 +630,15 @@ or to set SNMPv3 authentication, see C<snmp_auth>, below.
|
|||||||
|
|
||||||
Value: List of Settings Trees. Default: Empty List.
|
Value: List of Settings Trees. Default: Empty List.
|
||||||
|
|
||||||
This setting is used for SNMPv3 authentication configuration, and also
|
This setting configures authenticaiton for all SNMP versions, and provides an
|
||||||
provides an alternative fine-grained control for SNMPv1 and SNMPv2 community
|
alternative fine-grained control for SNMPv1 and SNMPv2 community strings. You
|
||||||
strings. You provide a list of authentication stanzas, and Netdisco will try
|
provide a list of authentication "I<stanza>", and Netdisco will try each in
|
||||||
each in turn, then cache the one which works for a device.
|
turn, then cache the one which works for a device.
|
||||||
|
|
||||||
Each stanza can be restricted for use only on specific IP prefixes (subnets),
|
Each stanza can be restricted for use only on specific devices, and also
|
||||||
and also limited to read (get) and/or write (set) operations. By default, a
|
limited to read (get) and/or write (set) operations. By default, a stanza is
|
||||||
stanza is enabled for all device IPs, for read access only. The "tag" of a
|
enabled for all device IPs, for read access only. The "tag" of a stanza is
|
||||||
stanza is simply a friendly name used by Netdisco to refer to the
|
simply a friendly name used by Netdisco when referring to the configuration.
|
||||||
configuration.
|
|
||||||
|
|
||||||
snmp_auth:
|
snmp_auth:
|
||||||
- community: public
|
- community: public
|
||||||
@@ -651,8 +669,8 @@ configuration.
|
|||||||
|
|
||||||
For SNMPv1 and SNMPv2, only the C<community> key is required. Unlike the
|
For SNMPv1 and SNMPv2, only the C<community> key is required. Unlike the
|
||||||
global C<community>/C<community_rw> setting, this is not a list but a single
|
global C<community>/C<community_rw> setting, this is not a list but a single
|
||||||
item. To emulate their list behaviour, have multiple entries at the top
|
item. That is, to configure multiple community strings, have one stanza per
|
||||||
C<snmp_auth> level, as in the example below.
|
community, as in the examples above and below.
|
||||||
|
|
||||||
You can add C<read> and/or C<write> restrictions, and an IP restriction using
|
You can add C<read> and/or C<write> restrictions, and an IP restriction using
|
||||||
C<only> (see L</"ACCESS CONTROL LISTS">. Giving the stanza a C<tag> name is
|
C<only> (see L</"ACCESS CONTROL LISTS">. Giving the stanza a C<tag> name is
|
||||||
@@ -663,18 +681,26 @@ and/or C<write> restrictions, and an IP restriction using C<only>. Providing
|
|||||||
an C<auth> section enables the authentication security level. Providing a
|
an C<auth> section enables the authentication security level. Providing a
|
||||||
C<priv> section enables the message encryption security level.
|
C<priv> section enables the message encryption security level.
|
||||||
|
|
||||||
As per Net-SNMP, the default SNMPv3 authentication security method is MD5, and
|
The default SNMPv3 authentication security method is MD5, and the default
|
||||||
the default encryption protocol is DES, with AES or AES256 being common
|
encryption protocol is DES, with AES or AES256 being common alternatives. Note
|
||||||
alternatives. Note that you cannot have C<priv> without C<auth>.
|
that you cannot have C<priv> without C<auth>.
|
||||||
|
|
||||||
On some device platforms SNMPv3 contexts are used to macsuck each VLAN. For
|
On some device platforms SNMPv3 contexts are used to macsuck each VLAN. For
|
||||||
this you usually configure a common context prefix, with Netdisco's default
|
this you usually configure a common context "prefix", with Netdisco's default
|
||||||
being "C<vlan->" (i.e. C<vlan-1>, C<vlan-2>, etc). Add the C<context_prefix>
|
being "C<vlan->" (i.e. C<vlan-1>, C<vlan-2>, etc). Add the C<context_prefix>
|
||||||
key to a stanza to override this.
|
key to a stanza to override this default.
|
||||||
|
|
||||||
Note that multiple SNMP v2 community strings need to be in separate named
|
Netdisco caches both the successful SNMPv2 read and write community strings,
|
||||||
stanza, as below. However for simple v2 configurations you can use the
|
as well as the C<tag> names if available. This allows for faster operations
|
||||||
C<community> shorthand instead:
|
once a connection has previously been made to a device.
|
||||||
|
|
||||||
|
If you have SNMP connect failures, or notice that devices are not appearing in
|
||||||
|
Netdisco, take a look at the "SNMP Connect Failures" Admin Report, and also
|
||||||
|
the C<max_deferrals> setting, below.
|
||||||
|
|
||||||
|
Finally, a reminder that multiple SNMPv2 community strings need to be in
|
||||||
|
separate named stanza, as below. However for simple v2 configurations you can
|
||||||
|
revert to the "C<community>" setting, instead:
|
||||||
|
|
||||||
snmp_auth:
|
snmp_auth:
|
||||||
- tag: 'default_v2_readonly1'
|
- tag: 'default_v2_readonly1'
|
||||||
@@ -685,10 +711,6 @@ C<community> shorthand instead:
|
|||||||
# or...
|
# or...
|
||||||
community: ['read1', 'read2']
|
community: ['read1', 'read2']
|
||||||
|
|
||||||
Netdisco caches both the successful SNMPv2 read and write community strings,
|
|
||||||
as well as the C<tag> names if available. This allows for faster operations
|
|
||||||
once a connection has previously been made to a device.
|
|
||||||
|
|
||||||
=head3 C<get_community>
|
=head3 C<get_community>
|
||||||
|
|
||||||
Value: String. Default none.
|
Value: String. Default none.
|
||||||
@@ -1183,6 +1205,7 @@ Value: Settings Tree. Default:
|
|||||||
tasks: 'AUTO * 2'
|
tasks: 'AUTO * 2'
|
||||||
sleep_time: 1
|
sleep_time: 1
|
||||||
min_runtime: 0
|
min_runtime: 0
|
||||||
|
max_deferrals: 10
|
||||||
|
|
||||||
Control the activity of the backend daemon with this configuration setting.
|
Control the activity of the backend daemon with this configuration setting.
|
||||||
|
|
||||||
@@ -1200,6 +1223,10 @@ C<min_runtime> allows you to set a time that each worker will sleep before
|
|||||||
recycling and starting another job. Some users report this needs to be set
|
recycling and starting another job. Some users report this needs to be set
|
||||||
to avoid a 'runaway worker' bug. It can take a fractional number of seconds.
|
to avoid a 'runaway worker' bug. It can take a fractional number of seconds.
|
||||||
|
|
||||||
|
C<max_deferrals> is the number of times an SNMP connect failure can occur
|
||||||
|
before the device is no longer polled. The setting and counters are local to
|
||||||
|
each poller backend. To reset device counters, restart the backend daemon.
|
||||||
|
|
||||||
=head3 C<schedule>
|
=head3 C<schedule>
|
||||||
|
|
||||||
Value: Settings Tree. Default: None.
|
Value: Settings Tree. Default: None.
|
||||||
|
|||||||
Reference in New Issue
Block a user