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-
143 requests'.
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 therefor 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
164 response.
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
195 entity.
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 {extra_sock_opts, extra_socket_options()}
210
211 These options are actually specific to the used module. The ones
212 shown here are applicable to the default agent_net_if_module().
213
214 Note:
215 If the user has configured transports with options then those will
216 take precedence over these options. See agent information for more
217 info.
218
219
220 For defaults see the options in agent_net_if_option().
221
222 req_limit() = integer() | infinity <optional>:
223 Max number of simultaneous requests handled by the agent.
224
225 Default is infinity.
226
227 agent_net_if_filter_options() = [agent_net_if_filter_option()]
228 <optional>:
229 agent_net_if_filter_option() = {module, agent_net_if_filter_mod‐
230 ule()}
231
232 These options are actually specific to the used module. The ones
233 shown here are applicable to the default agent_net_if_filter_mod‐
234 ule().
235
236 For defaults see the options in agent_net_if_filter_option().
237
238 agent_net_if_filter_module() = atom() <optional>:
239 Module which handles the network interface filter part for the SNMP
240 agent. Must implement the snmpa_network_interface_filter behaviour.
241
242 Default is snmpa_net_if_filter.
243
244 agent_mibs() = [string()] <optional>:
245 Specifies a list of MIBs (including path) that defines which MIBs
246 are initially loaded into the SNMP master agent.
247
248 Note that the following mibs will always be loaded:
249
250 * version v1: STANDARD-MIB
251
252 * version v2: SNMPv2
253
254 * version v3: SNMPv2, SNMP-FRAMEWORK-MIB and SNMP-MPD-MIB
255
256 Default is [].
257
258 mib_storage() = [mib_storage_opt()] <optional>:
259 mib_storage_opt() = {module, mib_storage_module()} | {options,
260 mib_storage_options()}
261
262 This option specifies how basic mib data is stored. This option is
263 used by two parts of the snmp agent: The mib-server and the sym‐
264 bolic-store.
265
266 Default is [{module, snmpa_mib_storage_ets}].
267
268 mib_storage_module() = snmpa_mib_data_ets | snmpa_mib_data_dets |
269 snmpa_mib_data_mnesia | module():
270 Defines the mib storage module of the SNMP agent as defined by the
271 snmpa_mib_storage behaviour.
272
273 Several entities (mib-server via the its data module and the sym‐
274 bolic-store) of the snmp agent uses this for storage of miscela‐
275 neous mib related data retrieved while loading a mib.
276
277 There are several implementations provided with the agent:
278 snmpa_mib_storage_ets, snmpa_mib_storage_dets and snmpa_mib_stor‐
279 age_mnesia.
280
281 Default module is snmpa_mib_storage_ets.
282
283 mib_storage_options() = list() <optional>:
284 This is implementattion depended. That is, it depends on the mod‐
285 ule. For each module a specific set of options are valid. For the
286 module provided with the app, these options are supported:
287
288 * snmpa_mib_storage_ets: {dir, filename()} | {action, keep |
289 clear}, {checksum, boolean()}
290
291 * dir - If present, points to a directory where a file to which
292 all data in the ets table is "synced".
293
294 Also, when a table is opened this file is read, if it exists.
295
296 By default, this will not be used.
297
298 * action - Specifies the behaviour when a non-empty file is
299 found: Keep its content or clear it out.
300
301 Default is keep.
302
303 * checksum - Defines if the file is checksummed or not.
304
305 Default is false.
306
307 * snmpa_mib_storage_dets: {dir, filename()} | {action, keep |
308 clear}, {auto_save, default | pos_integer()} | {repair, force |
309 boolean()}
310
311 * dir - This mandatory option points to a directory where to
312 place the file of a dets table.
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 * auto_save - Defines the dets auto-save frequency.
320
321 Default is default.
322
323 * repair - Defines the dets repair behaviour.
324
325 Default is false.
326
327 * snmpa_mib_storage_mnesia: {action, keep | clear}, {nodes,
328 [node()]}
329
330 * action - Specifies the behaviour when a non-empty, already
331 existing, table: Keep its content or clear it out.
332
333 Default is keep.
334
335 * nodes - A list of node names (or an atom describing a list of
336 nodes) defining where to open the table. Its up to the user to
337 ensure that mnesia is actually running on the specified nodes.
338
339 The following distinct values are recognised:
340
341 * [] - Translated into a list of the own node: [node()]
342
343 * all - erlang:nodes()
344
345 * visible - erlang:nodes(visible)
346
347 * connected - erlang:nodes(connected)
348
349 * db_nodes - mnesia:system_info(db_nodes)
350
351 Default is the result of the call: erlang:nodes().
352
353 mib_server() = [mib_server_opt()] <optional>:
354 mib_server_opt() = {mibentry_override, mibentry_override()} |
355 {trapentry_override, trapentry_override()} | {verbosity, ver‐
356 bosity()} | {cache, mibs_cache()} | {data_module,
357 mib_server_data_module()}
358
359 Defines options specific for the SNMP agent mib server.
360
361 For defaults see the options in mib_server_opt().
362
363 mibentry_override() = bool() <optional>:
364 If this value is false, then when loading a mib each mib- entry is
365 checked prior to installation of the mib. The purpose of the check
366 is to prevent that the same symbolic mibentry name is used for dif‐
367 ferent oid's.
368
369 Default is false.
370
371 trapentry_override() = bool() <optional>:
372 If this value is false, then when loading a mib each trap is
373 checked prior to installation of the mib. The purpose of the check
374 is to prevent that the same symbolic trap name is used for differ‐
375 ent trap's.
376
377 Default is false.
378
379 mib_server_data_module() = snmpa_mib_data_tttn | module() <optional>:
380 Defines the backend data module of the SNMP agent mib-server as
381 defined by the snmpa_mib_data behaviour.
382
383 At present only the default module is provided with the agent,
384 snmpa_mib_data_tttn.
385
386 Default module is snmpa_mib_data_tttn.
387
388 mibs_cache() = bool() | mibs_cache_opts() <optional>:
389 Shall the agent utilize the mib server lookup cache or not.
390
391 Default is true (in which case the mibs_cache_opts() default values
392 apply).
393
394 mibs_cache_opts() = [mibs_cache_opt()] <optional>:
395 mibs_cache_opt() = {autogc, mibs_cache_autogc()} | {gclimit,
396 mibs_cache_gclimit()} | {age, mibs_cache_age()}
397
398 Defines options specific for the SNMP agent mib server cache.
399
400 For defaults see the options in mibs_cache_opt().
401
402 mibs_cache_autogc() = bool() <optional>:
403 Defines if the mib server shall perform cache gc automatically or
404 leave it to the user (see gc_mibs_cache/0,1,2,3).
405
406 Default is true.
407
408 mibs_cache_age() = integer() > 0 <optional>:
409 Defines how old the entries in the cache will be allowed to become
410 before they are GC'ed (assuming GC is performed). Each entry in the
411 cache is "touched" whenever it is accessed.
412
413 The age is defined in milliseconds.
414
415 Default is 10 timutes.
416
417 mibs_cache_gclimit() = infinity | integer() > 0 <optional>:
418 When performing a GC, this is the max number of cache entries that
419 will be deleted from the cache.
420
421 The reason why its possible to set a limit, is that if the cache is
422 large, the GC can potentially take a long time, during which the
423 agent is "busy". But on a heavily loaded system, we also risk not
424 removing enough elements in the cache, instead causing it to grow
425 over time. This is the reason the default value is infinity, which
426 will ensure that all candidates are removed as soon as possible.
427
428 Default is infinity.
429
430 error_report_mod() = atom() <optional>:
431 Defines an error report module, implementing the snmpa_error_report
432 behaviour. Two modules are provided with the toolkit:
433 snmpa_error_logger and snmpa_error_io.
434
435 Default is snmpa_error_logger.
436
437 symbolic_store() = [symbolic_store_opt()]:
438 symbolic_store_opt() = {verbosity, verbosity()}
439
440 Defines options specific for the SNMP agent symbolic store.
441
442 For defaults see the options in symbolic_store_opt().
443
444 target_cache() = [target_cache_opt()]:
445 target_cache_opt() = {verbosity, verbosity()}
446
447 Defines options specific for the SNMP agent target cache.
448
449 For defaults see the options in target_cache_opt().
450
451 agent_config() = [agent_config_opt()] <mandatory>:
452 agent_config_opt() = {dir, agent_config_dir()} | {force_load,
453 force_load()} | {verbosity, verbosity()}
454
455 Defines specific config related options for the SNMP agent.
456
457 For defaults see the options in agent_config_opt().
458
459 agent_config_dir = dir() <mandatory>:
460 Defines where the SNMP agent configuration files are stored.
461
462 force_load() = bool() <optional>:
463 If true the configuration files are re-read during start-up, and
464 the contents of the configuration database ignored. Thus, if true,
465 changes to the configuration database are lost upon reboot of the
466 agent.
467
468 Default is false.
469
470 Manager specific config options and types:
471
472 server() = [server_opt()] <optional>:
473 server_opt() = {timeout, server_timeout()} | {verbosity, ver‐
474 bosity()} | {cbproxy, server_cbproxy()} | {netif_sup, server_nis()}
475
476 Specifies the options for the manager server process.
477
478 Default is silence.
479
480 server_timeout() = integer() <optional>:
481 Asynchronous request cleanup time. For every requests, some info is
482 stored internally, in order to be able to deliver the reply (when
483 it arrives) to the proper destination. If the reply arrives, this
484 info will be deleted. But if there is no reply (in time), the info
485 has to be deleted after the best before time has been passed. This
486 cleanup will be performed at regular intervals, defined by the
487 server_timeout() time. The information will have an best before
488 time, defined by the Expire time given when calling the request
489 function (see async_get, async_get_next and async_set).
490
491 Time in milli-seconds.
492
493 Default is 30000.
494
495 server_cbproxy() = temporary (default) | permanent <optional>:
496 This option specifies how the server will handle callback calls.
497
498 temporary (default):
499 A temporary process will be created for each callback call.
500
501 permanent:
502 With this the server will create a permanent (named) process that
503 in effect serializes all callback calls.
504
505 Default is temporary.
506
507 server_nis() = none (default) | {PingTO, PongTO} <optional>:
508 This option specifies if the server should actively supervise the
509 net-if process. Note that this will only work if the used net-if
510 process actually supports the protocol. See snmpm_network_interface
511 behaviour for more info.
512
513 none (default):
514 No active supervision of the net-if process.
515
516 {PingTO :: pos_integer(), PongTO :: pos_integer()}:
517 The PingTO time specifies the between a successful ping (or
518 start) and the time when a ping message is to be sent to the net-
519 if process (basically the time between ping).
520
521 The PongTO time specifies how long time the net-if process has to
522 respond to a ping message, with a pong message. Its starts count‐
523 ing when the ping message has been sent.
524
525 Both times are in milli seconds.
526
527 Default is none.
528
529 manager_config() = [manager_config_opt()] <mandatory>:
530 manager_config_opt() = {dir, manager_config_dir()} | {db_dir, man‐
531 ager_db_dir()} | {db_init_error, db_init_error()} | {repair, man‐
532 ager_repair()} | {auto_save, manager_auto_save()} | {verbosity,
533 verbosity()}
534
535 Defines specific config related options for the SNMP manager.
536
537 For defaults see the options in manager_config_opt().
538
539 manager_config_dir = dir() <mandatory>:
540 Defines where the SNMP manager configuration files are stored.
541
542 manager_db_dir = dir() <mandatory>:
543 Defines where the SNMP manager store persistent data.
544
545 manager_repair() = false | true | force <optional>:
546 Defines the repair option for the persistent database (if and how
547 the table is repaired when opened).
548
549 Default is true.
550
551 manager_auto_save() = integer() | infinity <optional>:
552 The auto save interval. The table is flushed to disk whenever not
553 accessed for this amount of time.
554
555 Default is 5000.
556
557 manager_irb() = auto | user | {user, integer()} <optional>:
558 This option defines how the manager will handle the sending of
559 response (acknowledgment) to received inform-requests.
560
561 * auto - The manager will autonomously send response (acknowledg‐
562 ment> to inform-request messages.
563
564 * {user, integer()} - The manager will send response (acknowledg‐
565 ment) to inform-request messages when the handle_inform function
566 completes. The integer is the time, in milli-seconds, that the
567 manager will consider the stored inform-request info valid.
568
569 * user - Same as {user, integer()}, except that the default time,
570 15 seconds (15000), is used.
571
572 See snmpm_network_interface, handle_inform and definition of the
573 manager net if for more info.
574
575 Default is auto.
576
577 manager_mibs() = [string()] <optional>:
578 Specifies a list of MIBs (including path) and defines which MIBs
579 are initially loaded into the SNMP manager.
580
581 Default is [].
582
583 manager_net_if() = [manager_net_if_opt()] <optional>:
584 manager_net_if_opt() = {module, manager_net_if_module()} | {ver‐
585 bosity, verbosity()} | {options, manager_net_if_options()}
586
587 Defines options specific for the SNMP manager network interface
588 entity.
589
590 For defaults see the options in manager_net_if_opt().
591
592 manager_net_if_options() = [manager_net_if_option()] <optional>:
593 manager_net_if_option() = {bind_to, bind_to()} | {sndbuf, sndbuf()}
594 | {recbuf, recbuf()} | {no_reuse, no_reuse()} | {filter, man‐
595 ager_net_if_filter_options()} | {extra_sock_opts,
596 extra_socket_options()}
597
598 These options are actually specific to the used module. The ones
599 shown here are applicable to the default manager_net_if_module().
600
601 For defaults see the options in manager_net_if_option().
602
603 manager_net_if_module() = atom() <optional>:
604 The module which handles the network interface part for the SNMP
605 manager. It must implement the snmpm_network_interface behaviour.
606
607 Default is snmpm_net_if.
608
609 manager_net_if_filter_options() = [manager_net_if_filter_option()]
610 <optional>:
611 manager_net_if_filter_option() = {module, manager_net_if_fil‐
612 ter_module()}
613
614 These options are actually specific to the used module. The ones
615 shown here are applicable to the default manager_net_if_filter_mod‐
616 ule().
617
618 For defaults see the options in manager_net_if_filter_option().
619
620 manager_net_if_filter_module() = atom() <optional>:
621 Module which handles the network interface filter part for the SNMP
622 manager. Must implement the snmpm_network_interface_filter behav‐
623 iour.
624
625 Default is snmpm_net_if_filter.
626
627 def_user_module() = atom() <optional>:
628 The module implementing the default user. See the snmpm_user behav‐
629 iour.
630
631 Default is snmpm_user_default.
632
633 def_user_data() = term() <optional>:
634 Data for the default user. Passed to the user module when calling
635 the callback functions.
636
637 Default is undefined.
638
639 Common config types:
640
641 restart_type() = permanent | transient | temporary:
642 See supervisor documentation for more info.
643
644 Default is permanent for the agent and transient for the manager.
645
646 db_init_error() = terminate | create | create_db_and_dir:
647 Defines what to do if the agent or manager is unable to open an
648 existing database file. terminate means that the agent/manager will
649 terminate and create means that the agent/manager will remove the
650 faulty file(s) and create new ones, and create_db_and_dir means
651 that the agent/manager will create the database file along with any
652 missing parent directories for the database file.
653
654 Default is terminate.
655
656 priority() = atom() <optional>:
657 Defines the Erlang priority for all SNMP processes.
658
659 Default is normal.
660
661 versions() = [version()] <optional>:
662 version() = v1 | v2 | v3
663
664 Which SNMP versions shall be accepted/used.
665
666 Default is [v1,v2,v3].
667
668 verbosity() = silence | info | log | debug | trace <optional>:
669 Verbosity for a SNMP process. This specifies now much debug info is
670 printed.
671
672 Default is silence.
673
674 bind_to() = bool() <optional>:
675 If true, net_if binds to the IP address. If false, net_if listens
676 on any IP address on the host where it is running.
677
678 Default is false.
679
680 no_reuse() = bool() <optional>:
681 If true, net_if does not specify that the IP and port address
682 should be reusable. If false, the address is set to reusable.
683
684 Default is false.
685
686 recbuf() = integer() <optional>:
687 Receive buffer size.
688
689 Default value is defined by gen_udp.
690
691 sndbuf() = integer() <optional>:
692 Send buffer size.
693
694 Default value is defined by gen_udp.
695
696 extra_socket_options() = list() <optional>:
697 A list of arbitrary socket options.
698
699 This list is not inspected by snmp (other then checking that its a
700 list). Its the users responsibility to ensure that these are valid
701 options and does not conflict with the "normal" options.
702
703 Default is [].
704
705 note_store() = [note_store_opt()] <optional>:
706 note_store_opt() = {timeout, note_store_timeout()} | {verbosity,
707 verbosity()}
708
709 Specifies the start-up verbosity for the SNMP note store.
710
711 For defaults see the options in note_store_opt().
712
713 note_store_timeout() = integer() <optional>:
714 Note cleanup time. When storing a note in the note store, each note
715 is given lifetime. Every timeout the note_store process performs a
716 GC to remove the expired note's. Time in milli-seconds.
717
718 Default is 30000.
719
720 audit_trail_log() = [audit_trail_log_opt()] <optional>:
721 audit_trail_log_opt() = {type, atl_type()} | {dir, atl_dir()} |
722 {size, atl_size()} | {repair, atl_repair()} | {seqno, atl_seqno()}
723
724 If present, this option specifies the options for the audit trail
725 logging. The disk_log module is used to maintain a wrap log. If
726 present, the dir and size options are mandatory.
727
728 If not present, audit trail logging is not used.
729
730 atl_type() = read | write | read_write <optional>:
731 Specifies what type of an audit trail log should be used. The
732 effect of the type is actually different for the the agent and the
733 manager.
734
735 For the agent:
736
737 * If write is specified, only set requests are logged.
738
739 * If read is specified, only get requests are logged.
740
741 * If read_write, all requests are logged.
742
743 For the manager:
744
745 * If write is specified, only sent messages are logged.
746
747 * If read is specified, only received messages are logged.
748
749 * If read_write, both outgoing and incoming messages are logged.
750
751 Default is read_write.
752
753 atl_dir = dir() <mandatory>:
754 Specifies where the audit trail log should be stored.
755
756 If audit_trail_log specifies that logging should take place, this
757 parameter must be defined.
758
759 atl_size() = {integer(), integer()} <mandatory>:
760 Specifies the size of the audit trail log. This parameter is sent
761 to disk_log.
762
763 If audit_trail_log specifies that logging should take place, this
764 parameter must be defined.
765
766 atl_repair() = true | false | truncate | snmp_repair <optional>:
767 Specifies if and how the audit trail log shall be repaired when
768 opened. Unless this parameter has the value snmp_repair it is sent
769 to disk_log. If, on the other hand, the value is snmp_repair, snmp
770 attempts to handle certain faults on its own. And even if it cannot
771 repair the file, it does not truncate it directly, but instead
772 moves it aside for later off-line analysis.
773
774 Default is true.
775
776 atl_seqno() = true | false <optional>:
777 Specifies if the audit trail log entries will be (sequence) num‐
778 bered or not. The range of the sequence numbers are according to
779 RFC 5424, i.e. 1 through 2147483647.
780
781 Default is false.
782
784 application(3), disk_log(3)
785
786
787
788Ericsson AB snmp 5.8 SNMP(7)