1SNMP(7) Erlang Application Definition SNMP(7)
2
3
4
6 SNMP - The SNMP Application
7
9 This chapter describes the snmp application in OTP. The SNMP applica‐
10 tion provides the following services:
11
12 * a multilingual extensible SNMP agent
13
14 * a SNMP manager
15
16 * a MIB compiler
17
19 The following configuration parameters are defined for the SNMP appli‐
20 cation. Refer to application(3) for more information about configura‐
21 tion parameters.
22
23 The snmp part of the config file specifying the configuration parame‐
24 ters is basically the following tuple:
25
26 {snmp, snmp_components_config()}
27
28
29 A minimal config file for starting a node with both a manager and an
30 agent:
31
32 [{snmp,
33 [{agent, [{db_dir, "/tmp/snmp/agent/db"},
34 {config, [{dir, "/tmp/snmp/agent/conf"}]}]},
35 {manager, [{config, [{dir, "/tmp/snmp/manager/conf"},
36 {db_dir, "/tmp/snmp/manager/db"}]}]}]}
37 ]
38 }
39 ].
40
41
42 Each snmp component has its own set of configuration parameters, even
43 though some of the types are common to both components.
44
45 snmp_components_config() -> [snmp_component_config()]
46 snmp_component_config() -> {agent, agent_options()} | {manager, manager_options()}
47 agent_options() = [agent_option()]
48 agent_option() = {restart_type, restart_type()} |
49 {agent_type, agent_type()} |
50 {agent_verbosity, verbosity()} |
51 {discovery, agent_discovery()} |
52 {versions, versions()} |
53 {gb_max_vbs, gb_max_vbs()} |
54 {priority, priority()} |
55 {multi_threaded, multi_threaded()} |
56 {db_dir, db_dir()} |
57 {db_init_error, db_init_error()} |
58 {local_db, local_db()} |
59 {net_if, agent_net_if()} |
60 {mibs, mibs()} |
61 {mib_storage, mib_storage()} |
62 {mib_server, mib_server()} |
63 {audit_trail_log, audit_trail_log()} |
64 {error_report_mod, error_report_mod()} |
65 {note_store, note_store()} |
66 {symbolic_store, symbolic_store()} |
67 {target_cache, target_cache()} |
68 {config, agent_config()}
69 manager_options() = [manager_option()]
70 manager_option() = {restart_type, restart_type()} |
71 {net_if, manager_net_if()} |
72 {server, server()} |
73 {note_store, note_store()} |
74 {config, manager_config()} |
75 {inform_request_behaviour, manager_irb()} |
76 {mibs, manager_mibs()} |
77 {priority, priority()} |
78 {audit_trail_log, audit_trail_log()} |
79 {versions, versions()} |
80 {def_user_mod, def_user_module() |
81 {def_user_data, def_user_data()}
82
83
84 Agent specific config options and types:
85
86 agent_type() = master | sub <optional>:
87 If master, one master agent is started. Otherwise, no agents are
88 started.
89
90 Default is master.
91
92 agent_discovery() = [agent_discovery_opt()] <optional>:
93 agent_discovery_opt() = {terminating, agent_terminating_discov‐
94 ery_opts()} | {originating, agent_originating_discovery_opts()}
95
96 The terminating options effects discovery initiated by a manager.
97
98 The originating options effects discovery initiated by this agent.
99
100 For defaults see the options in agent_discovery_opt().
101
102 agent_terminating_discovery_opts() = [agent_terminating_discov‐
103 ery_opt()] <optional>:
104 agent_terminating_discovery_opt() = {enable, boolean()} | {stage2,
105 discovery | plain} | {trigger_username, string()}
106
107 These are options effecting discovery terminating in this agent
108 (i.e. initiated by a manager).
109
110 The default values for the terminating discovery options are:
111
112 * enable: true
113
114 * stage2: discovery
115
116 * trigger_username: ""
117
118 agent_originating_discovery_opts() = [agent_originating_discov‐
119 ery_opt()] <optional>:
120 agent_originating_discovery_opt() = {enable, boolean()}
121
122 These are options effecting discovery originating in this agent.
123
124 The default values for the originating discovery options are:
125
126 * enable: true
127
128 multi_threaded() = bool() | extended <optional>:
129 If true (or extended), the agent is multi-threaded, with one thread
130 for each get request.
131
132 The value extended means that a special 'process' is also created
133 intended to handle all notifications.
134
135 * true - One worker dedicated to 'set-requests' and one (main)
136 worker for all other requests ('get-request' and notifications).
137
138 If the 'main' worker is busy, a temporary process is spawned to
139 handle that job ('get-request' or notification).
140
141 * extended - One worker dedicated to 'set-requests', one worker
142 dedicated to notifications and one (main) worker for all 'get-re‐
143 quests'.
144
145 If the 'main' worker is busy, a temporary process is spawned to
146 handle that 'get-request'.
147
148 Note:
149 Even with multi-threaded set to extended there is still a risk for
150 'reorder' when sending inform-requsts, which require a response (and
151 may therefore require resending).
152
153 Also, there is of course no way to guarantee order once the package
154 is on the network.
155
156
157 Default is false.
158
159 db_dir() = string() <mandatory>:
160 Defines where the SNMP agent internal db files are stored.
161
162 gb_max_vbs() = pos_integer() | infinity <optional>:
163 Defines the maximum number of varbinds allowed in a Get-BULK re‐
164 sponse.
165
166 Default is 1000.
167
168 local_db() = [local_db_opt()] <optional>:
169 local_db_opt() = {repair, agent_repair()} | {auto_save,
170 agent_auto_save()} | {verbosity, verbosity()}
171
172 Defines options specific for the SNMP agent local database.
173
174 For defaults see the options in local_db_opt().
175
176 agent_repair() = false | true | force <optional>:
177 When starting snmpa_local_db it always tries to open an existing
178 database. If false, and some errors occur, a new database is cre‐
179 ated instead. If true, an existing file will be repaired. If force,
180 the table will be repaired even if it was properly closed.
181
182 Default is true.
183
184 agent_auto_save() = integer() | infinity <optional>:
185 The auto save interval. The table is flushed to disk whenever not
186 accessed for this amount of time.
187
188 Default is 5000.
189
190 agent_net_if() = [agent_net_if_opt()] <optional>:
191 agent_net_if_opt() = {module, agent_net_if_module()} | {verbosity,
192 verbosity()} | {options, agent_net_if_options()}
193
194 Defines options specific for the SNMP agent network interface en‐
195 tity.
196
197 For defaults see the options in agent_net_if_opt().
198
199 agent_net_if_module() = atom() <optional>:
200 Module which handles the network interface part for the SNMP agent.
201 Must implement the snmpa_network_interface behaviour.
202
203 Default is snmpa_net_if.
204
205 agent_net_if_options() = [agent_net_if_option()] <optional>:
206 agent_net_if_option() = {bind_to, bind_to()} | {sndbuf, sndbuf()} |
207 {recbuf, recbuf()} | {no_reuse, no_reuse()} | {req_limit,
208 req_limit()} | {filter, agent_net_if_filter_options()} |
209 {open_err_filters, agent_net_if_open_err_filters()} | {ex‐
210 tra_sock_opts, extra_socket_options()} | {inet_backend, inet |
211 socket}
212
213 These options are actually specific to the used module. The ones
214 shown here are applicable to the default agent_net_if_module().
215
216 Note:
217 If the user has configured transports with options then those will
218 take precedence over these options. See agent information for more
219 info.
220
221
222 For defaults see the options in agent_net_if_option().
223
224 req_limit() = integer() | infinity <optional>:
225 Max number of simultaneous requests handled by the agent.
226
227 Default is infinity.
228
229 agent_net_if_filter_options() = [agent_net_if_filter_option()] <op‐
230 tional>:
231 agent_net_if_filter_option() = {module, agent_net_if_filter_mod‐
232 ule()}
233
234 These options are actually specific to the used module. The ones
235 shown here are applicable to the default agent_net_if_filter_mod‐
236 ule().
237
238 For defaults see the options in agent_net_if_filter_option().
239
240 agent_net_if_filter_module() = atom() <optional>:
241 Module which handles the network interface filter part for the SNMP
242 agent. Must implement the snmpa_network_interface_filter behaviour.
243
244 Default is snmpa_net_if_filter.
245
246 agent_net_if_open_err_filters() = [agent_net_if_open_err_filter()]
247 <optional>:
248 agent_net_if_open_err_filter() = atom()
249
250 During agent initiation, the transports UDP sockets are opened. If
251 this operation fails, the net-if (and the agent) fails to start
252 (crash). This (filter) list contains error (reasons) that will make
253 net-if fail "nicely". This (filter) list, is supposed to contain
254 errors that can be returned by gen_udp:open/1,2. The effect is that
255 any error returned by gen_udp:open which *are* in this list, will
256 be considered "non-fatal" and will only result in an info message,
257 rather than an error message. Net If, and the agent, will still
258 crash, but will produce a less obnoxious message.
259
260 agent_mibs() = [string()] <optional>:
261 Specifies a list of MIBs (including path) that defines which MIBs
262 are initially loaded into the SNMP master agent.
263
264 Note that the following mibs will always be loaded:
265
266 * version v1: STANDARD-MIB
267
268 * version v2: SNMPv2
269
270 * version v3: SNMPv2, SNMP-FRAMEWORK-MIB and SNMP-MPD-MIB
271
272 Default is [].
273
274 mib_storage() = [mib_storage_opt()] <optional>:
275 mib_storage_opt() = {module, mib_storage_module()} | {options,
276 mib_storage_options()}
277
278 This option specifies how basic mib data is stored. This option is
279 used by two parts of the snmp agent: The mib-server and the sym‐
280 bolic-store.
281
282 Default is [{module, snmpa_mib_storage_ets}].
283
284 mib_storage_module() = snmpa_mib_data_ets | snmpa_mib_data_dets | sn‐
285 mpa_mib_data_mnesia | module():
286 Defines the mib storage module of the SNMP agent as defined by the
287 snmpa_mib_storage behaviour.
288
289 Several entities (mib-server via the its data module and the sym‐
290 bolic-store) of the snmp agent uses this for storage of miscella‐
291 neous mib related data retrieved while loading a mib.
292
293 There are several implementations provided with the agent: sn‐
294 mpa_mib_storage_ets, snmpa_mib_storage_dets and snmpa_mib_stor‐
295 age_mnesia.
296
297 Default module is snmpa_mib_storage_ets.
298
299 mib_storage_options() = list() <optional>:
300 This is implementation depended. That is, it depends on the module.
301 For each module a specific set of options are valid. For the module
302 provided with the app, these options are supported:
303
304 * snmpa_mib_storage_ets: {dir, filename()} | {action, keep |
305 clear}, {checksum, boolean()}
306
307 * dir - If present, points to a directory where a file to which
308 all data in the ets table is "synced".
309
310 Also, when a table is opened this file is read, if it exists.
311
312 By default, this will not be used.
313
314 * action - Specifies the behaviour when a non-empty file is
315 found: Keep its content or clear it out.
316
317 Default is keep.
318
319 * checksum - Defines if the file is checksummed or not.
320
321 Default is false.
322
323 * snmpa_mib_storage_dets: {dir, filename()} | {action, keep |
324 clear}, {auto_save, default | pos_integer()} | {repair, force |
325 boolean()}
326
327 * dir - This mandatory option points to a directory where to
328 place the file of a dets table.
329
330 * action - Specifies the behaviour when a non-empty file is
331 found: Keep its content or clear it out.
332
333 Default is keep.
334
335 * auto_save - Defines the dets auto-save frequency.
336
337 Default is default.
338
339 * repair - Defines the dets repair behaviour.
340
341 Default is false.
342
343 * snmpa_mib_storage_mnesia: {action, keep | clear}, {nodes,
344 [node()]}
345
346 * action - Specifies the behaviour when a non-empty, already ex‐
347 isting, table: Keep its content or clear it out.
348
349 Default is keep.
350
351 * nodes - A list of node names (or an atom describing a list of
352 nodes) defining where to open the table. Its up to the user to
353 ensure that mnesia is actually running on the specified nodes.
354
355 The following distinct values are recognised:
356
357 * [] - Translated into a list of the own node: [node()]
358
359 * all - erlang:nodes()
360
361 * visible - erlang:nodes(visible)
362
363 * connected - erlang:nodes(connected)
364
365 * db_nodes - mnesia:system_info(db_nodes)
366
367 Default is the result of the call: erlang:nodes().
368
369 mib_server() = [mib_server_opt()] <optional>:
370 mib_server_opt() = {mibentry_override, mibentry_override()} |
371 {trapentry_override, trapentry_override()} | {verbosity, ver‐
372 bosity()} | {cache, mibs_cache()} | {data_module,
373 mib_server_data_module()}
374
375 Defines options specific for the SNMP agent mib server.
376
377 For defaults see the options in mib_server_opt().
378
379 mibentry_override() = bool() <optional>:
380 If this value is false, then when loading a mib each mib- entry is
381 checked prior to installation of the mib. The purpose of the check
382 is to prevent that the same symbolic mibentry name is used for dif‐
383 ferent oid's.
384
385 Default is false.
386
387 trapentry_override() = bool() <optional>:
388 If this value is false, then when loading a mib each trap is
389 checked prior to installation of the mib. The purpose of the check
390 is to prevent that the same symbolic trap name is used for differ‐
391 ent trap's.
392
393 Default is false.
394
395 mib_server_data_module() = snmpa_mib_data_tttn | module() <optional>:
396 Defines the backend data module of the SNMP agent mib-server as de‐
397 fined by the snmpa_mib_data behaviour.
398
399 At present only the default module is provided with the agent, sn‐
400 mpa_mib_data_tttn.
401
402 Default module is snmpa_mib_data_tttn.
403
404 mibs_cache() = bool() | mibs_cache_opts() <optional>:
405 Shall the agent utilize the mib server lookup cache or not.
406
407 Default is true (in which case the mibs_cache_opts() default values
408 apply).
409
410 mibs_cache_opts() = [mibs_cache_opt()] <optional>:
411 mibs_cache_opt() = {autogc, mibs_cache_autogc()} | {gclimit,
412 mibs_cache_gclimit()} | {age, mibs_cache_age()}
413
414 Defines options specific for the SNMP agent mib server cache.
415
416 For defaults see the options in mibs_cache_opt().
417
418 mibs_cache_autogc() = bool() <optional>:
419 Defines if the mib server shall perform cache gc automatically or
420 leave it to the user (see gc_mibs_cache/0,1,2,3).
421
422 Default is true.
423
424 mibs_cache_age() = integer() > 0 <optional>:
425 Defines how old the entries in the cache will be allowed to become
426 before they are GC'ed (assuming GC is performed). Each entry in the
427 cache is "touched" whenever it is accessed.
428
429 The age is defined in milliseconds.
430
431 Default is 10 timutes.
432
433 mibs_cache_gclimit() = infinity | integer() > 0 <optional>:
434 When performing a GC, this is the max number of cache entries that
435 will be deleted from the cache.
436
437 The reason why its possible to set a limit, is that if the cache is
438 large, the GC can potentially take a long time, during which the
439 agent is "busy". But on a heavily loaded system, we also risk not
440 removing enough elements in the cache, instead causing it to grow
441 over time. This is the reason the default value is infinity, which
442 will ensure that all candidates are removed as soon as possible.
443
444 Default is infinity.
445
446 error_report_mod() = atom() <optional>:
447 Defines an error report module, implementing the snmpa_error_report
448 behaviour. Two modules are provided with the toolkit: snmpa_er‐
449 ror_logger and snmpa_error_io.
450
451 Default is snmpa_error_logger.
452
453 symbolic_store() = [symbolic_store_opt()]:
454 symbolic_store_opt() = {verbosity, verbosity()}
455
456 Defines options specific for the SNMP agent symbolic store.
457
458 For defaults see the options in symbolic_store_opt().
459
460 target_cache() = [target_cache_opt()]:
461 target_cache_opt() = {verbosity, verbosity()}
462
463 Defines options specific for the SNMP agent target cache.
464
465 For defaults see the options in target_cache_opt().
466
467 agent_config() = [agent_config_opt()] <mandatory>:
468 agent_config_opt() = {dir, agent_config_dir()} | {force_load,
469 force_load()} | {verbosity, verbosity()}
470
471 Defines specific config related options for the SNMP agent.
472
473 For defaults see the options in agent_config_opt().
474
475 agent_config_dir = dir() <mandatory>:
476 Defines where the SNMP agent configuration files are stored.
477
478 force_load() = bool() <optional>:
479 If true the configuration files are re-read during start-up, and
480 the contents of the configuration database ignored. Thus, if true,
481 changes to the configuration database are lost upon reboot of the
482 agent.
483
484 Default is false.
485
486 Manager specific config options and types:
487
488 server() = [server_opt()] <optional>:
489 server_opt() = {timeout, server_timeout()} | {verbosity, ver‐
490 bosity()} | {cbproxy, server_cbproxy()} | {netif_sup, server_nis()}
491
492 Specifies the options for the manager server process.
493
494 Default is silence.
495
496 server_timeout() = integer() <optional>:
497 Asynchronous request cleanup time. For every requests, some info is
498 stored internally, in order to be able to deliver the reply (when
499 it arrives) to the proper destination. If the reply arrives, this
500 info will be deleted. But if there is no reply (in time), the info
501 has to be deleted after the best before time has been passed. This
502 cleanup will be performed at regular intervals, defined by the
503 server_timeout() time. The information will have an best before
504 time, defined by the Expire time given when calling the request
505 function (see async_get, async_get_next and async_set).
506
507 Time in milli-seconds.
508
509 Default is 30000.
510
511 server_cbproxy() = temporary (default) | permanent <optional>:
512 This option specifies how the server will handle callback calls.
513
514 temporary (default):
515 A temporary process will be created for each callback call.
516
517 permanent:
518 With this the server will create a permanent (named) process that
519 in effect serializes all callback calls.
520
521 Default is temporary.
522
523 server_nis() = none (default) | {PingTO, PongTO} <optional>:
524 This option specifies if the server should actively supervise the
525 net-if process. Note that this will only work if the used net-if
526 process actually supports the protocol. See snmpm_network_interface
527 behaviour for more info.
528
529 none (default):
530 No active supervision of the net-if process.
531
532 {PingTO :: pos_integer(), PongTO :: pos_integer()}:
533 The PingTO time specifies the between a successful ping (or
534 start) and the time when a ping message is to be sent to the net-
535 if process (basically the time between ping).
536
537 The PongTO time specifies how long time the net-if process has to
538 respond to a ping message, with a pong message. Its starts count‐
539 ing when the ping message has been sent.
540
541 Both times are in milli seconds.
542
543 Default is none.
544
545 manager_config() = [manager_config_opt()] <mandatory>:
546 manager_config_opt() = {dir, manager_config_dir()} | {db_dir, man‐
547 ager_db_dir()} | {db_init_error, db_init_error()} | {repair, man‐
548 ager_repair()} | {auto_save, manager_auto_save()} | {verbosity,
549 verbosity()}
550
551 Defines specific config related options for the SNMP manager.
552
553 For defaults see the options in manager_config_opt().
554
555 manager_config_dir = dir() <mandatory>:
556 Defines where the SNMP manager configuration files are stored.
557
558 manager_db_dir = dir() <mandatory>:
559 Defines where the SNMP manager store persistent data.
560
561 manager_repair() = false | true | force <optional>:
562 Defines the repair option for the persistent database (if and how
563 the table is repaired when opened).
564
565 Default is true.
566
567 manager_auto_save() = integer() | infinity <optional>:
568 The auto save interval. The table is flushed to disk whenever not
569 accessed for this amount of time.
570
571 Default is 5000.
572
573 manager_irb() = auto | user | {user, integer()} <optional>:
574 This option defines how the manager will handle the sending of re‐
575 sponse (acknowledgment) to received inform-requests.
576
577 * auto - The manager will autonomously send response (acknowledg‐
578 ment> to inform-request messages.
579
580 * {user, integer()} - The manager will send response (acknowledg‐
581 ment) to inform-request messages when the handle_inform function
582 completes. The integer is the time, in milli-seconds, that the
583 manager will consider the stored inform-request info valid.
584
585 * user - Same as {user, integer()}, except that the default time,
586 15 seconds (15000), is used.
587
588 See snmpm_network_interface, handle_inform and definition of the
589 manager net if for more info.
590
591 Default is auto.
592
593 manager_mibs() = [string()] <optional>:
594 Specifies a list of MIBs (including path) and defines which MIBs
595 are initially loaded into the SNMP manager.
596
597 Default is [].
598
599 manager_net_if() = [manager_net_if_opt()] <optional>:
600 manager_net_if_opt() = {module, manager_net_if_module()} | {ver‐
601 bosity, verbosity()} | {options, manager_net_if_options()}
602
603 Defines options specific for the SNMP manager network interface en‐
604 tity.
605
606 For defaults see the options in manager_net_if_opt().
607
608 manager_net_if_options() = [manager_net_if_option()] <optional>:
609 manager_net_if_option() = {bind_to, bind_to()} | {sndbuf, sndbuf()}
610 | {recbuf, recbuf()} | {no_reuse, no_reuse()} | {filter, man‐
611 ager_net_if_filter_options()} | {extra_sock_opts, extra_socket_op‐
612 tions()} | {inet_backend, inet | socket}
613
614 These options are actually specific to the used module. The ones
615 shown here are applicable to the default manager_net_if_module().
616
617 For defaults see the options in manager_net_if_option().
618
619 manager_net_if_module() = atom() <optional>:
620 The module which handles the network interface part for the SNMP
621 manager. It must implement the snmpm_network_interface behaviour.
622
623 Default is snmpm_net_if.
624
625 manager_net_if_filter_options() = [manager_net_if_filter_option()]
626 <optional>:
627 manager_net_if_filter_option() = {module, manager_net_if_fil‐
628 ter_module()}
629
630 These options are actually specific to the used module. The ones
631 shown here are applicable to the default manager_net_if_filter_mod‐
632 ule().
633
634 For defaults see the options in manager_net_if_filter_option().
635
636 manager_net_if_filter_module() = atom() <optional>:
637 Module which handles the network interface filter part for the SNMP
638 manager. Must implement the snmpm_network_interface_filter behav‐
639 iour.
640
641 Default is snmpm_net_if_filter.
642
643 def_user_module() = atom() <optional>:
644 The module implementing the default user. See the snmpm_user behav‐
645 iour.
646
647 Default is snmpm_user_default.
648
649 def_user_data() = term() <optional>:
650 Data for the default user. Passed to the user module when calling
651 the callback functions.
652
653 Default is undefined.
654
655 Common config types:
656
657 restart_type() = permanent | transient | temporary:
658 See supervisor documentation for more info.
659
660 Default is permanent for the agent and transient for the manager.
661
662 db_init_error() = terminate | create | create_db_and_dir:
663 Defines what to do if the agent or manager is unable to open an ex‐
664 isting database file. terminate means that the agent/manager will
665 terminate and create means that the agent/manager will remove the
666 faulty file(s) and create new ones, and create_db_and_dir means
667 that the agent/manager will create the database file along with any
668 missing parent directories for the database file.
669
670 Default is terminate.
671
672 priority() = atom() <optional>:
673 Defines the Erlang priority for all SNMP processes.
674
675 Default is normal.
676
677 versions() = [version()] <optional>:
678 version() = v1 | v2 | v3
679
680 Which SNMP versions shall be accepted/used.
681
682 Default is [v1,v2,v3].
683
684 verbosity() = silence | info | log | debug | trace <optional>:
685 Verbosity for a SNMP process. This specifies now much debug info is
686 printed.
687
688 Default is silence.
689
690 bind_to() = bool() <optional>:
691 If true, net_if binds to the IP address. If false, net_if listens
692 on any IP address on the host where it is running.
693
694 Default is false.
695
696 no_reuse() = bool() <optional>:
697 If true, net_if does not specify that the IP and port address
698 should be reusable. If false, the address is set to reusable.
699
700 Default is false.
701
702 recbuf() = integer() <optional>:
703 Receive buffer size.
704
705 Default value is defined by gen_udp.
706
707 sndbuf() = integer() <optional>:
708 Send buffer size.
709
710 Default value is defined by gen_udp.
711
712 extra_socket_options() = list() <optional>:
713 A list of arbitrary socket options.
714
715 This list is not inspected by snmp (other then checking that its a
716 list). Its the users responsibility to ensure that these are valid
717 options and does not conflict with the "normal" options.
718
719 Default is [].
720
721 note_store() = [note_store_opt()] <optional>:
722 note_store_opt() = {timeout, note_store_timeout()} | {verbosity,
723 verbosity()}
724
725 Specifies the start-up verbosity for the SNMP note store.
726
727 For defaults see the options in note_store_opt().
728
729 note_store_timeout() = integer() <optional>:
730 Note cleanup time. When storing a note in the note store, each note
731 is given lifetime. Every timeout the note_store process performs a
732 GC to remove the expired note's. Time in milli-seconds.
733
734 Default is 30000.
735
736 audit_trail_log() = [audit_trail_log_opt()] <optional>:
737 audit_trail_log_opt() = {type, atl_type()} | {dir, atl_dir()} |
738 {size, atl_size()} | {repair, atl_repair()} | {seqno, atl_seqno()}
739
740 If present, this option specifies the options for the audit trail
741 logging. The disk_log module is used to maintain a wrap log. If
742 present, the dir and size options are mandatory.
743
744 If not present, audit trail logging is not used.
745
746 atl_type() = read | write | read_write <optional>:
747 Specifies what type of an audit trail log should be used. The ef‐
748 fect of the type is actually different for the the agent and the
749 manager.
750
751 For the agent:
752
753 * If write is specified, only set requests are logged.
754
755 * If read is specified, only get requests are logged.
756
757 * If read_write, all requests are logged.
758
759 For the manager:
760
761 * If write is specified, only sent messages are logged.
762
763 * If read is specified, only received messages are logged.
764
765 * If read_write, both outgoing and incoming messages are logged.
766
767 Default is read_write.
768
769 atl_dir = dir() <mandatory>:
770 Specifies where the audit trail log should be stored.
771
772 If audit_trail_log specifies that logging should take place, this
773 parameter must be defined.
774
775 atl_size() = {integer(), integer()} <mandatory>:
776 Specifies the size of the audit trail log. This parameter is sent
777 to disk_log.
778
779 If audit_trail_log specifies that logging should take place, this
780 parameter must be defined.
781
782 atl_repair() = true | false | truncate | snmp_repair <optional>:
783 Specifies if and how the audit trail log shall be repaired when
784 opened. Unless this parameter has the value snmp_repair it is sent
785 to disk_log. If, on the other hand, the value is snmp_repair, snmp
786 attempts to handle certain faults on its own. And even if it cannot
787 repair the file, it does not truncate it directly, but instead
788 moves it aside for later off-line analysis.
789
790 Default is true.
791
792 atl_seqno() = true | false <optional>:
793 Specifies if the audit trail log entries will be (sequence) num‐
794 bered or not. The range of the sequence numbers are according to
795 RFC 5424, i.e. 1 through 2147483647.
796
797 Default is false.
798
800 application(3), disk_log(3)
801
802
803
804Ericsson AB snmp 5.13.5 SNMP(7)