當您使用Logtail採集日誌發生異常時,可通過Logtail自助診斷工具查看Logtail用戶端是否存在異常,並根據工具提示快速定位並解決問題。
Logtail自動診斷工具僅支援Linux系統的伺服器。
Logtail只採集增量日誌。如果下發Logtail採集配置後,記錄檔無更新,則Logtail不會採集該檔案。更多資訊,請參見讀取日誌。
診斷流程
下載及運行診斷工具
登入Linux伺服器。
下載診斷工具指令碼。
wget http://logtail-release.oss-cn-hangzhou.aliyuncs.com/linux64/checkingtool.sh -O checkingtool.sh
安裝curl工具。
Logtail自動診斷工具需通過curl工具進行網路連通性檢查,請確保目標伺服器已安裝curl工具。
運行診斷工具。
chmod 744 ./checkingtool.sh ./checkingtool.sh sh checkingtool.sh
系統將返回如下類似資訊。
[Info]: Logtail checking tool version : 0.3.0 [Input]: please choose which item you want to check : 1. MachineGroup heartbeat fail. 2. MachineGroup heartbeat is ok, but log files have not been collected. Item :
根據提示輸入
1
或2
,指令碼會根據您的選擇執行不同檢查流程。1
表示執行機器組心跳異常檢查。機器組心跳失敗時,請選擇此項。2
表示執行日誌採集檢查。機器組心跳成功,但記錄檔沒有被採集時,請選擇此項。
機器組心跳異常檢查
選擇機器組心跳異常檢查後,Logtail自動診斷工具將執行下述一系列的檢查。
檢查基礎環境是否正常。
是否安裝Logtail。
是否運行Logtail。
SSL狀態是否正常。
與Log Service之間是否有網路聯通。
[Info]: Logtail checking tool version : 0.3.0 [Input]: please choose which item you want to check : 1. MachineGroup heartbeat fail. 2. MachineGroup heartbeat is ok, but log files have not been collected. Item : 1 [Info]: Check logtail install files [Info]: Install file: ilogtail_config.json exists. [ OK ] [Info]: Install file: /etc/init.d/ilogtaild exists. [ OK ] [Info]: Install file: ilogtail exists. [ OK ] [Info]: Bin file: /usr/local/ilogtail/ilogtail_0.14.2 exists. [ OK ] [Info]: Logtail version : [ OK ] [Info]: Check logtail running status [Info]: Logtail is runnings. [ OK ] [Info]: Check network status [Info]: Logtail is using ip: 11.XX.XX.187 [Info]: Logtail is using UUID: 0DF18E97-0F2D-486F-B77F-XXXXXXXXXXXX [Info]: Check SSL status [Info]: SSL status OK. [ OK ] [Info]: Check logtail config server [Info]: config server address: http://config.sls.aliyun-inc.com [Info]: Logtail config server OK [ OK ]
如果出現
Error
資訊,請根據提示資訊進行處理。檢查您的伺服器是否為當前阿里雲帳號下的ECS。
[Input]: Is your server non-Alibaba Cloud ECS or not belong to the same account with the current Project of Log Service ? (y/N)
如果您的伺服器是當前阿里雲帳號下的ECS,則輸入
N
。如果您的伺服器是與Log Service屬於不同帳號的ECS、其他雲廠商的伺服器和自建IDC時,則輸入
y
。輸入
y
後,診斷工具將輸出本地配置的使用者標識資訊。請確認其中是否包含了您的阿里雲帳號ID。如果未包含,請配置使用者標識。具體操作,請參見配置使用者標識。[Input]: Is your server non-Alibaba Cloud ECS or not belong to the same account with the current Project of Log Service ? (y/N)y [Info]: Check aliyun user id(s) [Info]: aliyun user id : 126XXXXXXXXXX79 . [ OK ] [Info]: aliyun user id : 165XXXXXXXXXX50 . [ OK ] [Info]: aliyun user id : 189XXXXXXXXXX57 . [ OK ] [Input]: Is your project owner account ID is the above IDs ? (y/N)
檢查您Project所在地區是否和安裝Logtail時所選地區一致。
[Input]: please make sure your project is in this region : { cn-hangzhou } (y/N) :
如果不一致,請重新安裝Logtail。具體操作,請參見安裝Logtail(Linux系統)。
檢查您機器組中配置的IP地址或使用者自訂標識是否與提示資訊中的一致。
[Input]: please make sure your machine group's ip is same with : { 11.XX.XX.187 } or your machine group's userdefined-id is in : { XX-XXXXX } (y/N) :
如果不一致,請修改機器組中的IP地址或使用者自訂標識。更多資訊,請參見修改機器組。
檢查日誌採集檢查
選擇日誌採集檢查後,Logtail自動診斷工具將執行下述一系列的檢查。
檢查您機器組中配置的IP地址是否與提示資訊中的一致。
[Input]: please make sure your machine group's ip is same with : { 11.XX.XX.187 } (y/N) :
如果不一致,請修改機器組中的IP地址。具體操作,請參見修改機器組。
檢查您的Logtail採集配置是否已應用到目標機器組中。
[Input]: please make sure you have applied collection config to the machine group (y/N) :Y
如果未應用,請將您的Logtail採集配置應用到目標機器組中。具體操作,請參見應用Logtail採集配置。
檢查Logtail採集配置中的記錄檔路徑是否正確。
檢查時,請輸入您需要檢查的記錄檔全路徑。如果未找到匹配項,請確認配置的路徑是否可以匹配目標檔案。
如果配置錯誤,請修改Logtail採集配置,然後等待1分鐘後再次執行此指令碼重新檢查。如何修改Logtail採集配置,請參見修改Logtail採集配置。
[Input]: please input your log file's full path (eg. /var/log/nginx/access.log) :/disk2/logs/access.log [Info]: Check specific log file [Info]: Check if specific log file [ /disk2/logs/access.log ] is included by user config. [Warning]: Specific log file doesnt exist. [ Warning ] [Info]: Matched config found: [ OK ] [Info]: [Project] -> sls-zc-xxxxxx [Info]: [Logstore] -> release-xxxxxxx [Info]: [LogPath] -> /disk2/logs [Info]: [FilePattern] -> *.log
檢查通過但採集依然異常
如果所有的檢查全部通過,但仍然採集異常,請在指令碼最後的選擇中輸入y
並斷行符號確認。系統將返回如下資訊。
[Input]: please make sure all the check items above have passed. If the problem persists, please copy all the outputs and submit a ticket in the ticket system. : (y/N)y
請提交工單,並在工單中提供檢查指令碼輸出的資訊。
運行快速檢查
運行快速檢查時,您無需確認。快速檢查可用於二次封裝自訂檢查指令碼。
運行快速檢查時,會輸出您在Logtail用戶端中配置的使用者標識(阿里雲帳號ID)和機器組的自訂使用者標識。如果不存在,也不會警示。如果您設定了這些資訊,請查看提示資訊中的內容與您設定的是否一致。如果不一致,請按照以下方法重新設定。
您可以運行./checkingtool.sh --logFile [LogFileFullPath]
命令進行快速檢查。 如果提示異常,請根據提示資訊進行處理。
如果指定的記錄檔檢查通過且Logtail運行環境正常,建議在Log Service控制台中查看該配置項的異常日誌。更多資訊,請參見如何查看Logtail採集錯誤資訊。
Logtail採集異常的常見問題
運行Logtail自動診斷工具後,可以診斷Logtail採集異常的原因,您可以根據具體原因尋找對應的解決方案。常見Logtail採集問題原因及解決方案如下。
常見問題 | 解決方案 |
安裝檔案丟失 | 重裝Logtail。 |
Logtail未運行 | 執行 |
多個Logtail進程 |
|
443連接埠被禁用 | 在防火牆中,開啟443連接埠。 |
無法找到設定管理員 | 確認是否已正確安裝Linux Logtail。 如果安裝錯誤,請重新執行安裝命令。更多資訊,請參見安裝Logtail(Linux系統)。 |
不存在使用者配置 | 確認是否已執行以下操作:
|
沒有匹配指定記錄檔 | 確認是否正確建立Logtail採集配置。 |
指定記錄檔匹配多次 | 匹配多次時,Logtail會隨機播放一個Logtail採集配置。建議去重。 |
診斷工具常用參數
常用參數 | 說明 |
| 查看協助文檔。 |
| 檢測Logtail是否採集 |
| 只檢測Logtail是否採集 |
| 只檢測Logtail運行環境。 |