Logman | How to collect Windows Performance Log with Logman
收集系統效能計數器方式介紹
-
Performance Counter 和 Logman 都是Microsoft 上收集系統效能計數器的方式, 差別是 Logman 為指令,Performance Counter 有提供 UI, 2 個的功用相同, 用 Performance Counter 也可以收集, 但需要逐一的點選。
本篇教學使用Logman指令進行效能計數器收集,收集的六大類 OS 內容包含如下:
- System 的所有計數器
- LogicalDisk 的所有計數器
- Memory 的所有計數器
- Network Interface 的所有計數器
- Processor 的所有計數器
- Paging File 的所有計數器
使用 logman 命令收集流程
1. Disk C 底下新增一個 WinLogPoc 的資料夾,裡面建立 4 個項目如下:
(1)
UPLOAD
空資料夾 :每收集一個小時的Log檔案會移動到此資料夾,等待傳送
(2)
SENT
空資料夾 :在 UPLOAD 資料夾內的檔案若傳送完成,會移動到此資料夾做保存
(3)
createLog.cmd
檔案 :•
-si 60
代表每60秒採集一次,可以依據具體需求調整為 30 秒或是 15 秒•
-f csv
保存成為 csv 格式, 日誌文件比較小,不要保存為二進制格式(文件大小會太大)logman.exe stop MSPOC logman.exe delete MSPOC logman.exe create counter MSPOC -o c:\TTPOC\%COMPUTERNAME% -f csv -v mmddhhmm -c "\System\*" "\LogicalDisk(*)\*" "\Memory\*" "\Network Interface(*)\*" "\Paging File(*)\*" "\Processor(*)\*" -si 60 logman.exe start MSPOC
(4)
collectLog.bat
檔案 :• 收集的 log 檔以 scp 方式傳送到別台 server,路徑名稱需做修改
logman.exe stop MSPOC move /Y C:\WinLogPoc\*.csv C:\WinLogPoc\UPLOAD logman.exe start MSPOC Powershell.exe "scp -i C:\Users\Administrator\.ssh\bimap.key "C:\WinLogPoc\UPLOAD\*.csv" [email protected]:~/scp_logman" move /Y c:\WinLogPoc\UPLOAD\*.csv c:\WinLogPoc\SENT
• 完成以上步驟後,
c:\WinLogPoc
配置如下所示:2. 以工作管理員身份開啟 Power Shell
3. 執行
createLog.cmd
.\createLog.cmd
4. 檢查 Log 檔案有無收集成功
•
c:\WinLogPoc
資料夾底下會多出一個副檔名為.csv
的 Log 檔案PS C:\WinLogPoc> ls Directory: C:\WinLogPoc Mode LastWriteTime Length Name ---- ------------- ------ ---- d----- 1/3/2023 1:39 PM SENT d----- 1/3/2023 1:39 PM UPLOAD ------ 1/3/2023 1:50 PM 273 collectLog.bat ------ 1/3/2023 1:50 PM 259 createLog.cmd -a---- 1/3/2023 1:51 PM 29290 WIN-AFQ0NC0G3K8_01031350.csv
5. schtasks 設定
collectLog.bat
每小時運行一次• hourly 是每小時執行一次(每天會有24個檔案),一天執行一次的話可以將 hourly改成 daily
•
/tn "WinLogPocJob"
是設定任務名稱為 WinLogPocJob•
/st 00:00
代表任務從整點 00:00 開始生效PS C:\Users\Administrator> schtasks.exe /create /sc hourly /st 00:00 /tn "WinLogPocJob" /tr c:\WinLogPoc\collectLog.bat
6. 確認任務有沒有添加成功
•
Next Run Time
會是現在時間的下一個整點PS C:\Users\Administrator> schtasks.exe /query /tn "WinLogPocJob" Folder: \ TaskName Next Run Time Status ======================================== ====================== =============== WinLogPocJob 1/3/2023 3:00:00 PM Ready
• 也可以打開
Task Scheduler
在 UI 介面上確認任務狀態
結論
通常 BiMAP 最常與企業討論兩件事,一為如何收集 Log,二為收集哪些數據才有用?
因為層層資安的問題,導致在收集 Log 時常會遇到,無法安裝 agent 的問題,此時 Windows 中自帶的 logman 則是一個很好的採集方法,再搭配數據分析工具,盡可能的縮小問題範圍,BiMAP 獨創開發的 iPOC 關聯式效能分析平台,可以將 logman 日誌做自動化的分析,並且將效能數據進一步梳理與資料視覺化,幫助更多企業在維運分析系統收集核心應用運行過程中,更有效率的解決問題。