查看源代码 SNMP 应用程序

描述

本章描述 OTP 中的 snmp 应用程序。SNMP 应用程序提供以下服务

  • 一个多语言可扩展的 SNMP 代理
  • 一个 SNMP 管理器
  • 一个 MIB 编译器

配置

为 SNMP 应用程序定义了以下配置参数。有关配置参数的更多信息,请参阅 application(3)。

配置文件中指定配置参数的 snmp 部分基本上是以下元组

      {snmp, snmp_components_config()}

一个用于启动同时具有管理器和代理的节点的最小配置文件

      [{snmp,
        [{agent, [{db_dir, "/tmp/snmp/agent/db"},
                  {config, [{dir, "/tmp/snmp/agent/conf"}]}]},
         {manager, [{config, [{dir, "/tmp/snmp/manager/conf"},
                              {db_dir, "/tmp/snmp/manager/db"}]}]}]}
        ]
       }
      ].

每个 snmp 组件都有自己的一组配置参数,即使某些类型在两个组件中都是通用的。

      snmp_components_config() -> [snmp_component_config()]
      snmp_component_config() -> {agent, agent_options()} | {manager, manager_options()}
      agent_options() = [agent_option()]
      agent_option() = {restart_type,     restart_type()}     |
                       {agent_type,       agent_type()}       |
                       {agent_verbosity,  verbosity()}        |
                       {discovery,        agent_discovery()}  |
                       {versions,         versions()}         |
                       {gb_max_vbs,       gb_max_vbs()}       |
                       {priority,         priority()}         |
                       {multi_threaded,   multi_threaded()}   |
                       {db_dir,           db_dir()}           |
                       {db_init_error,    db_init_error()}    |
                       {local_db,         local_db()}         |
                       {net_if,           agent_net_if()}     |
                       {mibs,             mibs()}             |
                       {mib_storage,      mib_storage()}      |
                       {mib_server,       mib_server()}       |
                       {audit_trail_log,  audit_trail_log()}  |
                       {error_report_mod, error_report_mod()} |
                       {note_store,       note_store()}       |
                       {symbolic_store,   symbolic_store()}   |
                       {target_cache,     target_cache()}     |
                       {config,           agent_config()}
      manager_options() = [manager_option()]
      manager_option() = {restart_type,             restart_type()}    |
                         {net_if,                   manager_net_if()}  |
                         {server,                   server()}          |
                         {note_store,               note_store()}      |
                         {config,                   manager_config()}  |
                         {inform_request_behaviour, manager_irb()}     |
                         {mibs,                     manager_mibs()}    |
                         {priority,                 priority()}        |
                         {audit_trail_log,          audit_trail_log()} |
                         {versions,                 versions()}        |
                         {def_user_mod,             def_user_module()  |
                         {def_user_data,            def_user_data()}

代理特定的配置选项和类型

  • agent_type() = master | sub <可选> - 如果为 master,则启动一个主代理。否则,不启动任何代理。

    默认为 master

  • agent_discovery() = [agent_discovery_opt()] <可选> - agent_discovery_opt() = {terminating, agent_terminating_discovery_opts()} | {originating, agent_originating_discovery_opts()}

    terminating 选项影响由管理器发起的发现。

    originating 选项影响由此代理发起的发现。

    有关默认值,请参阅 agent_discovery_opt() 中的选项。

  • agent_terminating_discovery_opts() = [agent_terminating_discovery_opt()] <可选> - agent_terminating_discovery_opt() = {enable, boolean()} | {stage2, discovery | plain} | {trigger_username, string()}

    这些是影响此代理中 terminating 发现的选项(即由管理器发起的)。

    terminating 发现选项的默认值为

    • enable: true
    • stage2: discovery
    • trigger_username: ""
  • agent_originating_discovery_opts() = [agent_originating_discovery_opt()] <可选> - agent_originating_discovery_opt() = {enable, boolean()}

    这些是影响此代理中 originating 发现的选项。

    originating 发现选项的默认值为

    • enable: true
  • multi_threaded() = bool() | extended <可选> - 如果为 true(或 extended),则代理是多线程的,每个 get 请求一个线程。

    extended 表示还会创建一个特殊的“进程”,旨在处理所有通知。

    • true - 一个工作线程专门用于“set 请求”,一个(主)工作线程用于所有其他请求(“get 请求”和通知)。

      如果“主”工作线程正忙,则会生成一个临时进程来处理该作业(“get 请求”或通知)。

    • extended - 一个工作线程专门用于“set 请求”,一个工作线程专门用于通知,一个(主)工作线程用于所有“get 请求”。

      如果“主”工作线程正忙,则会生成一个临时进程来处理该“get 请求”。

    注意

    即使将多线程设置为 extended,当发送需要响应的 inform 请求时,仍然存在“重新排序”的风险(因此可能需要重新发送)。

    此外,一旦数据包进入网络,当然无法保证顺序。

    默认为 false

  • db_dir() = string() <强制> - 定义 SNMP 代理内部数据库文件的存储位置。

  • gb_max_vbs() = pos_integer() | infinity <可选> - 定义 Get-BULK 响应中允许的最大 varbind 数量。

    默认为 1000

  • local_db() = [local_db_opt()] <可选> - local_db_opt() = {repair, agent_repair()} | {auto_save, agent_auto_save()} | {verbosity, verbosity()}

    定义 SNMP 代理本地数据库特定的选项。

    有关默认值,请参阅 local_db_opt() 中的选项。

  • agent_repair() = false | true | force <可选> - 启动 snmpa_local_db 时,它始终尝试打开现有数据库。如果为 false,并且发生一些错误,则会创建一个新数据库。如果为 true,则将修复现有文件。如果为 force,即使表已正确关闭,也会修复表。

    默认为 true

  • agent_auto_save() = integer() | infinity <可选> - 自动保存间隔。只要在此时间内未访问表,就会将表刷新到磁盘。

    默认为 5000

  • agent_net_if() = [agent_net_if_opt()] <可选> - agent_net_if_opt() = {module, agent_net_if_module()} | {verbosity, verbosity()} | {options, agent_net_if_options()}

    定义 SNMP 代理网络接口实体特定的选项。

    有关默认值,请参阅 agent_net_if_opt() 中的选项。

  • agent_net_if_module() = atom() <可选> - 处理 SNMP 代理网络接口部分的模块。必须实现 snmpa_network_interface 行为。

    默认为 snmpa_net_if

  • agent_net_if_options() = [agent_net_if_option()] <可选> - agent_net_if_option() = {bind_to, bind_to()} | {sndbuf, sndbuf()} | {recbuf, recbuf()} | {no_reuse, no_reuse()} | {req_limit, req_limit()} | {filter, agent_net_if_filter_options()} | {open_err_filters, agent_net_if_open_err_filters()} | {extra_sock_opts, extra_socket_options()} | {inet_backend, inet_backend()}

    这些选项实际上是特定于所用模块的。此处显示的选项适用于默认的 agent_net_if_module()

    注意

    如果用户配置了带有选项的传输,则这些选项将优先于这些选项。有关更多信息,请参阅代理信息

    有关默认值,请参阅 agent_net_if_option() 中的选项。

  • req_limit() = integer() | infinity <可选> - 代理处理的最大并发请求数。

    默认为 infinity

  • agent_net_if_filter_options() = [agent_net_if_filter_option()] <可选> - agent_net_if_filter_option() = {module, agent_net_if_filter_module()}

    这些选项实际上是特定于所用模块的。此处显示的选项适用于默认的 agent_net_if_filter_module()

    有关默认值,请参阅 agent_net_if_filter_option() 中的选项。

  • agent_net_if_filter_module() = atom() <可选> - 处理 SNMP 代理网络接口筛选器部分的模块。必须实现 snmpa_network_interface_filter 行为。

    默认为 snmpa_net_if_filter

  • agent_net_if_open_err_filters() = [agent_net_if_open_err_filter()] <可选> - agent_net_if_open_err_filter() = atom()

    在代理初始化期间,将打开传输 UDP 套接字。如果此操作失败,则 net-if(和代理)将无法启动(崩溃)。此(筛选器)列表包含将使 net-if “正常”失败的错误(原因)。此(筛选器)列表应该包含 gen_udp:open/1,2 可以返回的错误(原因)。效果是,gen_udp:open 返回的任何此列表中的错误都将被视为“非致命”,并且只会产生一条信息消息,而不是错误消息。Net If 和代理仍会崩溃,但会产生不那么令人反感的错误消息。

  • agent_mibs() = [string()] <可选> - 指定一个 MIB 列表(包括路径),该列表定义哪些 MIB 最初加载到 SNMP 主代理中。

    请注意,始终会加载以下 mib

    • 版本 v1:STANDARD-MIB
    • 版本 v2:SNMPv2
    • 版本 v3:SNMPv2SNMP-FRAMEWORK-MIBSNMP-MPD-MIB

    默认为 []

  • mib_storage() = [mib_storage_opt()] <可选> - mib_storage_opt() = {module, mib_storage_module()} | {options, mib_storage_options()}

    此选项指定如何存储基本 mib 数据。snmp 代理的两个部分使用此选项:mib 服务器和符号存储。

    默认为 [{module, snmpa_mib_storage_ets}]

  • mib_storage_module() = snmpa_mib_data_ets | snmpa_mib_data_dets | snmpa_mib_data_mnesia | module() - 将 SNMP 代理的 mib 存储模块定义为 snmpa_mib_storage 行为所定义的。

    snmp 代理的几个实体(mib-server 通过其数据模块和 symbolic-store)使用此选项来存储加载 mib 时检索的各种 mib 相关数据。

    代理提供了几种实现:snmpa_mib_storage_etssnmpa_mib_storage_detssnmpa_mib_storage_mnesia

    默认模块是 snmpa_mib_storage_ets

  • mib_storage_options() = list() <可选> - 这是与实现相关的。也就是说,它取决于模块。对于每个模块,都有一组特定的有效选项。对于应用程序提供的模块,支持以下选项

    • snmpa_mib_storage_ets{dir, filename()} | {action, keep | clear}, {checksum, boolean()}

      • dir - 如果存在,则指向一个目录,在该目录中,所有 ets 表中的数据都将“同步”到一个文件中。

        此外,打开表时,会读取此文件(如果存在)。

        默认情况下,这不会被使用。

      • action - 指定找到非空文件时的行为:保留其内容或清除它。

        默认为 keep

      • checksum - 定义是否对文件进行校验和。

        默认为 false

    • snmpa_mib_storage_dets{dir, filename()} | {action, keep | clear}, {auto_save, default | pos_integer()} | {repair, force | boolean()}

      • dir - 此强制性选项指向放置 dets 表文件的目录。

      • action - 指定找到非空文件时的行为:保留其内容或清除它。

        默认为 keep

      • auto_save - 定义 dets 自动保存频率。

        默认为 default

      • repair - 定义 dets 修复行为。

        默认为 false

    • snmpa_mib_storage_mnesia{action, keep | clear}, {nodes, [node()]}

      • action - 指定当非空、已存在的表时的行为:保留其内容或清除它。

        默认为 keep

      • nodes - 一个节点名称列表(或描述节点列表的原子),用于定义在何处打开表。用户有责任确保 mnesia 实际上在指定的节点上运行。

        以下是可识别的不同值

        • [] - 转换为自身节点的列表:[node()]
        • all - erlang:nodes()
        • visible - erlang:nodes(visible)
        • connected - erlang:nodes(connected)
        • db_nodes - mnesia:system_info(db_nodes)

        默认值是调用 erlang:nodes() 的结果。

  • mib_server() = [mib_server_opt()] <optional> - mib_server_opt() = {mibentry_override, mibentry_override()} | {trapentry_override, trapentry_override()} | {verbosity, verbosity()} | {cache, mibs_cache()} | {data_module, mib_server_data_module()}

    定义 SNMP 代理 MIB 服务器的特定选项。

    有关默认值,请参阅 mib_server_opt() 中的选项。

  • mibentry_override() = bool() <optional> - 如果此值为 false,则在加载 MIB 时,会在安装 MIB 之前检查每个 MIB 条目。检查的目的是防止同一个符号 MIB 条目名称用于不同的 OID。

    默认为 false

  • trapentry_override() = bool() <optional> - 如果此值为 false,则在加载 MIB 时,会在安装 MIB 之前检查每个 trap。检查的目的是防止同一个符号 trap 名称用于不同的 trap。

    默认为 false

  • mib_server_data_module() = snmpa_mib_data_tttn | module() <optional> - 定义 SNMP 代理 MIB 服务器的后端数据模块,如 snmpa_mib_data 行为所定义。

    目前,代理只提供默认模块 snmpa_mib_data_tttn

    默认模块是 snmpa_mib_data_tttn

  • mibs_cache() = bool() | mibs_cache_opts() <optional> - 代理是否应使用 MIB 服务器查找缓存。

    默认值为 true(在这种情况下,将应用 mibs_cache_opts() 默认值)。

  • mibs_cache_opts() = [mibs_cache_opt()] <optional> - mibs_cache_opt() = {autogc, mibs_cache_autogc()} | {gclimit, mibs_cache_gclimit()} | {age, mibs_cache_age()}

    定义 SNMP 代理 MIB 服务器缓存的特定选项。

    有关默认值,请参阅 mibs_cache_opt() 中的选项。

  • mibs_cache_autogc() = bool() <optional> - 定义 MIB 服务器是否应自动执行缓存 GC,还是留给用户(请参阅 gc_mibs_cache/0,1,2,3)。

    默认为 true

  • mibs_cache_age() = integer() > 0 <optional> - 定义缓存中的条目在被 GC 之前允许存在的时间(假设执行 GC)。每次访问缓存中的条目时,都会“触摸”该条目。

    时间以毫秒为单位定义。

    默认值为 10 分钟

  • mibs_cache_gclimit() = infinity | integer() > 0 <optional> - 执行 GC 时,这是将从缓存中删除的最大缓存条目数。

    可以设置限制的原因是,如果缓存很大,则 GC 可能会花费很长时间,在此期间代理会“忙碌”。但是,在负载很重的系统上,我们也可能会面临没有删除缓存中足够元素的风险,而是导致其随着时间的推移而增长。这就是默认值为 infinity 的原因,这将确保尽快删除所有候选者。

    默认为 infinity

  • error_report_mod() = atom() <optional> - 定义一个错误报告模块,实现 snmpa_error_report 行为。工具包提供了两个模块:snmpa_error_loggersnmpa_error_io

    默认值为 snmpa_error_logger

  • symbolic_store() = [symbolic_store_opt()] - symbolic_store_opt() = {verbosity, verbosity()}

    定义 SNMP 代理符号存储的特定选项。

    有关默认值,请参阅 symbolic_store_opt() 中的选项。

  • target_cache() = [target_cache_opt()] - target_cache_opt() = {verbosity, verbosity()}

    定义 SNMP 代理目标缓存的特定选项。

    有关默认值,请参阅 target_cache_opt() 中的选项。

  • agent_config() = [agent_config_opt()] <mandatory> - agent_config_opt() = {dir, agent_config_dir()} | {force_load, force_load()} | {verbosity, verbosity()}

    定义 SNMP 代理的特定配置相关选项。

    有关默认值,请参阅 agent_config_opt() 中的选项。

  • agent_config_dir = dir() <mandatory> - 定义存储 SNMP 代理配置文件的位置。

  • force_load() = bool() <optional> - 如果 true,则在启动期间重新读取配置文件,并忽略配置数据库的内容。因此,如果 true,则在代理重新启动时,对配置数据库的更改将丢失。

    默认为 false

管理器特定的配置选项和类型

  • server() = [server_opt()] <optional> - server_opt() = {timeout, server_timeout()} | {verbosity, verbosity()} | {cbproxy, server_cbproxy()} | {netif_sup, server_nis()}

    指定管理器服务器进程的选项。

    默认值为 silence

  • server_timeout() = integer() <optional> - 异步请求清理时间。对于每个请求,都会在内部存储一些信息,以便能够将回复(当它到达时)传递到正确的目的地。如果回复到达,此信息将被删除。但是,如果没有回复(及时),则必须在超过最佳时间后删除信息。此清理将按 server_timeout() 时间定义的定期时间间隔执行。该信息将具有一个最佳时间,该时间由调用请求函数时给定的 Expire 时间定义(请参阅 async_getasync_get_nextasync_set)。

    时间以毫秒为单位。

    默认值为 30000

  • server_cbproxy() = temporary (default) | permanent <optional> - 此选项指定服务器将如何处理回调调用。

    • temporary (default) - 将为每个回调调用创建一个临时进程。

    • permanent - 使用此选项,服务器将创建一个永久(已命名)进程,该进程实际上会对所有回调调用进行序列化。

    默认值为 temporary

  • server_nis() = none (default) | {PingTO, PongTO} <optional> - 此选项指定服务器是否应主动监视 net-if 进程。请注意,这仅在使用 net-if 进程实际支持该协议时才有效。有关更多信息,请参阅 snmpm_network_interface 行为。

    • none (default) - 不主动监视 net-if 进程。

    • {PingTO :: pos_integer(), PongTO :: pos_integer()} - PingTO 时间指定在成功 ping(或启动)和将 ping 消息发送到 net-if 进程的时间之间(基本上是 ping 之间的时间)。

      PongTO 时间指定 net-if 进程使用 pong 消息响应 ping 消息的时间长度。当发送 ping 消息时,它开始计数。

      这两个时间都以毫秒为单位。

    默认值为 none

  • manager_config() = [manager_config_opt()] <mandatory> - manager_config_opt() = {dir, manager_config_dir()} | {db_dir, manager_db_dir()} | {db_init_error, db_init_error()} | {repair, manager_repair()} | {auto_save, manager_auto_save()} | {verbosity, verbosity()}

    定义 SNMP 管理器的特定配置相关选项。

    有关默认值,请参阅 manager_config_opt() 中的选项。

  • manager_config_dir = dir() <mandatory> - 定义存储 SNMP 管理器配置文件的位置。

  • manager_db_dir = dir() <mandatory> - 定义 SNMP 管理器存储持久数据的位置。

  • manager_repair() = false | true | force <optional> - 定义持久数据库的修复选项(打开时是否以及如何修复表)。

    默认为 true

  • manager_auto_save() = integer() | infinity <optional> - 自动保存间隔。只要在此时间段内未访问表,表就会刷新到磁盘。

    默认为 5000

  • manager_irb() = auto | user | {user, integer()} <optional> - 此选项定义管理器将如何处理发送到接收到的 inform 请求的响应(确认)。

    • auto - 管理器将自主发送对 inform 请求消息的响应(确认)。
    • {user, integer()} - 当 handle_inform 函数完成时,管理器将发送对 inform 请求消息的响应(确认)。整数是管理器将认为存储的 inform 请求信息有效的毫秒时间。
    • user - 与 {user, integer()} 相同,只是使用默认时间 15 秒 (15000)。

    有关更多信息,请参阅 snmpm_network_interfacehandle_inform管理器 net if 的定义

    默认值为 auto

  • manager_mibs() = [string()] <optional> - 指定 MIB(包括路径)的列表,并定义哪些 MIB 最初加载到 SNMP 管理器中。

    默认为 []

  • manager_net_if() = [manager_net_if_opt()] <optional> - manager_net_if_opt() = {module, manager_net_if_module()} | {verbosity, verbosity()} | {options, manager_net_if_options()}

    定义 SNMP 管理器网络接口实体的特定选项。

    有关默认值,请参阅 manager_net_if_opt() 中的选项。

  • manager_net_if_options() = [manager_net_if_option()] <optional> - manager_net_if_option() = {bind_to, bind_to()} | {sndbuf, sndbuf()} | {recbuf, recbuf()} | {no_reuse, no_reuse()} | {filter, manager_net_if_filter_options()} | {extra_sock_opts, extra_socket_options()}} | {inet_backend, inet_backend()}

    这些选项实际上是特定于所用模块的。此处显示的选项适用于默认的 manager_net_if_module()

    有关默认值,请参阅 manager_net_if_option() 中的选项。

  • manager_net_if_module() = atom() <optional> - 该模块处理 SNMP 管理器的网络接口部分。它必须实现 snmpm_network_interface 行为。

    默认值为 snmpm_net_if

  • manager_net_if_filter_options() = [manager_net_if_filter_option()] <optional> - manager_net_if_filter_option() = {module, manager_net_if_filter_module()}

    这些选项实际上是特定于所用模块的。此处显示的选项适用于默认的 manager_net_if_filter_module()

    有关默认值,请参阅 manager_net_if_filter_option() 中的选项。

  • manager_net_if_filter_module() = atom() <可选> - 处理 SNMP 管理器的网络接口过滤部分的模块。必须实现 snmpm_network_interface_filter 行为。

    默认值为 snmpm_net_if_filter

  • def_user_module() = atom() <可选> - 实现默认用户的模块。请参阅 snmpm_user 行为。

    默认值为 snmpm_user_default

  • def_user_data() = term() <可选> - 默认用户的数据。在调用回调函数时传递给用户模块。

    默认值为 undefined

通用配置类型

  • restart_type() = permanent | transient | temporary - 有关更多信息,请参阅 supervisor 文档。

    代理的默认值为 permanent,管理器的默认值为 transient

  • db_init_error() = terminate | create | create_db_and_dir - 定义如果代理或管理器无法打开现有数据库文件时应执行的操作。terminate 表示代理/管理器将终止,create 表示代理/管理器将删除错误的文件并创建新文件,而 create_db_and_dir 表示代理/管理器将创建数据库文件以及数据库文件的任何缺失的父目录。

    默认值为 terminate

  • priority() = atom() <可选> - 定义所有 SNMP 进程的 Erlang 优先级。

    默认值为 normal

  • versions() = [version()] <可选> - version() = v1 | v2 | v3

    应该接受/使用的 SNMP 版本。

    默认值为 [v1,v2,v3]

  • verbosity() = silence | info | log | debug | trace <可选> - SNMP 进程的详细程度。这指定了打印多少调试信息。

    默认值为 silence

  • bind_to() = bool() <可选> - 如果为 true,net_if 将绑定到 IP 地址。如果为 false,net_if 将监听运行主机上的任何 IP 地址。

    默认为 false

  • no_reuse() = bool() <可选> - 如果为 true,net_if 不指定 IP 和端口地址应该是可重用的。如果为 false,该地址设置为可重用。

    默认为 false

  • recbuf() = integer() <可选> - 接收缓冲区大小。

    默认值由 gen_udp 定义。

  • sndbuf() = integer() <可选> - 发送缓冲区大小。

    默认值由 gen_udp 定义。

  • extra_socket_options() = list() <可选> - 任意套接字选项列表。

    此列表不由 snmp 检查(除了检查它是否是一个列表)。用户有责任确保这些是有效的选项,并且不与“普通”选项冲突。

    默认为 []

  • inet_backend() = inet | socket <可选> - 选择 inet-后端。

    此选项使可以使用不同的 inet-后端('inet' 或 'socket')的 net_if (gen_udp)。

    默认值为 inet

  • note_store() = [note_store_opt()] <可选> - note_store_opt() = {timeout, note_store_timeout()} | {verbosity, verbosity()}

    指定 SNMP 注释存储的启动详细程度。

    有关默认值,请参阅 note_store_opt() 中的选项。

  • note_store_timeout() = integer() <可选> - 注释清理时间。当在注释存储中存储注释时,每个注释都会被赋予生命周期。每个 timeout 注释存储进程都会执行 GC 以删除过期的注释。时间以毫秒为单位。

    默认值为 30000

  • audit_trail_log() = [audit_trail_log_opt()] <可选> - audit_trail_log_opt() = {type, atl_type()} | {dir, atl_dir()} | {size, atl_size()} | {repair, atl_repair()} | {seqno, atl_seqno()}

    如果存在,此选项指定审计跟踪日志的选项。使用 disk_log 模块来维护一个环绕日志。如果存在,dirsize 选项是强制性的。

    如果不存在,则不使用审计跟踪日志。

  • atl_type() = read | write | read_write <可选> - 指定应使用哪种类型的审计跟踪日志。对于代理和管理器,类型的效果实际上是不同的。

    对于代理

    • 如果指定了 write,则仅记录设置请求。
    • 如果指定了 read,则仅记录获取请求。
    • 如果 read_write,则会记录所有请求。

    对于管理器

    • 如果指定了 write,则仅记录已发送的消息。
    • 如果指定了 read,则仅记录已接收的消息。
    • 如果 read_write,则会记录传出和传入的消息。

    默认值为 read_write

  • atl_dir = dir() <强制> - 指定应存储审计跟踪日志的位置。

    如果 audit_trail_log 指定应进行日志记录,则必须定义此参数。

  • atl_size() = {integer(), integer()} <强制> - 指定审计跟踪日志的大小。此参数将发送到 disk_log

    如果 audit_trail_log 指定应进行日志记录,则必须定义此参数。

  • atl_repair() = true | false | truncate | snmp_repair <可选> - 指定在打开审计跟踪日志时是否以及如何修复它。除非此参数的值为 snmp_repair,否则它会发送到 disk_log。另一方面,如果该值为 snmp_repair,则 snmp 会尝试自行处理某些故障。即使它无法修复该文件,它也不会直接截断它,而是将其移到一旁以供以后脱机分析。

    默认为 true

  • atl_seqno() = true | false <可选> - 指定是否将审计跟踪日志条目进行(序列)编号。序列号的范围根据 RFC 5424,即 1 到 2147483647。

    默认为 false

另请参阅

application(3), disk_log(3)