Wazuhは、データを2か所に保存します。Wazuhマネージャーでは、警告が/var/ossec/logs/alerts/alerts.jsonに書き込まれ、1行につき1つのJSONオブジェクトがあり、日付ごとに圧縮ファイルに回転されます。同じ警告がWazuhインデクサー(OpenSearch)のwazuh-alerts-4.x-*にインデックスされています。いずれにしても、警告をトリガーした元のログ行はfull_log内にあります。ルールに一致したものだけでなく、すべてのイベントをエクスポートするためには、マネージャーでアーカイブ機能をオンにする必要があります。
Wazuhは最も広く使用されているオープンソースのSIEMおよびXDRであり、そのデータは、どこを探せばよいか知っていれば簡単に取得できます。Prime Coreには、671のMITRE ATT&CKテクニックにマッピングされた、Wazuh用の23,542の検出ルールがあります。以下に、警告とイベントをエクスポートし、それらを洗浄し、LogTotalで無料で調査する方法を示します。
始める前に
警告またはアーカイブ? 警告は、警告レベルの閾値を超えるWazuhルールに一致したイベントです。アーカイブは、マネージャーが受信したすべてのものを保持しますが、ossec.confでlogall_jsonが有効になっている場合に限ります。「そのホストで他に何が起こったのか?」という質問がある場合は、アーカイブを使用します。そして、アーカイブはオンにされた瞬間からしか存在しません。
権限。 マネージャーでは、ファイルはwazuhユーザーおよびグループの所有物なので、sudoを使用します。インデクサーでは、アラートインデックスへの読み取りアクセスを持つユーザーが必要です。
保存期間。 マネージャーの回転したファイルは、誰かが削除するまで残ります。インデクサーは、そのインデックスライフサイクルポリシーが許可するものを保持します。
オプション1: マネージャー上のファイル
# 今日の警告
sudo cp /var/ossec/logs/alerts/alerts.json ./wazuh_alerts_today.jsonl
# 過去の日(回転および圧縮済み)
sudo zcat /var/ossec/logs/alerts/2026/Oct/ossec-alerts-19.json.gz > wazuh_alerts_1019.jsonl
# 1つのエージェントのみ
jq -c 'select(.agent.name == "web-03")' wazuh_alerts_1019.jsonl > web-03_alerts_1019.jsonl
# 警告に関連する元のログ行
jq -r '.full_log // empty' web-03_alerts_1019.jsonl > web-03_raw_1019.log
アーカイブが有効の場合、同じパターンが/var/ossec/logs/archives/archives.jsonとその/var/ossec/logs/archives/<年>/<月>/以下の回転したファイルに対しても機能します。
オプション2: Wazuhインデクサー
インデクサーはOpenSearchなので、私たちのアプローチはそのまま使えます。それをwazuh-alerts-*に指し示し、agent.nameとtimestampでフィルターします:
query = {"query": {"bool": {"filter": [
{"term": {"agent.name": "web-03"}},
{"range": {"timestamp": {"gte": "2026-10-19T00:00:00Z", "lt": "2026-10-20T00:00:00Z"}}},
]}}}
Wazuhダッシュボードはレポートを生成することもできますが、LogTotalが現在読み取れる形式ではありません。
LogTotalにアップロード、洗浄およびレビュー
- アップロード。 開く logtotal.com ファイルをドロップ:アラートJSON、またはfull_logからの生ログ行。
- 洗浄。
- レビュー。
問題発生時
| 症状 | 考えられる原因 | Fix |
|---|---|---|
| マネージャーで許可が拒否されました | ファイルはwazuhユーザーが所有しています | sudoを使用する |
| archives.jsonが空または欠落しています | logall_jsonが有効になっていません | 将来に向けて有効にする;過去には警告を使用 |
| 過去の日にファイルがありません | 異なる回転パスまたは命名 | /var/ossec/logs/alerts/<year>/<month>/をリストする |
| 一部の警告にfull_logがありません | すべての警告がログ行から来るわけではありません(整合性チェック、脆弱性検出) | その代わりにアラートJSONをアップロードする |
| インデクサーが403を返します | ユーザーがwazuh-alerts-*への読み取りアクセスを持っていません | アラートインデックスでの読み取りを許可 |
FAQ
Wazuh APIを使用して警告をエクスポートできますか?
WazuhサーバーAPIはエージェントと構成を管理するためのもので、警告を検索するためのものではありません。ファイルまたはインデクサーを使用してください。
生ログ行またはアラートJSON?
LogTotalがオリジナルログで独自の検出を行う場合は生ログ行(full_log)、ファイルにWazuhのルール一致も望む場合はアラートJSON。