全部產品
Search
文件中心

Compute Nest:應用日誌

更新時間:Nov 15, 2024

計算巢提供了可深入到應用內部的日誌收集功能。支援私人化和全託管服務兩種服務情境,支援ECS和ACK兩種部署方式。本文介紹了應用日誌在私人化和全託管服務的配置方案。

功能介紹

計算巢應用日誌提供的功能如下:

  1. 實現對計算巢服務的執行個體應用日誌的集中收集與管理,提升Tlog的一致性和便捷性。

  2. 簡化在分布式環境下分散於多台主機的PaaS類軟體日誌檢索工作,有效提升使用者體驗,並減少日誌收集配置的繁複操作。

  3. 支援多種應用部署情境,以滿足不同使用者需求。

    • 託管版服務:ECS單租戶、ACK單租戶以及ACK多租戶模式。

    • 私人化服務:ECS單租戶和ACK單租戶模式。

    若對上述部署概念有疑問,可參考《計算巢服務商情境介紹》文檔以獲得更深入理解。

  4. 託管版服務中,日誌資源屬於服務商,使服務商能夠輕鬆監控各租戶下的執行個體狀態,並支援租戶在得到授權後,查看自己執行個體的日誌,確保雙方都能高效地訪問所需資訊。

  5. 私人化服務中,日誌資源屬於使用者,使使用者能自主查看執行個體日誌資訊,也可授予服務商許可權,讓其代維管理。

概念解釋

  • 全託管中的應用日誌:在計算巢全託管情境中,資源屬於服務商,所以服務執行個體下的日誌資源自然也是屬於服務商。

  • 私人化中的應用日誌:資源屬於使用者,所以服務執行個體下的日誌資源自然也是屬於使用者。

  • 計算巢偽參數:通過在ROS模板中增加計算巢偽參數,計算巢可在執行個體建立過程中,根據您的服務配置,動態將該偽參數替換為具體的值,該功能主要用於ACK部署模式中,偽參數的格式為{{ 偽參數 }},注意中間內容與前後括弧為兩個空格間隔。偽參數在本功能的應用中有以下情況:

    • {{ serviceId }}:在部署時,此參數會替換為對應計算巢服務的唯一服務ID。

    • {{ serviceInstanceId }}:在部署時,此參數會替換為計算巢服務執行個體的特定ID。

    • {{ aliUid }}:在部署時,此參數會替換為使用者的AliUID,即阿里雲使用者ID。

    • {{ serviceSls.LogProject }}:在部署時,此參數會替換為所在地區的服務執行個體對應的記錄項目(LogProject。該偽參數目前僅全託管服務ACK情境中會使用到。

      • 比如當服務配置了北京和上海兩個地區,且日誌Project分別為Log-BJ和Log-SH,那麼當使用者選擇北京地區部署時,則日誌自動被收集到服務商的Log-BJ中。

    • {{ serviceSls.${key}.Logstore }}:在部署ROS模板中,需要將此參數根據服務商配置的日誌庫Logstore名稱${key}替換為實際的Logstore。該偽參數需要和下面兩個偽參數LogPath和LogFilePattern共用,對於相同的${key} 的三個偽參數代表屬於同一組配置。

    • {{ serviceSls.${key}.LogPath }}:模板中指定的檔案路徑會根據地區和配置的鍵(${key})自動被替換。

    • {{ serviceSls.${key}.LogFilePattern }}:Logstore的檔案模式會根據地區和鍵(${key})自動被替換。

日誌收集ROS共用模組:在日誌管理功能中,代表由計算巢提供的ECS日誌功能組件,可直接引用,該模組用於全託管ECS部署模式。

日誌收集模式說明

計算巢情境中,將日誌格式簡單分為以下兩種情況:

  • 日誌收集極簡模式:即記錄收集器根據分行符收集日誌,每行被視為新的日誌。

  • 自訂日誌收集格式:由於日誌的格式多種多樣,計算巢難以涵蓋所有日誌格式,所以當有定製需求時,請前往SLS控制台修改日誌採集配置,此處給出簡單示意圖。

    1. 前往SLS控制台找到當前的日誌收集的ProjectLogStore下的日誌採集配置-Logtail配置。logtail.webp

    2. 開啟配置詳情,提供Regex。

      1723540494174-c9d37aa1-a7e9-4778-8568-f4d97bb8aad4.webp