Skip to main content
此產品有較新版本可以使用。
本繁體中文版使用機器翻譯,譯文僅供參考,若與英文版本牴觸,應以英文版本為準。

在 StorageGRID 中設定記錄管理

視需要設定稽核層級、通訊協定標頭,以及稽核訊息和稽核日誌的位置。

所有 StorageGRID 節點都會產生稽核訊息和日誌,用於追蹤系統活動和事件。稽核訊息和日誌是監控和疑難排解的重要工具。

您可以選擇"設定外部 syslog 伺服器"將稽核資訊遠端儲存。使用外部伺服器可將稽核訊息記錄的效能影響降至最低,同時不會降低稽核資料的完整性。如果您擁有大型網格、使用多種類型的 S3 應用程式或希望保留所有稽核資料,則外部 syslog 伺服器尤其有用。

開始之前

更改稽核訊息層級

您可以為稽核日誌中的以下每類訊息設定不同的稽核層級:

稽核類別 預設設定 更多資訊

系統

正常

儲存

錯誤

管理

正常

用戶端讀取

正常

用戶端寫入

正常

ILM

正常

跨網格複寫

錯誤

註 升級期間,稽核層級的組態不會立即生效。
步驟
  1. 選擇 Configuration > Monitoring > Log management

  2. 對於每類稽核訊息,請從下拉清單中選擇一個稽核層級:

    稽核層級 說明

    關閉

    該類別中沒有記錄任何稽核訊息。

    錯誤

    僅記錄錯誤訊息——結果代碼不是「成功」(SUCS)的稽核訊息。

    正常

    標準交易項目訊息會記錄——即本說明中所列的該類別訊息。

    偵錯

    已棄用。此層級的行為與一般稽核層級相同。

    任何特定層級包含的訊息都包含在更高層級中會記錄的訊息。例如,「正常」層級包含所有「錯誤」訊息。

    註 如果您不需要詳細記錄 S3 應用程式的用戶端讀取操作,可以選擇將 Client Reads 設定變更為 Error,以減少稽核日誌中記錄的稽核訊息數量。
  3. 選取 Save

定義 HTTP 要求標頭

您可以選擇性地定義要包含在用戶端讀取和寫入稽核訊息中的任何 HTTP 請求標頭。

步驟
  1. 在「稽核協定標頭」區段中,定義要包含在用戶端讀取和寫入稽核訊息中的 HTTP 請求標頭。

    使用星號 (*) 作為萬用字元,可比對零個或多個字元。使用逸出序列 (\*) 可比對字面上的星號。

  2. 如果需要,請選擇 Add another header 以建立其他標題。

    當在請求中找到 HTTP 標頭時,它們會包含在稽核訊息的 HTRH 欄位中。

    註 只有當「用戶端讀取」或「用戶端寫入」的稽核層級不是「關閉」時,才會記錄稽核協定請求標頭。
  3. 選擇 Save

設定日誌位置

預設情況下,稽核訊息和日誌會保存在產生它們的節點上。它們會定期輪換,最終被刪除,以防止佔用過多磁碟空間。如果您希望將稽核訊息和部分日誌儲存到外部,使用外部 syslog 伺服器

如果要將日誌檔案儲存在內部,請選擇租戶和儲存桶以用於日誌儲存,並啟用日誌歸檔。

使用外部 syslog 伺服器

您可以選擇設定外部 syslog 伺服器,將稽核日誌、應用程式日誌和安全性事件日誌儲存到網格之外的位置。

註 如果您不想使用外部 syslog 伺服器,請跳過此步驟並前往 選擇日誌位置
提示 如果此程序中提供的組態選項靈活性不足以滿足您的需求,您可以使用 `audit-destinations`端點套用其他組態選項,這些端點位於"網格管理 API"的私有 API 部分。例如,如果您想要為不同的節點群組使用不同的 syslog 伺服器,則可以使用此 API。

輸入 syslog 資訊

存取「設定外部 syslog 伺服器」精靈,並提供 StorageGRID 存取外部 syslog 伺服器所需的資訊。

步驟
  1. 在「本機節點和外部伺服器」標籤中,選取 設定外部 syslog 伺服器。或者,如果您之前已設定外部 syslog 伺服器,請選取 編輯外部 syslog 伺服器

    「設定外部 syslog 伺服器」精靈隨即出現。

  2. 在精靈的「輸入 syslog 資訊」步驟中,在「主機」欄位中輸入外部 syslog 伺服器的有效完整網域名稱或 IPv4 或 IPv6 位址。

  3. 輸入外部 syslog 伺服器的目的地連接埠(必須是 1 到 65535 之間的整數)。預設連接埠為 514。

  4. ${post_edited_translations.segment}

    建議使用 TLSRELP/TLS。您必須上傳伺服器憑證才能使用這兩種選項中的任一項。使用憑證有助於確保網格與外部 syslog 伺服器之間的連線安全。如需詳細資訊,請參閱 "管理安全性證書"

    所有協定選項都需要外部 syslog 伺服器的支援和組態。您必須選擇與外部 syslog 伺服器相容的選項。

    註 Reliable Event Logging Protocol (RELP) 擴充了 syslog 協定的功能,以提供可靠的事件訊息傳遞。如果您的外部 syslog 伺服器必須重新啟動,使用 RELP 有助於防止稽核資訊遺失。
  5. 選擇 Continue

  6. 如果您選擇了*TLS*或*RELP/TLS*,請上傳伺服器 CA 憑證、用戶端憑證和用戶端私密金鑰。

    1. ${post_edited_translations.segment}

    2. 選擇憑證或金鑰檔案。

    3. 選擇*開啟*以上傳檔案。

      ${post_edited_translations.segment}

  7. 選擇 Continue

管理 syslog 內容

您可以選擇要傳送到外部 syslog 伺服器的資訊。

步驟
  1. ${post_edited_translations.segment}

    • ${post_edited_translations.segment}

    • ${post_edited_translations.segment}

    • Send application logs:發送"StorageGRID 軟體日誌檔案"有助於疑難排解,包括:

      • bycast-err.log

      • bycast.log

      • jaeger.log

      • nms.log (僅限管理節點)

      • prometheus.log

      • raft.log

      • hagroups.log

    • 傳送存取日誌:將 HTTP 存取日誌傳送至 Grid Manager、Tenant Manager、已設定的負載平衡器端點,以及來自遠端系統的網格聯合請求。

  2. ${post_edited_translations.segment}

    ${post_edited_translations.segment}

    1. ${post_edited_translations.segment}

      如果您選取某個值,選取的值將會套用至此類型的所有訊息。如果您使用固定值置換嚴重性,則關於不同嚴重性的資訊將會遺失。

      ${post_edited_translations.segment} 說明

      ${post_edited_translations.segment}

      ${post_edited_translations.segment}

      • ${post_edited_translations.segment}

      • 對於安全性事件,嚴重性值由節點上的 Linux 發行版產生。

      • 對於應用程式日誌,嚴重程度會根據問題的不同而有所區別,介於「info」和「notice」之間。例如,新增 NTP 伺服器和設定 HA 群組會產生「info」等級的日誌,而有意停止 SSM 或 RSM 服務則會產生「notice」等級的日誌。

      • 對於存取日誌,嚴重程度為「info」。

      0

      緊急情況:系統無法使用

      1

      警報:必須立即採取行動

      2

      Critical:Critical 條件

      3

      ${post_edited_translations.segment}

      4

      ${post_edited_translations.segment}

      5

      注意:正常但重要的狀況

      6

      ${post_edited_translations.segment}

      7

      ${post_edited_translations.segment}

    2. ${post_edited_translations.segment}

      如果您選取某個值,該值將套用至此類型的所有訊息。如果您使用固定值置換 facility,有關不同 facility 的資訊將會遺失。

    ${post_edited_translations.segment} 說明

    ${post_edited_translations.segment}

    傳送至外部 syslog 的每則訊息,其設備值應與本機節點上記錄時相同:

    • 對於稽核日誌,傳送到外部 syslog 伺服器的設施是「local7」。

    • 對於安全性事件,設施值由節點上的 Linux 發行版產生。

    • 對於應用程式日誌,傳送至外部 syslog 伺服器的應用程式日誌具有下列設施值:

      • bycast.log:使用者或精靈程序

      • bycast-err.log: user, daemon, local3 或 local4

      • jaeger.log: local2

      • nms.log: local3

      • prometheus.log:local4

      • raft.log: local5

      • hagroups.log: local6

    • ${post_edited_translations.segment}

    0

    ${post_edited_translations.segment}

    1

    ${post_edited_translations.segment}

    2

    ${post_edited_translations.segment}

    3

    ${post_edited_translations.segment}

    4

    ${post_edited_translations.segment}

    5

    syslog (syslogd 內部產生的訊息)

    6

    lpr(行式印表機子系統)

    7

    新聞(網路新聞子系統)

    8

    UUCP

    9

    ${post_edited_translations.segment}

    10

    安全性(安全性/授權訊息)

    11

    ${post_edited_translations.segment}

    12

    NTP

    13

    logaudit(日誌稽核)

    14

    日誌警報(log alert)

    15

    時鐘(時鐘守護程式)

    16

    local0

    17

    local1

    18

    local2

    19

    local3

    20

    local4

    21

    local5

    22

    local6

    23

    local7

  3. 選擇 Continue

${post_edited_translations.segment}

在開始使用外部 syslog 伺服器之前,您應該要求網格中的所有節點傳送測試訊息至該外部 syslog 伺服器。您應該使用這些測試訊息來協助您驗證整個日誌收集基礎架構,然後再確定將資料傳送到外部 syslog 伺服器。

警告 在確認外部 syslog 伺服器已收到來自網格中每個節點的測試訊息,且該訊息已如預期處理之前,請勿使用外部 syslog 伺服器組態。
步驟
  1. ${post_edited_translations.segment}

    ${post_edited_translations.segment}

  2. ${post_edited_translations.segment}

    測試結果會持續顯示在頁面上,直到您停止測試為止。測試進行期間,您的稽核訊息會繼續傳送到您先前設定的目的地。

  3. ${post_edited_translations.segment}

    請參閱 "疑難排解外部 syslog 伺服器" 以協助您解決任何錯誤。

  4. ${post_edited_translations.segment}

  5. ${post_edited_translations.segment}

    註 如果您使用的是 UDP ,請檢查您的整個日誌收集基礎架構。UDP 協定不允許像其他協定那樣進行嚴格的錯誤偵測。
  6. ${post_edited_translations.segment}

    您會返回 稽核與 syslog 伺服器 頁面。綠色橫幅表示已儲存 syslog 伺服器組態。

    註 ${post_edited_translations.segment}

選擇日誌位置

您可以指定稽核日誌、安全性事件日誌、"StorageGRID 應用程式日誌"和存取日誌的傳送位置。

註

StorageGRID 預設使用本機節點稽核目的地,並將稽核資訊儲存在 `/var/local/log/localaudit.log`中。

使用 `/var/local/log/localaudit.log`時,Grid Manager 和 Tenant Manager 的稽核日誌項目可能會傳送至儲存節點。您可以使用 `run-each-node --parallel "zgrep MGAU /var/local/log/localaudit.log | tail"`命令來尋找哪個節點包含最新的項目。

${post_edited_translations.segment}

步驟
  1. 選擇 Log location > Local node and external server

  2. 若要變更日誌類型的日誌位置,請選擇其他選項。

    提示 ${post_edited_translations.segment}
    選項 說明

    僅限本地節點(預設)

    稽核訊息、安全性事件日誌和應用程式日誌不會傳送到管理節點。相反,它們僅儲存在產生它們的節點(「本機節點」)上。每個本機節點上產生的稽核資訊都儲存在 /var/local/log/localaudit.log

    注意: StorageGRID 會定期輪換刪除本機日誌以釋放空間。當節點的日誌檔達到 1 GB 時,現有檔案將會被儲存,並建立新的日誌檔。日誌輪換上限為 21 個檔案。當建立第 22 個版本的日誌檔時,最舊的日誌檔將被刪除。平均而言,每個節點儲存約 20 GB 的日誌資料。若要長期儲存日誌,使用租戶和儲存貯體進行日誌儲存

    管理節點/本地節點

    稽核訊息會傳送至 Admin Nodes 上的稽核日誌,而安全性事件日誌與應用程式日誌則儲存在產生它們的節點上。稽核資訊儲存在下列檔案中:

    • 管理節點(主節點和非主節點): /var/local/audit/export/audit.log

    • 所有節點: /var/local/log/localaudit.log 檔案通常是空的或遺失。它可能包含次要資訊,例如某些訊息的額外複本。

    外部 syslog 伺服器

    稽核資訊會傳送至外部 syslog 伺服器,並儲存在本機節點上 (/var/local/log/localaudit.log)。傳送的資訊類型取決於您如何設定外部 syslog 伺服器。只有在您 設定了外部 syslog 伺服器 之後,才會啟用此選項。

    ${post_edited_translations.segment}

    稽核訊息會傳送到管理節點上的稽核日誌(/var/local/audit/export/audit.log),稽核資訊會傳送到外部 syslog 伺服器並儲存在本機節點上(/var/local/log/localaudit.log)。傳送的資訊類型取決於您如何設定外部 syslog 伺服器。此選項僅在您完成設定了外部 syslog 伺服器後才會啟用。

  3. 選取 Save

    螢幕上出現警告訊息。

  4. ${post_edited_translations.segment}

    新日誌檔將傳送至您選取的目的地。現有日誌檔將保留在目前位置。

${post_edited_translations.segment}

日誌會定期輪換。使用同一網格中的 S3 儲存桶可以長期儲存日誌。

  1. ${post_edited_translations.segment}

  2. 選取*啟用歸檔日誌*核取方塊。

  3. 如果列出的租戶和儲存桶不是您想要使用的,請選擇 Change tenant and bucket,然後選擇 Create tenant and bucketSelect tenant and bucket

    建立租戶和儲存桶
    1. 請輸入新的租戶名稱。

    2. 輸入並確認新租戶的密碼。

    3. ${post_edited_translations.segment}

    4. 選擇 Create and enable

    選擇租戶和儲存桶
    1. 從下拉式選單中選擇租戶名稱。

    2. 從下拉式選單中選取儲存貯體。

    3. 選擇 Select and enable

  4. 選取 Save

    日誌將儲存在您指定的租戶和儲存桶中。日誌的物件鍵名稱格式如下:

    system-logs/{node_hostname}/{absolute_path_to_log_file_on_node}--{last_modified_time}.gz

    例如:

    system-logs/DC1-SN1/var/local/log/localaudit.log--2025-05-12_13:41:44.gz