知識マップ: Get-WinEventでイベントログを実務的に調べる ── 絞り込みの速さが調査時間を決める
記事「Get-WinEventでイベントログを実務的に調べる ── 絞り込みの速さが調査時間を決める」の主張を、概念と関係(エッジ)に分解した知識グラフの全体です。各関係には根拠・確認日・確度が付いています。
この記事はGet-WinEventによるイベントログ調査を扱い、Windows PowerShell専用でクラシックログしか読めないGet-EventLogに対しGet-WinEventがその後継であると位置づけます。絞り込みはWhere-Objectでパイプ後段に行うと全件を読み込んでから捨てるため遅くなり、FilterHashtableやFilterXPathでイベントログ側に絞り込ませることでこれを防げます。ToXml()のイベントデータを使えば表示言語に依存する値の揺れを避けられ、セキュリティログの読み取りには管理者権限かEvent Log Readersグループへの追加が必要です。複数台の調査は単発ならInvoke-Command、恒常的な集約ならWindowsイベント転送が推奨され、いずれも最終的にはGet-WinEventによる取得を前提とします。
flowchart LR
accTitle: Get-WinEventによるイベントログ調査の知識マップ
accDescr: Get-WinEventがGet-EventLogの後継であること、FilterHashtableとFilterXPathによるサーバー側の絞り込みが後段のWhere-Objectより優れること、ToXml()のイベントデータで言語非依存の値を取り出せること、セキュリティログの読み取り権限、複数台からの収集手段の関係を示す図
get_winevent["Get-WinEvent"]
filter_hashtable["FilterHashtable"]
get_eventlog["Get-EventLog"]
where_object["Where-Object"]
slow_eventlog_query["後段フィルタによる調査の遅延"]
filter_xpath["FilterXPath"]
task_scheduler_operational_log["TaskScheduler/Operationalログ"]
toxml_eventdata["ToXml()のイベントデータ(EventData)"]
locale_dependent_message["表示言語に依存するメッセージ表示"]
security_eventlog["セキュリティログ(Securityログ)"]
admin_rights["管理者権限"]
event_log_readers_group["Event Log Readersグループ"]
wevtutil["wevtutil"]
invoke_command["Invoke-Command"]
multi_server_log_collection["複数台のイベントログ収集"]
windows_event_forwarding["Windowsイベント転送(WEF)"]
eventlog_retention["イベントログの保持期間(ログサイズ)"]
get_winevent -->|"の後継"| get_eventlog
where_object -->|"原因になり得る"| slow_eventlog_query
filter_hashtable -->|"防止する"| slow_eventlog_query
filter_xpath -->|"防止する"| slow_eventlog_query
get_winevent -->|"利用する"| filter_hashtable
get_winevent -->|"利用する"| filter_xpath
filter_xpath -->|"推奨される対応"| task_scheduler_operational_log
get_winevent -->|"利用する"| toxml_eventdata
toxml_eventdata -->|"軽減する"| locale_dependent_message
security_eventlog -.->|"前提とする"| admin_rights
event_log_readers_group -->|"推奨される対応"| security_eventlog
get_winevent -.->|"利用する"| security_eventlog
security_eventlog -->|"で構成できる"| wevtutil
invoke_command -.->|"推奨される対応"| multi_server_log_collection
windows_event_forwarding -->|"推奨される対応"| multi_server_log_collection
multi_server_log_collection -.->|"前提とする"| get_winevent
get_winevent -.->|"利用する"| task_scheduler_operational_log
get_eventlog -->|"用いるのは非推奨"| task_scheduler_operational_log
get_winevent -.->|"前提とする"| eventlog_retention
eventlog_retention -->|"で構成できる"| wevtutil
概念間の関係(全20件)
図と同じ関係を文章でも列挙します。表示している文と機械可読な意味データ(RDFa)は同じ要素に載っています。確度が「確立した関係」のものは直接の関係として、「条件付きの関係」のものは成立条件つきの言明(rdf:Statement)として表現しています。
- Get-WinEventはGet-EventLogの後継に当たります。
- Where-Objectは後段フィルタによる調査の遅延の原因になることがあります。
- FilterHashtableは後段フィルタによる調査の遅延を防ぎます。
- FilterXPathは後段フィルタによる調査の遅延を防ぎます。
- Get-WinEventはFilterHashtableを利用します。
- Get-WinEventはFilterXPathを利用します。
- FilterXPathはTaskScheduler/Operationalログに対する本記事の推奨です。
- Get-WinEventはToXml()のイベントデータ(EventData)を利用します。
- ToXml()のイベントデータ(EventData)は表示言語に依存するメッセージ表示を軽減します。
- セキュリティログ(Securityログ)は管理者権限を前提とします。
- Event Log Readersグループはセキュリティログ(Securityログ)に対する本記事の推奨です。
- Get-WinEventはセキュリティログ(Securityログ)を利用します。
- セキュリティログ(Securityログ)はwevtutilで構成できます。
- Invoke-Commandは複数台のイベントログ収集に対する本記事の推奨です。
- Windowsイベント転送(WEF)は複数台のイベントログ収集に対する本記事の推奨です。
- 複数台のイベントログ収集はGet-WinEventを前提とします。
- Get-WinEventはTaskScheduler/Operationalログを利用します。
- Get-EventLogをTaskScheduler/Operationalログに用いることは推奨されません。
- Get-WinEventはイベントログの保持期間(ログサイズ)を前提とします。
- イベントログの保持期間(ログサイズ)はwevtutilで構成できます。
主要概念の定義
機械可読データ
このページはサイトの知識グラフ(_data/knowledge/)から自動生成されています。誤りの指摘はお問い合わせからお願いします。