檢視原始碼 SNMP 應用程式

描述

本章節描述 OTP 中的 snmp 應用程式。SNMP 應用程式提供以下服務:

  • 一個多語言可擴展的 SNMP 代理程式
  • 一個 SNMP 管理器
  • 一個 MIB 編譯器

組態設定

以下為 SNMP 應用程式定義的組態參數。有關組態參數的更多資訊,請參閱 application(3)。

組態檔案中指定組態參數的 snmp 部分基本上是以下 tuple:

      {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 - 一個 worker 專用於「set-requests」,一個 (main) worker 專用於所有其他請求(「get-request」和通知)。

      如果「main」worker 忙碌,則會產生一個臨時處理程序來處理該作業(「get-request」或通知)。

    • extended - 一個 worker 專用於「set-requests」,一個 worker 專用於通知,一個 (main) worker 專用於所有「get-requests」。

      如果「main」worker 忙碌,則會產生一個臨時處理程序來處理該「get-request」。

    注意

    即使將 multi-threaded 設定為 extended,在發送需要回應(因此可能需要重新發送)的 inform-request 時,仍然存在「重新排序」的風險。

    此外,一旦封包在網路上,當然無法保證順序。

    預設值為 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 socket。如果此操作失敗,net-if(和代理程式)將無法啟動(當機)。此 (filter) 清單包含將使 net-if「正常」失敗的錯誤(原因)。此 (filter) 清單應該包含 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-server 和 symbolic-store。

    預設值為 [{module, snmpa_mib_storage_ets}]

  • mib_storage_module() = snmpa_mib_data_ets | snmpa_mib_data_dets | snmpa_mib_data_mnesia | module() - 根據 snmpa_mib_storage 行為定義 SNMP 代理程式的 mib 儲存模組。

    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 agent mib server 特有的選項。

    預設值請參閱 mib_server_opt() 中的選項。

  • mibentry_override() = bool() <optional> - 如果此值為 false,則在載入 mib 時,會在安裝 mib 之前檢查每個 mib 條目。檢查的目的是防止相同的符號 mibentry 名稱被用於不同的 oid。

    預設值為 false

  • trapentry_override() = bool() <optional> - 如果此值為 false,則在載入 mib 時,會在安裝 mib 之前檢查每個 trap。檢查的目的是防止相同的符號 trap 名稱被用於不同的 trap。

    預設值為 false

  • mib_server_data_module() = snmpa_mib_data_tttn | module() <optional> - 定義 SNMP agent mib-server 的後端資料模組,如 snmpa_mib_data 行為所定義。

    目前 agent 只提供預設模組 snmpa_mib_data_tttn

    預設模組為 snmpa_mib_data_tttn

  • mibs_cache() = bool() | mibs_cache_opts() <optional> - agent 是否應使用 mib server 查找快取。

    預設值為 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 agent mib server 快取特有的選項。

    預設值請參閱 mibs_cache_opt() 中的選項。

  • mibs_cache_autogc() = bool() <optional> - 定義 mib server 是否應自動執行快取 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 可能會花費很長時間,在此期間 agent 會「忙碌」。但是在負載很重的系統上,我們也有可能沒有移除快取中足夠的元素,反而導致快取隨著時間推移而增長。這就是預設值為 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 agent 符號儲存區特有的選項。

    預設值請參閱 symbolic_store_opt() 中的選項。

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

    定義 SNMP agent 目標快取特有的選項。

    預設值請參閱 target_cache_opt() 中的選項。

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

    定義 SNMP agent 特有的組態相關選項。

    預設值請參閱 agent_config_opt() 中的選項。

  • agent_config_dir = dir() <mandatory> - 定義 SNMP agent 組態檔的儲存位置。

  • force_load() = bool() <optional> - 如果為 true,則在啟動期間會重新讀取組態檔,並忽略組態資料庫的內容。因此,如果為 true,則在 agent 重新啟動時,對組態資料庫的變更將會遺失。

    預設值為 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 (預設值) | permanent <optional> - 此選項指定伺服器將如何處理回呼呼叫。

    • temporary (預設值) - 會為每個回呼呼叫建立一個臨時程序。

    • permanent - 透過此設定,伺服器將建立一個永久(具名)程序,實際上會序列化所有回呼呼叫。

    預設值為 temporary

  • server_nis() = none (預設值) | {PingTO, PongTO} <optional> - 此選項指定伺服器是否應主動監督 net-if 程序。請注意,這僅在使用中的 net-if 程序實際支援該協定的情況下才會有效。如需更多資訊,請參閱 snmpm_network_interface 行為。

    • none (預設值) - 不對 net-if 程序進行主動監督。

    • {PingTO :: pos_integer(), PongTO :: pos_integer()} - PingTO 時間指定成功 ping(或啟動)與向 net-if 程序傳送 ping 訊息的時間之間的間隔(基本上是 ping 之間的時間)。

      PongTO 時間指定 net-if 程序必須在多長時間內回應 ping 訊息並傳送 pong 訊息。當傳送 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()] <選用> - 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() <選用> - 處理 SNMP 管理器的網路介面部分的模組。它必須實作 snmpm_network_interface 行為。

    預設值為 snmpm_net_if

  • manager_net_if_filter_options() = [manager_net_if_filter_option()] <選用> - 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() <選用> - 任意 Socket 選項的列表。

    此列表不會由 snmp 檢查(除了檢查它是否為列表)。使用者有責任確保這些是有效的選項,並且不會與「正常」選項衝突。

    預設值為 []

  • inet_backend() = inet | socket <選用> - 選擇 inet 後端。

    此選項可讓 net_if (gen_udp) 使用不同的 inet 後端 ('inet' 或 'socket')。

    預設值為 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,則僅記錄 set 請求。
    • 如果指定了 read,則僅記錄 get 請求。
    • 如果 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)