Logman | How to collect Windows Performance Log with Logman

瀏覽人次: 857
2024-05-28 更新

收集系統效能計數器方式介紹


  1. Performance Counter 和 Logman 都是Microsoft
    上收集系統效能計數器的方式, 差別是 Logman 為指令,Performance
    Counter 有提供 UI, 2 個的功用相同, 用 Performance Counter
    也可以收集, 但需要逐一的點選。

    本篇教學使用Logman指令進行效能計數器收集,收集的六大類 OS
    內容包含如下:

    1. System 的所有計數器
    2. LogicalDisk 的所有計數器
    3. Memory 的所有計數器
    4. Network Interface 的所有計數器
    5. Processor 的所有計數器
    6. 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:\WinLogPoc\%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 sshbimap.key "C:\WinLogPoc\UPLOAD\*.csv" [email protected]:~/scp_logman"
      move /Y c:\WinLogPoc\UPLOAD\*.csv c:\WinLogPoc\SENT


    完成以上步驟後,c:WinLogPoc配置如下所示:

    logman


    2. 以工作管理員身份開啟 Power Shell

    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:\UsersAdministrator> schtasks.exe /create /sc hourly /st 00:00 /tn "WinLogPocJob" /tr c:\WinLogPoc\collectLog.bat /ru system

     

    6. 確認任務有沒有添加成功

    Next Run Time 會是現在時間的下一個整點

    PS C:\UsersAdministrator> schtasks.exe /query /tn "WinLogPocJob"
      
      Folder: 
      TaskName                                 Next Run Time          Status
      ======================================== ====================== ===============
      WinLogPocJob                             1/3/2023 3:00:00 PM    Ready

    • 也可以打開 Task Scheduler 在 UI 介面上確認任務狀態logman

結論

通常 BiMAP 最常與企業討論兩件事,一為如何收集
Log,二為收集哪些數據才有用?

 


因為層層資安的問題,導致在收集 Log 時常會遇到,無法安裝 agent
的問題,此時 Windows 中自帶的 logman
則是一個很好的採集方法,再搭配數據分析工具,盡可能的縮小問題範圍,
BiMAP 獨創開發的 iPOC 關聯式效能分析平台,可以將 logman 日誌做自動化的分析,並且將效能數據進一步梳理與資料視覺化,幫助更多企業在維運分析系統收集核心應用運行過程中,更有效率的解決問題

快速跳轉目錄

✦ 集先鋒 Bimap – 企業建置高速穩定的海量日誌分析平台✦

集中不同的結構化資料和非結構化日誌,並進行關聯性的大數據整合,客製化儀表版、自訂事件告警、機器學習等等,以滿足各種大數據的應用場景和解決方案。