分散在不同伺服器上的業務日誌或系統日誌,難以統一檢索、監控和分析。使用LoongCollector(Logtail)採集器,可將 ECS 執行個體、自建 IDC 或其他雲廠商主機上的文本日誌即時、增量地採集到 Log Service,以實現日誌的集中化管理與分析。如需採集全量日誌,可以通過匯入歷史記錄檔實現。
適用範圍
支援的作業系統與架構:
LoongCollector 當前僅支援 Linux 系統;Windows 主機請使用 Logtail。新接入情境建議優先選用 LoongCollector。
LoongCollector 是阿里雲Log Service推出的新一代日誌採集 Agent,是 Logtail 的升級版。使用者在使用時,只需安裝LoongCollector或Logtail其中之一,無需重複安裝。
計算資源要求:
CPU:最少預留0.4 Core。
記憶體:最少需要 300 MB。
使用率建議:為保證穩定運行,建議LoongCollector(Logtail)的實際資源使用率低於限制值的 80%。實際使用量與採集速率、監控目錄和檔案數量、發送阻塞程度等因素相關。
許可權要求:
若使用 RAM 使用者操作,需授予
AliyunLogFullAccess和AliyunECSFullAccess許可權。如需精細化授權,請參考附錄:自訂權限原則。
採集配置建立流程
準備工作:建立Project和Logstore,Project是資源嵌入式管理單元,用於隔離不同業務日誌,而Logstore用於儲存日誌。
配置機器組(安裝LoongCollector):根據伺服器類型,安裝LoongCollector,並將其加入到機器組。使用機器組統一管理採集節點,對伺服器進行配置分發與狀態管理。
查詢與分析配置:系統預設開啟全文索引,支援關鍵詞搜尋。建議啟用欄位索引,以便對結構化欄位進行精確查詢和分析,提升檢索效率。
準備工作
在採集日誌前,需規劃並建立用於管理與儲存日誌的Project和Logstore。若已有可用資源,可跳過此步驟,直接進入配置機器組(安裝LoongCollector)。
建立Project
建立Logstore
步驟一:配置機器組(安裝LoongCollector)
在完成準備工作後,為不同類型的伺服器安裝LoongCollector並將其加入機器組。
以下安裝步驟僅適用於日誌源為阿里雲ECS執行個體,且該執行個體與Log ServiceProject屬於同一阿里雲帳號和相同地區的情境。
如果您的ECS執行個體與Project不在同一帳號或地區,或者日誌源為自建伺服器,請參考LoongCollector 安裝與配置進行操作。
配置步驟:
在
日誌庫頁面,單擊目標Logstore名稱前的
展開。單擊資料接入後的
,在快速資料接入彈框中,選擇文本日誌接入模板(如單行-文本日誌),單擊立即接入。所有文本日誌接入模板僅在解析外掛程式上有所差異,其餘配置流程一致,後續均可修改。
在機器組配置頁面,配置如下參數:
使用情境:主機情境
安裝環境:ECS
配置機器組:根據目標伺服器的LoongCollector安裝情況與機器組配置狀態,選擇對應操作:
已安裝LoongCollector且已加入某個機器組,直接在源機器組列表中勾選,將其添加至應用機器組列表,無需重複建立。
未安裝LoongCollector,單擊建立機器組:
以下步驟將引導您完成LoongCollector的一鍵自動安裝並建立機器組。
系統會自動列出與 Project 同地區的 ECS 執行個體,勾選需要採集日誌的一台或多台執行個體。
單擊安裝並建立為機器組,系統將自動在所選ECS執行個體上安裝LoongCollector。
配置機器組名稱並單擊確定。
說明如果安裝失敗或一直處於等待中,請檢查ECS地區是否與Project相同。
如需將已安裝LoongCollector的伺服器加入已有機器組,請參考常見問題如何將伺服器加入到已有機器組?
檢查心跳狀態:單擊下一步,頁面出現機器組心跳情況。查看心跳狀態,若為OK表示機器組串連正常,單擊下一步,進入Logtail配置頁面。
若為FAIL,可能是初次建立心跳需要花費一些時間,請等待兩分鐘左右,再重新整理心跳狀態。若重新整理後仍為FAIL,請參考機器組心跳串連為fail進一步排查。
步驟二:建立並配置日誌採集規則
完成LoongCollector安裝和機器組配置後,進入Logtail配置頁面,定義日誌採集和處理規則。
1. 全域與輸入配置
定義採集配置的名稱及日誌採集的來源和範圍。
全域配置:
配置名稱:自訂採集配置名稱,在其所屬Project內必須唯一。建立成功後,無法修改。命名規則:
僅支援小寫字母、數字、連字號(-)和底線(_)。
必須以小寫字母或者數字作為開頭和結尾。
輸入配置:
類型:文本日誌採集。
檔案路徑:日誌採集的路徑。
Linux:以“/”開頭,如
/data/mylogs/**/*.log,表示/data/mylogs目錄下所有尾碼名為.Log的檔案。Windows:以盤符開頭,如
C:\Program Files\Intel\**\*.Log。
最大目錄監控深度:檔案路徑中萬用字元
**匹配的最大目錄深度。預設為0,表示只監控本層目錄。
2. Tlog與結構化
通過配置Tlog規則,將原始非結構化日誌轉換為結構化、可檢索的資料,提升日誌查詢與分析效率。建議在配置前先添加日誌範例:
在Logtail配置頁面的處理配置地區,單擊添加日誌範例,輸入待採集的日誌內容。系統將基於範例識別日誌格式,輔助產生Regex和解析規則,降低配置難度。
情境一:多行Tlog(如Java堆棧日誌)
由於Java異常堆棧、JSON等日誌通常跨越多行,在預設採集模式下會被拆分為多條不完整的記錄,導致上下文資訊丟失;為此,可啟用多行模式,通過配置行首Regex,將同一日誌的連續多行內容合并為一條完整日誌。
效果樣本:
未經任何處理的原始日誌 | 預設採集模式下,每行作為獨立日誌,堆棧資訊被拆散,丟失上下文 | 開啟多行模式,通過行首Regex識別完整日誌,保留完整語義結構。 |
|
|
|
配置步驟:在Logtail配置頁面的處理配置地區,開啟多行模式:
類型:選擇自訂或多行JSON。
自訂:原始日誌的格式不固定,需配置行首Regex,來標識每條日誌的起始行。
行首Regex:支援自動產生或手動輸入,Regex需要能夠匹配完整的一行資料,如上述樣本中匹配的Regex為
\[\d+-\d+-\w+:\d+:\d+,\d+]\s\[\w+]\s.*。自動產生:單擊自動產生Regex,然後在日誌範例文字框中,選擇需提取的日誌內容,單擊產生正則。
手動輸入:單擊手動輸入Regex,輸入完成後,單擊驗證。
多行JSON:當原始日誌均為標準JSON格式時,Log Service會自動處理單條JSON日誌內部的換行。
切分失敗處理方式:
丟棄:如果一段文本無法匹配行首規則,則直接丟棄。
保留單行:將無法匹配的文本按原始的單行模式進行切分和保留。
情境二:結構化日誌
當原始日誌為非結構化或半結構化文本(如 Nginx 訪問日誌、應用輸出日誌)時,直接進行查詢和分析往往效率低下。Log Service提供多種資料解析外掛程式,能夠自動將不同格式的原始日誌轉換為結構化資料,為後續的分析、監控和警示提供堅實的資料基礎。
效果樣本:
未經任何處理的原始日誌 | 結構化解析後的日誌 |
| |
配置步驟:在Logtail配置頁面的處理配置地區
添加解析外掛程式:單擊添加處理外掛程式,根據實際格式配置正則解析、分隔字元解析、JSON 解析等外掛程式。此處以採集NGINX日誌為例,選擇。
NGINX日誌配置:將 Nginx 伺服器設定檔(nginx.conf)中的
log_format定義完整地複製並粘貼到此文字框中。樣本:
log_format main '$remote_addr - $remote_user [$time_local] "$request" ''$request_time $request_length ''$status $body_bytes_sent "$http_referer" ''"$http_user_agent"';重要此處的格式定義必須與伺服器上組建記錄檔的格式完全一致,否則將導致日誌解析失敗。
通用配置參數說明:以下參數在多種資料解析外掛程式中都會出現,其功能和用法是統一的。
原始欄位:指定要解析的源欄位名。預設為
content,即採集到的整條日誌內容。解析失敗時保留原始欄位:推薦開啟。當日誌無法被外掛程式成功解析時(例如格式不匹配),此選項能確保原始日誌內容不會丟失,而是被完整保留在指定的原始欄位中。
解析成功時保留原始欄位:選中後,即使日誌解析成功,原始日誌內容也會被保留。
3. 日誌過濾
在日誌採集過程中,大量低價值或無關日誌(如 DEBUG/INFO 層級日誌)的無差別收集,不僅造成儲存資源浪費、增加成本,還影響查詢效率並帶來資料泄露風險。為此,可通過精細化過濾策略實現高效、安全的日誌採集。
通過內容過濾降低成本
基於日誌內容的欄位過濾(如僅採集 level 為 WARNING 或 ERROR 的日誌)。
效果樣本:
未經任何處理的原始日誌 | 只採集 |
| |
配置步驟:在Logtail配置頁面的處理配置地區
單擊添加處理外掛程式,選擇:
欄位名:過濾的日誌欄位。
欄位值:用於過濾的Regex,僅支援全文匹配,不支援關鍵詞部分匹配。
通過黑名單控制採集範圍
通過黑名單機制排除指定目錄或檔案,避免無關或敏感日誌被上傳。
配置步驟:在Logtail配置頁面的地區,啟用採集黑名單,並單擊添加。
支援完整匹配和萬用字元匹配目錄和檔案名稱,萬用字元只支援星號(*)和半形問號(?)。
檔案路徑黑名單:需要忽略的檔案路徑,樣本:
/home/admin/private*.log:在採集時忽略/home/admin/目錄下所有以private開頭,以.log結尾的檔案。/home/admin/private*/*_inner.log:在採集時忽略/home/admin/目錄下以private開頭的目錄內,以_inner.log結尾的檔案。
檔案黑名單:配置採集時需要忽略的檔案名稱,樣本:
app_inner.log:在採集時忽略所有名為app_inner.log的檔案。
目錄黑名單:目錄路徑不能以正斜線(/)結尾,樣本:
/home/admin/dir1/:目錄黑名單不會生效。/home/admin/dir*:在採集時忽略/home/admin/目錄下所有以dir開頭的子目錄下的檔案。/home/admin/*/dir:在採集時忽略/home/admin/目錄下二級目錄名為dir的子目錄下的所有檔案。例如/home/admin/a/dir目錄下的檔案被忽略,/home/admin/a/b/dir目錄下的檔案被採集。
4. 日誌分類
當多個應用或執行個體的日誌格式相同但路徑不同時(如 /apps/app-A/run.log 和 /apps/app-B/run.log),採集日誌難以區分來源。通過配置日誌主題(Topic),對來自不同應用、服務或路徑的日誌進行邏輯區分,實現統一儲存下的高效歸類與精準查詢。
配置步驟::選擇Topic產生方式,支援如下三種類型:
機器組Topic:採集配置應用於多個機器組時,LoongCollector 會自動使用伺服器所屬的機器組名稱作為
__topic__欄位上傳。適用於按主機劃分日誌情境。自訂:格式為
customized://<自訂佈景主題名>,例如customized://app-login。適用於固定業務標識的靜態主題情境。檔案路徑提取:從記錄檔的完整路徑中提取關鍵資訊,動態標記日誌來源。適用於多使用者/應用共用相同記錄檔名但路徑不同的情況。當多個使用者或服務將日誌寫入不同頂級目錄,但下級路徑和檔案名稱一致時,僅靠檔案名稱無法區分來源,例如:
/data/logs ├── userA │ └── serviceA │ └── service.log ├── userB │ └── serviceA │ └── service.log └── userC └── serviceA └── service.log此時您可以配置檔案路徑提取,並使用Regex從完整路徑中提取關鍵資訊,將匹配結果作為日誌主題(Topic)上傳至Logstore。
檔案路徑擷取規則:基於Regex的擷取的群組
在配置Regex時,系統根據擷取的群組的數量和命名方式自動決定輸出欄位格式,規則如下:
檔案路徑的Regex中,需要對正斜線(/)進行轉義。
擷取的群組類型
適用情境
產生欄位
正則樣本
匹配路徑樣本
產生欄位樣本
單擷取的群組(僅一個
(.*?))僅需一個維度區分來源(如使用者名稱、環境)
產生
__topic__欄位\/logs\/(.*?)\/app\.log/logs/userA/app.log__topic__:userA多擷取的群組-非命名(多個
(.*?))需要多個維度區分來源但無需語義標籤
產生tag欄位
__tag__:__topic_{i}__,其中{i}為擷取的群組的序號\/logs\/(.*?)\/(.*?)\/app\.log/logs/userA/svcA/app.log__tag__:__topic_1__userA;__tag__:__topic_2__svcA多擷取的群組-命名(使用
(?P<name>.*?)需要多個維度區分來源且希望欄位含義清晰、便於查詢與分析
產生tag欄位
__tag__:{name}\/logs\/(?P<user>.*?)\/(?P<service>.*?)\/app\.log/logs/userA/svcA/app.log__tag__:user:userA;__tag__:service:svcA
步驟三:查詢與分析配置
在完成Tlog與外掛程式配置後,單擊下一步,進入查詢分析配置頁面:
配置完成後,單擊下一步,完成整個採集流程的設定。
步驟四:驗證與故障排查
配置完成後,應用到機器組並儲存。等待片刻後,按以下清單進行驗證。
驗證清單
確認記錄檔有新增內容:LoongCollector只採集增量日誌。執行
tail -f /path/to/your/log/file,並觸發業務操作,確保有新的日誌正在寫入。檢查LoongCollector狀態:
sudo /etc/init.d/loongcollectord status。檢查機器組心跳:前往頁面,單擊目標機器組名稱,在地區,查看心跳狀態。
如果心跳為OK,則表示機器組與Log Service Project 串連正常。
如果心跳為FAIL:參考機器組心跳串連為fail進行排查。
查詢日誌:進入目標 Logstore 的查詢分析頁面,單擊查詢/分析(預設時間範圍為最近15分鐘),觀察是否有新日誌流入。
常見問題排查
機器組心跳串連為fail
檢查使用者標識:如果您的伺服器類型不是ECS,或ECS和Project屬於不同阿里雲帳號,請檢查指定目錄下是否存在正確的使用者標識,如不存在請參考如下命令手動建立。
Linux:執行
cd /etc/ilogtail/users/ && touch <uid>命令,建立使用者標識檔案。Windows:進入
C:\LogtailData\users\目錄,建立一個名為<uid>的空檔案。
檢查機器組標識:如果您在建立機器組時使用了使用者自訂標識,請檢查指定目錄下是否存在
user_defined_id檔案,如果存在請檢查該檔案中的內容是否與機器組配置的自訂標識一致。Linux:
# 配置使用者自訂標識,如目錄不存在請手動建立 echo "user-defined-1" > /etc/ilogtail/user_defined_idWindows:在
C:\LogtailData目錄下建立user_defined_id檔案,並寫入使用者自訂標識。(如目錄不存在,請手動建立)
如果使用者標識和機器組標識均配置無誤,請參考LoongCollector(Logtail)機器組問題排查思路進一步排查。
日誌採集無資料
檢查是否有增量日誌:配置LoongCollector(Logtail)採集後,如果待採集的記錄檔沒有新增日誌,則LoongCollector(Logtail)不會採集該檔案。
檢查機器組心跳狀態:前往頁面,單擊目標機器組名稱,在地區,查看心跳狀態。
如果心跳為OK,則表示機器組與Log Service Project 串連正常。
如果心跳為FAIL:參考機器組心跳串連為fail進行排查。
確認LoongCollector(Logtail)採集配置是否已應用到機器組:即使LoongCollector(Logtail)採集配置已建立,但如果未將其應用到機器組,日誌仍無法被採集。
前往頁面,單擊目標機器組名稱,進入機器組配置頁面。
在頁面中查看管理配置,左側展示全部Logtail配置,右側展示已生效Logtail配置。如果目標LoongCollector(Logtail)採集配置已移動到右側生效地區,則表示該配置已成功應用到目標機器組。
如果目標LoongCollector(Logtail)採集配置未移動到右側生效地區,請單擊修改,在左側全部Logtail配置列表中勾選目標LoongCollector(Logtail)配置名稱,單擊
移動到右側生效地區,完成後單擊儲存。
採集日誌報錯或格式錯誤
排查思路:這種情況說明網路連接和基礎配置正常,問題主要出在日誌內容與解析規則不匹配。您需要查看具體的錯誤資訊來定位問題:
在Logtail配置頁面,單擊採集異常的LoongCollector(Logtail)配置名稱,在日誌採集錯誤頁簽下,單擊時間選擇設定查詢時間。
在地區,查看錯誤記錄檔的警示類型,並根據採集資料常見錯誤類型查詢對應的解決辦法。
配額與限制
限制項 | 限制說明 |
單條日誌長度 | 預設限制為512 KB。您可通過啟動參數max_read_buffer_size進行調整,最大不能超過8 MB。具體操作,請參見Logtail網路類型,啟動參數與設定檔。 多行日誌按行首Regex劃分後,每條日誌大小限制仍為512 KB。如果日誌超過512 KB,會被強制拆分為多條進行採集。例如:單條日誌大小為1025 KB,則第一次處理512 KB,第二次處理512 KB,第三次處理1 KB,最終採集結果為多條不完整的日誌。 |
檔案編碼 | 支援UTF-8或GBK編碼的記錄檔,建議使用UTF-8編碼獲得更好的處理效能。 警告 如果記錄檔為其它編碼格式則會出現亂碼、資料丟失等問題。 |
記錄檔輪轉 | 日誌輪轉隊列大小預設為20。您可通過啟動參數logreader_max_rotate_queue_size進行調整。具體操作,請參見Logtail網路類型,啟動參數與設定檔。 支援設定採集路徑為 重要 同一個Logtail執行個體中請勿混用兩種形式,否則可能導致同一檔案匹配多個Logtail採集配置,出現重複採集。 如果未處理完成的檔案超過20個,將導致新產生的日誌丟失。此類情況,請優先排查Logstore Shard寫入Quota是否超限,並調整Logtail並發水平。具體操作,請Logtail網路類型,啟動參數與設定檔。 |
日誌解析阻塞時採集行為 | 日誌解析阻塞時,Logtail會保持該記錄檔描述符為開啟狀態,避免阻塞期間檔案被刪除,導致日誌丟失。 如果解析阻塞期間出現多次記錄檔輪轉,Logtail會將檔案放入輪轉隊列。 |
Regex | 支援Perl相容Regex。 |
JSON | 完全支援標準JSON(RFC7159、ECMA-404)。不支援非標準JSON,例如 |
檔案開啟行為 | Logtail會保持被採集的檔案和輪轉隊列中待採集的檔案處於開啟狀態,以保證採集資料完整性。出現以下情況,會關閉檔案。
如果無論檔案是否採集完成或仍有日誌寫入檔案,您都希望檔案在刪除後的可控時間內釋放檔案控制代碼,則您可通過啟動參數force_release_deleted_file_fd_timeout設定逾時時間。具體操作,請參見Logtail網路類型,啟動參數與設定檔。 |
首次日誌採集行為 | Logtail只採集增量的記錄檔。首次發現檔案被修改後,如果檔案大小超過1 MB(容器標準輸出為512 KB),則從最後1 MB處開始採集,否則從開始位置採集。 您可通過Logtail採集配置中的tail_size_kb參數調整新檔案首次採集的大小。具體操作,請參見Logtail配置(舊版)。 如果下發Logtail採集配置後,記錄檔一直無修改,則Logtail不會採集該檔案。如果需要採集歷史檔案,請參見匯入歷史記錄檔。 |
檔案發生覆蓋的行為 | Logtail採用inode+檔案中前1024位元組的Hash識別檔案。檔案被覆蓋後,如果inode或檔案前1024位元組Hash發生變化,則檔案會作為新檔案從頭開始採集,否則不會被採集。 |
檔案發生移動的行為 | 檔案發生移動後,如果匹配Logtail採集配置,且該Logtail採集配置之前從未匹配過該檔案,則移動後的文檔將被當成新檔案從頭開始採集,否則不會被採集。 |
檔案採集歷史 | Logtail會在記憶體中保留檔案採集歷史進度,保證檔案發生變化後僅採集增量部分,超過保留範圍的日誌如果發生寫入,會導致重複採集。
|
非標準文本日誌 | 對於日誌中包含 |
計費說明
安裝 LoongCollector 或 Logtail本身不收費。
日誌寫入、儲存、索引、查詢、加工、投遞等環節將根據 Logstore 計費模式產生費用。
如果在安裝或配置中使用了Global Acceleration功能,通過加速網路傳輸的資料會產生額外的流量費用。
常見問題(FAQ)
如何將ECS伺服器的日誌傳輸到另一個阿里雲帳號的Project?
如果您尚未安裝LoongCollector,請參考安裝配置選擇合適的跨帳號情境進行安裝;
如果您已安裝了LoongCollector,請參考如下步驟配置使用者標識,用於標識這台伺服器有許可權被Log ServiceProject所屬帳號訪問、採集日誌。
只有在採集非本帳號ECS、自建IDC、其他雲廠商伺服器日誌時需要配置使用者標識。
複製Log Service所屬的主帳號ID:滑鼠懸浮在右上方帳戶圖片上,在彈出的標籤頁中查看並複製帳號ID。
登入需要採集日誌的伺服器,建立阿里雲帳號ID檔案配置使用者標識:
touch /etc/ilogtail/users/{阿里雲帳號ID} # 如果/etc/ilogtail/users目錄不存在,請手動建立目錄。使用者標識設定檔只需設定檔名,無需設定檔尾碼。
如何將ECS伺服器的日誌傳輸到同帳號不同地區的Project?
如果您尚未安裝LoongCollector,請參考安裝配置選擇合適的跨地區情境進行安裝;
如果已安裝LoongCollector,則需要修改LoongCollector配置。
執行
sudo /etc/init.d/ilogtaild stop命令,停止LoongCollector。修改LoongCollector啟動設定檔
ilogtail_config.json,根據您的網路需求從以下兩種方式中選擇一種進行修改:設定檔路徑:
/usr/local/ilogtail/ilogtail_config.json方式一:使用公網傳輸
參考RegionID,將設定檔中的地區替換為Log Service所在的地區,需要修改的欄位包括:
primary_regionconfig_servers中的地區部分data_servers中的region和endpoint_list地區部分
方式二:使用傳輸加速
將data_server_list參數中的endpoint一行替換為
log-global.aliyuncs.com。檔案路徑,請參見Logtail網路類型,啟動參數與設定檔。
執行
sudo /etc/init.d/ilogtaild start命令,啟動LoongCollector。
如何將伺服器加入到已有機器組?
當您已有配置好的機器組,希望將新的伺服器(如新部署的 ECS 或自建伺服器)加入其中並繼承其採集配置時,可通過以下步驟完成綁定。
操作前提:
已存在一個配置完成的機器組。
新伺服器已安裝 LoongCollector。
操作步驟:
查看目標機器組標識:
在目標Project頁面,單擊左側導覽列
。進入機器組頁面,單擊目標機器組名稱。
在機器組配置頁面,查看機器組標識。
根據標識類型執行對應操作:
說明同一機器組中不允許同時存在Linux伺服器、Windows伺服器,請勿在Linux和Windows伺服器上配置相同的使用者自訂標識。一個伺服器可配置多個使用者自訂標識,標識之間以分行符號分隔。
類型一:機器組標識為IP地址
在伺服器上,執行如下命令開啟
app_info.json檔案,查看ip值。cat /usr/local/ilogtail/app_info.json在目標機器組配置頁面,單擊修改,填寫伺服器的IP地址,多個IP之間使用分行符號分隔。
配置完成後,單擊儲存,並確認心跳狀態。心跳為OK後,伺服器將自動應用機器組的採集配置。
若心跳狀態為FAIL,請參考常見問題機器組心跳串連為fail進一步排查。
類型二:機器組標識為使用者自訂標識
根據作業系統,向指定檔案寫入與目標機器組一致的使用者自訂標識字串:
若目錄不存在需手動建立。檔案路徑和名稱由Log Service固定,不可自訂。
Linux:向
/etc/ilogtail/user_defined_id檔案寫入自訂字串 。Windows:向
C:\LogtailData\user_defined_id寫入自訂字串。
如何匯入其他Project的採集配置?
在完成準備工作、機器組配置的基礎上,您可將已有 Project 中的採集配置快速匯入到當前 Logstore,避免重複配置,提升效率。
操作步驟:
如何擷取伺服器的IP地址,作為機器組標識?
在已安裝LoongCollector(Logtail)的伺服器上,開啟/usr/local/ilogtail/app_info.json檔案,查看ip值。
Logtail自動擷取的伺服器IP地址記錄在app_info.json檔案的ip欄位中,如下所示。
存在多台伺服器時,請手動輸入對應的IP地址,IP地址之間需使用分行符號分隔。
同一機器組中不允許同時存在Linux和Windows伺服器。請勿將Windows和Linux伺服器IP添加到同一機器組中。
如何讓同一個記錄檔被多個採集配置同時採集?
預設情況下,Log Service為了避免資料重複,限制一個文本記錄檔只能被一個Logtail配置採集。若需實現同一記錄檔被多個採集配置同時採集,需要手動開啟允許檔案多次採集功能。
操作步驟:
採集多份時,檔案讀取的IO、計算資源和網路IO都會線性增加。
登入Log Service控制台,進入目標Project。
在左側導覽列選擇
日誌庫,找到目標Logstore。單擊其名稱前的
展開Logstore。單擊Logtail配置,在配置列表中,找到目標Logtail配置,單擊操作列的管理Logtail配置。
在Logtail配置頁面,單擊編輯:
,開啟允許檔案多次採集。
配置完成後,單擊儲存。
為什麼最後一段日誌延遲很久才上報?有時還會被截斷?
原因分析:日誌被截斷通常發生在記錄檔末尾缺少分行符號,或多行日誌(如異常堆棧)尚未完整寫入時。由於採集器無法判斷日誌是否已結束,可能導致最後一段內容被提前切分或延遲上報。不同版本的LoongCollector(Logtail)處理機制有差異:
1.8 之前版本:
如果最後一行日誌沒有分行符號(斷行符號),或者一個多行日誌段落未結束,採集器會一直等待下一次寫入觸發輸出。這可能導致最後一條日誌長時間滯留不發送,直到新日誌寫入。1.8 及之後版本:
引入逾時重新整理機制,避免日誌卡住。當檢測到未完成的日誌行時,系統啟動計時器,逾時後自動認可當前內容,確保日誌最終能被採集。預設逾時時間:60 秒(保證大多數情境下的完整性)
您可根據實際需求調整該值,但不建議設為 0,否則可能導致日誌截斷或丟失部分內容。
解決方案:
您可以適當延長等待時間,確保完整日誌寫入後再被採集:
登入Log Service控制台,進入目標Project。
在左側導覽列選擇
日誌庫,找到目標Logstore。單擊其名稱前的
展開Logstore。單擊Logtail配置,在配置列表中,找到目標Logtail配置,單擊操作列的管理Logtail配置。
在Logtail配置頁面,單擊編輯:
:添加以下JSON配置自訂逾時時間
{ "FlushTimeoutSecs": 1 }預設值:由啟動參數
default_reader_flush_timeout決定(通常為幾秒)。單位:秒。
建議值:≥1 秒,不建議設為 0,否則可能導致日誌截斷或丟失部分內容。
配置完成後,單擊儲存。
為什麼LoongCollector(Logtail)在運行過程中會從內網網域名稱切換到公網?能否自動切回?
LoongCollector(Logtail)運行過程中,若檢測到內網網域名稱通訊異常(如網路不通、連線逾時等),為保障日誌採集的連續性和可靠性,系統會自動切換至公網網域名稱進行資料發送,避免日誌堆積或丟失。
LoongCollector:內網恢複後,自動切回內網。
Logtail:不會自動切回,需手動重啟才能恢複內網通訊。
附錄:原生解析外掛程式詳解
在Logtail配置頁面的處理配置地區,可以通過添加處理外掛程式,對原始日誌進行結構化處理。如需為已有採集配置添加處理外掛程式,可以參考如下步驟:
在左側導覽列選擇
日誌庫,找到目標Logstore。單擊其名稱前的
展開Logstore。單擊Logtail配置,在配置列表中,找到目標Logtail配置,單擊操作列的管理Logtail配置。
在Logtail配置頁面,單擊編輯。
此處僅介紹常用處理外掛程式,覆蓋常見Tlog情境,如需更多功能,請參考拓展處理外掛程式。
外掛程式組合使用規則(適用於 LoongCollector / Logtail 2.0 及以上版本):
原生處理外掛程式與拓展處理外掛程式均可獨立使用,也支援按需組合使用。
推薦優先選用原生處理外掛程式,因其具備更優的效能和更高的穩定性。
當原生功能無法滿足業務需求時,可在已配置的原生處理外掛程式之後,追加配置拓展處理外掛程式以實現補充處理。
順序約束:
所有外掛程式按照配置順序組成處理鏈,依次執行。需要注意:所有原生處理外掛程式必須先於任何拓展處理外掛程式,添加任意拓展處理外掛程式後,將無法繼續添加原生處理外掛程式。
正則解析
通過Regex提取日誌欄位,並將日誌解析為索引值對形式,每個欄位都可以被獨立查詢和分析。
效果樣本:
未經任何處理的原始日誌 | 使用正則解析外掛程式 |
| |
配置步驟:在Logtail配置頁面的處理配置地區,單擊添加處理外掛程式,選擇:
Regex:用於匹配日誌,支援自動產生或手動輸入:
自動產生:
單擊自動產生Regex。
在日誌範例中劃選需要提取的日誌內容。
單擊產生正則。

手動輸入:根據日誌格式手動輸入Regex。
配置完成後,單擊驗證,測試Regex是否能夠正確解析日誌內容。
日誌提取欄位:為提取的日誌內容(Value),設定對應的欄位名(Key)。
其他參數請參考情境二:結構化日誌中的通用配置參數說明。
分隔字元解析
通過分隔字元將日誌內容結構化,解析為多個索引值對形式,支援單字元分隔字元和多字元分隔字元。
效果樣本:
未經任何處理的原始日誌 | 按指定字元 |
| |
配置步驟:在Logtail配置頁面的處理配置地區,單擊添加處理外掛程式,選擇:
分隔字元:指定用於切分日誌內容的字元。
樣本:對於CSV格式檔案,選擇自訂,輸入半形逗號(,)。
引用符:當某個欄位值中包含分隔字元時,需要指定引用符包裹該欄位,避免錯誤切割。
日誌提取欄位:按分隔順序依次為每一列設定對應的欄位名稱(Key)。規則要求如下:
欄位名只能包含:字母、數字、底線(_)。
必須以字母或底線(_)開頭。
最大長度:128位元組。
其他參數請參考情境二:結構化日誌中的通用配置參數說明。
標準JSON解析
將Object類型的JSON日誌結構化,解析為索引值對形式。
效果樣本:
未經任何處理的原始日誌 | 標準JSON索引值自動提取 |
| |
配置步驟:在Logtail配置頁面的處理配置地區,單擊添加處理外掛程式,選擇:
原始欄位:預設值為content(此欄位用於存放待解析的原始日誌內容)。
其他參數請參考情境二:結構化日誌中的通用配置參數說明。
嵌套JSON解析
通過指定展開深度,將嵌套的JSON日誌解析為索引值對形式。
效果樣本:
未經任何處理的原始日誌 | 展開深度:0,並使用展開深度作為首碼 | 展開深度:1,並使用展開深度作為首碼 |
| | |
配置步驟:在Logtail配置頁面的處理配置地區,單擊添加處理外掛程式,選擇:
原始欄位:需要展開的原始欄位名,例如
content。JSON展開深度:JSON對象的展開層級。0表示完全展開(預設值),1表示當前層級,以此類推。
JSON展開串連符:JSON展開時欄位名的串連符,預設為底線 _。
JSON展開欄位首碼:指定JSON展開後欄位名的首碼。
展開數組:開啟此項可將數組展開為帶索引的索引值對。
樣本:
{"k":["a","b"]}展開為{"k[0]":"a","k[1]":"b"}。如果需要對展開後的欄位進行重新命名(例如,將 prefix_s_key_k1 改為 new_field_name),可以後續再添加一個重新命名欄位外掛程式來完成映射。
其他參數請參考情境二:結構化日誌中的通用配置參數說明。
JSON數組解析
使用json_extract函數,從JSON數組中提取JSON對象。
效果樣本:
未經任何處理的原始日誌 | 提取JSON數組結構 |
| |
配置步驟:在Logtail配置頁面的處理配置地區,將處理模式切換為SPL,配置SPL語句,使用 json_extract函數從JSON數組中提取JSON對象。
樣本:從日誌欄位 content 中提取 JSON 數組中的元素,並將結果分別儲存在新欄位 json1和 json2 中。
* | extend json1 = json_extract(content, '$[0]'), json2 = json_extract(content, '$[1]')Apache日誌解析
根據Apache日誌設定檔中的定義將日誌內容結構化,解析為多個索引值對形式。
效果樣本:
未經任何處理的原始日誌 | Apache通用日誌格式 |
| |
配置步驟:在Logtail配置頁面的處理配置地區,單擊添加處理外掛程式,選擇:
日誌格式:combined。
APACHE配置欄位:系統會根據日誌格式自動填滿配置。
重要請務必核對自動填滿的內容,確保與伺服器上 Apache 設定檔(通常位於/etc/apache2/apache2.conf)中定義的 LogFormat 完全一致。
其他參數請參考情境二:結構化日誌中的通用配置參數說明。
IIS日誌解析
根據IIS日誌格式定義將日誌內容結構化,解析為多個索引值對形式。
對比樣本:
原始日誌 | 微軟IIS伺服器專用格式適配 |
| |
配置步驟:在Logtail配置頁面的處理配置地區,單擊添加處理外掛程式,選擇:
日誌格式:選擇您的IIS伺服器日誌採用的日誌格式。
IIS:Microsoft IIS記錄檔格式。
NCSA:NCSA公用記錄檔格式。
W3C:W3C擴充記錄檔格式。
IIS配置欄位:選擇IIS或NCSA時,Log Service已預設設定了IIS配置欄位,選擇W3C時,設定為您的IIS設定檔中
logExtFileFlags參數中的內容。例如:logExtFileFlags="Date, Time, ClientIP, UserName, SiteName, ComputerName, ServerIP, Method, UriStem, UriQuery, HttpStatus, Win32Status, BytesSent, BytesRecv, TimeTaken, ServerPort, UserAgent, Cookie, Referer, ProtocolVersion, Host, HttpSubStatus"其他參數請參考情境二:結構化日誌中的通用配置參數說明。
資料脫敏
對日誌中的敏感性資料進行脫敏處理。
效果樣本:
未經任何處理的原始日誌 | 脫敏結果 |
| |
配置步驟:在Logtail配置頁面的處理配置地區,單擊添加處理外掛程式,選擇:
時間解析
對日誌中的時間欄位進行解析,並將解析結果設定為日誌的__time__欄位。
效果樣本:
未經任何處理的原始日誌 | 時間解析 |
|
|
配置步驟:在Logtail配置頁面的處理配置地區,單擊添加處理外掛程式,選擇:
原始欄位:解析日誌前,用於存放日誌內容的原始欄位。
時間格式:根據日誌中的時間內容設定對應的時間格式。
時區:選擇日誌時間欄位所在的時區。預設使用機器時區,即LoongCollector(Logtail)進程所在環境的時區。
附錄:權限原則參考
阿里雲主帳號登入:預設擁有全部許可權,可直接操作。
RAM帳號登入:需要主帳號授權相應權限原則。
自訂權限原則(精細化控制)
當系統策略無法滿足最小許可權原則時,可通過建立自訂權限原則實現精細化授權。以下為權限原則樣本,包含的許可權有:
查看Project:查看Project列表,查看指定Project詳情。
管理日誌庫 (Logstore): 在Project下建立新的日誌庫,或修改、刪除已有的日誌庫。
管理採集配置: 建立、刪除和修改採集配置。
查看日誌: 查詢和分析指定Project下指定日誌庫中的資料。
替換${regionName}${uid}、${projectName}、${logstoreName}為實際的地區名稱,主帳號id,目標Project和Logstore。
許可權 | 對應操作 | 資源 |
唯讀Project |
|
|
擷取指定Project |
|
|
管理Logstore |
|
|
管理LoongCollector(Logtail)資料接入 |
|
|
查詢快速查詢 |
|
|
查詢儀錶盤 |
|
|
查詢指定日誌庫日誌 |
|
|
操作ECS的許可權 |
|
|
操作OOS的許可權(可選) 僅在Log Service與ECS執行個體同帳號同地區通過OOS自動化安裝LoongCollector(Logtail)時需要。 |
|
|
系統權限原則
若使用系統預定義策略,建議添加以下許可權:
AliyunLogFullAccess:管理Log Service的許可權。AliyunECSFullAccess:管理ECS的許可權。(可選)
AliyunOOSFullAccess:當通過 OOS 一鍵安裝LoongCollector(Logtail)時需要。






