<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://onnocenter.or.id/wiki/index.php?action=history&amp;feed=atom&amp;title=Cyber_Security%3A_Ollama%3A_Analisa_Full_Log_JSONL</id>
	<title>Cyber Security: Ollama: Analisa Full Log JSONL - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://onnocenter.or.id/wiki/index.php?action=history&amp;feed=atom&amp;title=Cyber_Security%3A_Ollama%3A_Analisa_Full_Log_JSONL"/>
	<link rel="alternate" type="text/html" href="https://onnocenter.or.id/wiki/index.php?title=Cyber_Security:_Ollama:_Analisa_Full_Log_JSONL&amp;action=history"/>
	<updated>2026-06-22T17:51:41Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.35.4</generator>
	<entry>
		<id>https://onnocenter.or.id/wiki/index.php?title=Cyber_Security:_Ollama:_Analisa_Full_Log_JSONL&amp;diff=73608&amp;oldid=prev</id>
		<title>Onnowpurbo: /* 6. Preprocessing dan kirim ke Ollama */</title>
		<link rel="alternate" type="text/html" href="https://onnocenter.or.id/wiki/index.php?title=Cyber_Security:_Ollama:_Analisa_Full_Log_JSONL&amp;diff=73608&amp;oldid=prev"/>
		<updated>2026-06-19T06:29:49Z</updated>

		<summary type="html">&lt;p&gt;&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;6. Preprocessing dan kirim ke Ollama&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left diff-editfont-monospace&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 06:29, 19 June 2026&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l201&quot; &gt;Line 201:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 201:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;= 7. Memantau event baru secara langsung&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;= 7. Memantau event baru secara langsung&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;=&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  sudo python3 /opt/wazuh-ollama/wazuh_sensor_to_ollama.py \&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  sudo python3 /opt/wazuh-ollama/wazuh_sensor_to_ollama.py \&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l221&quot; &gt;Line 221:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 221:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* script mencoba mendeteksi rotasi file Wazuh;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* script mencoba mendeteksi rotasi file Wazuh;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* tekan `Ctrl+C` untuk menghentikan.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* tekan `Ctrl+C` untuk menghentikan.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;= Filter yang tersedia=&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;= Filter yang tersedia=&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Onnowpurbo</name></author>
	</entry>
	<entry>
		<id>https://onnocenter.or.id/wiki/index.php?title=Cyber_Security:_Ollama:_Analisa_Full_Log_JSONL&amp;diff=73607&amp;oldid=prev</id>
		<title>Onnowpurbo at 06:29, 19 June 2026</title>
		<link rel="alternate" type="text/html" href="https://onnocenter.or.id/wiki/index.php?title=Cyber_Security:_Ollama:_Analisa_Full_Log_JSONL&amp;diff=73607&amp;oldid=prev"/>
		<updated>2026-06-19T06:29:33Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left diff-editfont-monospace&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 06:29, 19 June 2026&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l15&quot; &gt;Line 15:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 15:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* menyimpan data preprocessing dan hasil analisis Ollama dalam format JSONL.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* menyimpan data preprocessing dan hasil analisis Ollama dalam format JSONL.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Sumber data yang digunakan&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Sumber data yang digunakan&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;==&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Untuk '''data sensor penuh''', gunakan:&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Untuk '''data sensor penuh''', gunakan:&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Onnowpurbo</name></author>
	</entry>
	<entry>
		<id>https://onnocenter.or.id/wiki/index.php?title=Cyber_Security:_Ollama:_Analisa_Full_Log_JSONL&amp;diff=73606&amp;oldid=prev</id>
		<title>Onnowpurbo: Created page with &quot;== Script Python==  [Download `wazuh_sensor_to_ollama.py`](sandbox:/mnt/data/wazuh_sensor_to_ollama.py)  Script sudah:  * diperiksa sintaks Python-nya; * diuji dengan contoh e...&quot;</title>
		<link rel="alternate" type="text/html" href="https://onnocenter.or.id/wiki/index.php?title=Cyber_Security:_Ollama:_Analisa_Full_Log_JSONL&amp;diff=73606&amp;oldid=prev"/>
		<updated>2026-06-19T06:29:23Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;== Script Python==  [Download `wazuh_sensor_to_ollama.py`](sandbox:/mnt/data/wazuh_sensor_to_ollama.py)  Script sudah:  * diperiksa sintaks Python-nya; * diuji dengan contoh e...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;== Script Python==&lt;br /&gt;
&lt;br /&gt;
[Download `wazuh_sensor_to_ollama.py`](sandbox:/mnt/data/wazuh_sensor_to_ollama.py)&lt;br /&gt;
&lt;br /&gt;
Script sudah:&lt;br /&gt;
&lt;br /&gt;
* diperiksa sintaks Python-nya;&lt;br /&gt;
* diuji dengan contoh event Wazuh;&lt;br /&gt;
* tidak membutuhkan library Python tambahan;&lt;br /&gt;
* membaca seluruh event dari `archives.json`;&lt;br /&gt;
* menyensor password, token, API key, cookie, dan credential;&lt;br /&gt;
* mempertahankan IP, hostname, agent, rule, serta bukti keamanan;&lt;br /&gt;
* menggabungkan event duplikat;&lt;br /&gt;
* membagi event menjadi batch agar prompt Ollama tidak terlalu besar;&lt;br /&gt;
* menyimpan data preprocessing dan hasil analisis Ollama dalam format JSONL.&lt;br /&gt;
&lt;br /&gt;
== Sumber data yang digunakan&lt;br /&gt;
&lt;br /&gt;
Untuk '''data sensor penuh''', gunakan:&lt;br /&gt;
&lt;br /&gt;
 /var/ossec/logs/archives/archives.json&lt;br /&gt;
&lt;br /&gt;
Berbeda dengan `alerts.json`, file tersebut dapat menyimpan seluruh event yang diterima Wazuh, termasuk event yang tidak memicu rule. Fitur archive JSON dinonaktifkan secara bawaan karena dapat menggunakan ruang penyimpanan besar. ([Wazuh][1])&lt;br /&gt;
&lt;br /&gt;
Alurnya:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 Wazuh Agent dan perangkat jaringan&lt;br /&gt;
               ↓&lt;br /&gt;
        archives.json&lt;br /&gt;
               ↓&lt;br /&gt;
      Validasi dan normalisasi&lt;br /&gt;
               ↓&lt;br /&gt;
  Sensor password, token, credential&lt;br /&gt;
               ↓&lt;br /&gt;
  Deduplikasi dan pengelompokan batch&lt;br /&gt;
               ↓&lt;br /&gt;
      preprocessed_wazuh.jsonl&lt;br /&gt;
               ↓&lt;br /&gt;
           Ollama API&lt;br /&gt;
               ↓&lt;br /&gt;
    ollama_wazuh_analysis.jsonl&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= 1. Aktifkan arsip JSON Wazuh=&lt;br /&gt;
&lt;br /&gt;
Periksa konfigurasi:&lt;br /&gt;
&lt;br /&gt;
 sudo grep -n &amp;quot;logall_json&amp;quot; /var/ossec/etc/ossec.conf&lt;br /&gt;
&lt;br /&gt;
Penjelasan:&lt;br /&gt;
&lt;br /&gt;
* `sudo`: menjalankan perintah dengan hak administrator.&lt;br /&gt;
* `grep`: mencari teks di dalam file.&lt;br /&gt;
* `-n`: menampilkan nomor baris.&lt;br /&gt;
* `logall_json`: konfigurasi penyimpanan seluruh event dalam JSON.&lt;br /&gt;
&lt;br /&gt;
Edit konfigurasi:&lt;br /&gt;
&lt;br /&gt;
 sudo nano /var/ossec/etc/ossec.conf&lt;br /&gt;
&lt;br /&gt;
Di dalam bagian `&amp;lt;global&amp;gt;`, pastikan ada:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;global&amp;gt;&lt;br /&gt;
   &amp;lt;logall_json&amp;gt;yes&amp;lt;/logall_json&amp;gt;&lt;br /&gt;
 &amp;lt;/global&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Jangan membuat `&amp;lt;global&amp;gt;` kedua apabila bagian tersebut sudah tersedia. Masukkan `logall_json` ke bagian yang sudah ada.&lt;br /&gt;
&lt;br /&gt;
Restart Wazuh Manager:&lt;br /&gt;
&lt;br /&gt;
 sudo systemctl restart wazuh-manager&lt;br /&gt;
&lt;br /&gt;
Wazuh mendokumentasikan bahwa `logall_json=yes` menyimpan seluruh event ke `archives.json`; perubahan konfigurasi diterapkan setelah Wazuh Manager dimulai ulang. ([Wazuh][2])&lt;br /&gt;
&lt;br /&gt;
Periksa apakah file mulai terisi:&lt;br /&gt;
&lt;br /&gt;
 sudo ls -lh /var/ossec/logs/archives/archives.json&lt;br /&gt;
&lt;br /&gt;
Lihat tiga event terakhir:&lt;br /&gt;
&lt;br /&gt;
 sudo tail -n 3 /var/ossec/logs/archives/archives.json&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= 2. Pasang script=&lt;br /&gt;
&lt;br /&gt;
Buat direktori:&lt;br /&gt;
&lt;br /&gt;
 sudo mkdir -p /opt/wazuh-ollama/output&lt;br /&gt;
&lt;br /&gt;
Salin script yang sudah diunduh:&lt;br /&gt;
&lt;br /&gt;
 sudo cp ~/Downloads/wazuh_sensor_to_ollama.py /opt/wazuh-ollama/&lt;br /&gt;
&lt;br /&gt;
Buat script dapat dieksekusi:&lt;br /&gt;
&lt;br /&gt;
 sudo chmod +x /opt/wazuh-ollama/wazuh_sensor_to_ollama.py&lt;br /&gt;
&lt;br /&gt;
= 3. Pastikan Ollama Docker dapat diakses=&lt;br /&gt;
&lt;br /&gt;
Periksa container:&lt;br /&gt;
&lt;br /&gt;
 docker ps --format &amp;quot;table {{.Names}}\t{{.Image}}\t{{.Ports}}&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Pastikan container Ollama memperlihatkan port seperti:&lt;br /&gt;
&lt;br /&gt;
 0.0.0.0:11434-&amp;gt;11434/tcp&lt;br /&gt;
&lt;br /&gt;
Uji API Ollama dari host:&lt;br /&gt;
&lt;br /&gt;
 curl http://127.0.0.1:11434/api/tags&lt;br /&gt;
&lt;br /&gt;
Endpoint `/api/tags` menampilkan model yang tersedia pada Ollama. Script menggunakan endpoint `/api/generate` dan JSON Schema agar hasil analisis terstruktur. ([Ollama Docs][3])&lt;br /&gt;
&lt;br /&gt;
Periksa nama model:&lt;br /&gt;
&lt;br /&gt;
 docker exec -it ollama ollama list&lt;br /&gt;
&lt;br /&gt;
Contoh:&lt;br /&gt;
&lt;br /&gt;
 qwen3:4b&lt;br /&gt;
&lt;br /&gt;
Script secara bawaan menggunakan model tersebut.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= 4. Uji preprocessing tanpa Ollama=&lt;br /&gt;
&lt;br /&gt;
Jalankan:&lt;br /&gt;
&lt;br /&gt;
 sudo python3 /opt/wazuh-ollama/wazuh_sensor_to_ollama.py \&lt;br /&gt;
   --mode batch \&lt;br /&gt;
   --limit 100 \&lt;br /&gt;
   --dry-run&lt;br /&gt;
&lt;br /&gt;
Arti opsi:&lt;br /&gt;
&lt;br /&gt;
* `--mode batch`: membaca data sejumlah tertentu lalu berhenti.&lt;br /&gt;
* `--limit 100`: membaca 100 baris terakhir.&lt;br /&gt;
* `--dry-run`: menampilkan hasil preprocessing tanpa menulis file dan tanpa menghubungi Ollama.&lt;br /&gt;
* `\`: melanjutkan perintah ke baris berikutnya.&lt;br /&gt;
&lt;br /&gt;
Hasilnya akan memperlihatkan struktur seperti:&lt;br /&gt;
&lt;br /&gt;
 {&lt;br /&gt;
   &amp;quot;batch_id&amp;quot;: &amp;quot;...&amp;quot;,&lt;br /&gt;
   &amp;quot;metadata&amp;quot;: {&lt;br /&gt;
     &amp;quot;unique_events&amp;quot;: 12,&lt;br /&gt;
     &amp;quot;total_occurrences&amp;quot;: 27,&lt;br /&gt;
     &amp;quot;top_agents&amp;quot;: [],&lt;br /&gt;
     &amp;quot;source_categories&amp;quot;: []&lt;br /&gt;
   },&lt;br /&gt;
   &amp;quot;events&amp;quot;: []&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= 5. Simpan hasil preprocessing=&lt;br /&gt;
&lt;br /&gt;
 sudo python3 /opt/wazuh-ollama/wazuh_sensor_to_ollama.py \&lt;br /&gt;
   --mode batch \&lt;br /&gt;
   --limit 1000 \&lt;br /&gt;
   --output /opt/wazuh-ollama/output/preprocessed_wazuh.jsonl &lt;br /&gt;
&lt;br /&gt;
Perintah tersebut belum mengirim data ke Ollama.&lt;br /&gt;
&lt;br /&gt;
Lihat hasil:&lt;br /&gt;
&lt;br /&gt;
 sudo tail -n 1 \&lt;br /&gt;
   /opt/wazuh-ollama/output/preprocessed_wazuh.jsonl \&lt;br /&gt;
   | python3 -m json.tool&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= 6. Preprocessing dan kirim ke Ollama=&lt;br /&gt;
&lt;br /&gt;
 sudo python3 /opt/wazuh-ollama/wazuh_sensor_to_ollama.py \&lt;br /&gt;
   --mode batch \&lt;br /&gt;
   --limit 500 \&lt;br /&gt;
   --max-events-per-batch 25 \&lt;br /&gt;
   --max-chars-per-batch 45000 \&lt;br /&gt;
   --send-ollama \&lt;br /&gt;
   --ollama-url http://127.0.0.1:11434 \&lt;br /&gt;
   --model qwen3:4b \&lt;br /&gt;
   --output /opt/wazuh-ollama/output/preprocessed_wazuh.jsonl \&lt;br /&gt;
   --analysis-output /opt/wazuh-ollama/output/ollama_analysis.jsonl&lt;br /&gt;
&lt;br /&gt;
Opsi penting:&lt;br /&gt;
&lt;br /&gt;
* `--max-events-per-batch 25`: maksimal 25 pola event unik dalam satu permintaan Ollama.&lt;br /&gt;
* `--max-chars-per-batch 45000`: membatasi perkiraan ukuran prompt.&lt;br /&gt;
* `--send-ollama`: mengaktifkan pengiriman ke Ollama.&lt;br /&gt;
* `--ollama-url`: alamat API Ollama.&lt;br /&gt;
* `--model`: model yang digunakan.&lt;br /&gt;
* `--output`: data hasil preprocessing.&lt;br /&gt;
* `--analysis-output`: hasil analisis Ollama.&lt;br /&gt;
&lt;br /&gt;
Lihat analisis terbaru:&lt;br /&gt;
&lt;br /&gt;
 sudo tail -n 1 \&lt;br /&gt;
   /opt/wazuh-ollama/output/ollama_analysis.jsonl \&lt;br /&gt;
   | python3 -m json.tool&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= 7. Memantau event baru secara langsung&lt;br /&gt;
&lt;br /&gt;
 sudo python3 /opt/wazuh-ollama/wazuh_sensor_to_ollama.py \&lt;br /&gt;
   --mode follow \&lt;br /&gt;
   --window-size 200 \&lt;br /&gt;
   --flush-seconds 30 \&lt;br /&gt;
   --send-ollama \&lt;br /&gt;
   --ollama-url http://127.0.0.1:11434 \&lt;br /&gt;
   --model qwen3:4b \&lt;br /&gt;
   --output /opt/wazuh-ollama/output/preprocessed_live.jsonl \&lt;br /&gt;
   --analysis-output /opt/wazuh-ollama/output/ollama_live.jsonl&lt;br /&gt;
&lt;br /&gt;
Artinya:&lt;br /&gt;
&lt;br /&gt;
* script menunggu event baru;&lt;br /&gt;
* setiap 200 event, event diproses menjadi batch;&lt;br /&gt;
* apabila 200 event belum terkumpul dalam 30 detik, window tetap diproses;&lt;br /&gt;
* event duplikat digabung dan diberi `occurrence_count`;&lt;br /&gt;
* script mencoba mendeteksi rotasi file Wazuh;&lt;br /&gt;
* tekan `Ctrl+C` untuk menghentikan.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Filter yang tersedia=&lt;br /&gt;
&lt;br /&gt;
Hanya event dari agent tertentu:&lt;br /&gt;
&lt;br /&gt;
 --agent web-server-01&lt;br /&gt;
&lt;br /&gt;
Hanya event autentikasi:&lt;br /&gt;
&lt;br /&gt;
 --source-category authentication&lt;br /&gt;
&lt;br /&gt;
Beberapa kategori:&lt;br /&gt;
&lt;br /&gt;
 --source-category authentication \&lt;br /&gt;
 --source-category web \&lt;br /&gt;
 --source-category firewall&lt;br /&gt;
&lt;br /&gt;
Hanya event yang memiliki rule level minimal 7:&lt;br /&gt;
&lt;br /&gt;
 --min-rule-level 7&lt;br /&gt;
&lt;br /&gt;
Namun untuk benar-benar mengambil '''seluruh data sensor''', biarkan:&lt;br /&gt;
&lt;br /&gt;
 --min-rule-level 0&lt;br /&gt;
&lt;br /&gt;
Level `0` pada script berarti event tanpa rule tetap diterima.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Catatan penting Docker=&lt;br /&gt;
&lt;br /&gt;
Script sebaiknya dijalankan pada '''host Wazuh Manager''', bukan di dalam container Ollama. Container Ollama biasanya tidak mempunyai akses ke:&lt;br /&gt;
&lt;br /&gt;
 /var/ossec/logs/archives/archives.json&lt;br /&gt;
&lt;br /&gt;
kecuali direktori Wazuh secara eksplisit di-*mount* ke container.&lt;br /&gt;
&lt;br /&gt;
Konfigurasi yang disarankan:&lt;br /&gt;
&lt;br /&gt;
 Host Wazuh Manager&lt;br /&gt;
 ├── archives.json&lt;br /&gt;
 ├── script Python&lt;br /&gt;
 └── Docker Ollama&lt;br /&gt;
        └── port 11434 dipublikasikan ke host&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Dengan konfigurasi tersebut, alamat Ollama adalah:&lt;br /&gt;
&lt;br /&gt;
 http://127.0.0.1:11434&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Hasil LLM harus diperlakukan sebagai '''rekomendasi analisis''', bukan langsung digunakan untuk menjalankan *active response* otomatis tanpa validasi analis manusia.&lt;br /&gt;
&lt;br /&gt;
 [1]: https://documentation.wazuh.com/current/user-manual/manager/event-logging.html?utm_source=chatgpt.com &amp;quot;Event logging - Wazuh server&amp;quot;&lt;br /&gt;
 [2]: https://documentation.wazuh.com/current/user-manual/reference/ossec-conf/global.html?utm_source=chatgpt.com &amp;quot;global - Local configuration (ossec.conf)&amp;quot;&lt;br /&gt;
 [3]: https://docs.ollama.com/capabilities/structured-outputs?utm_source=chatgpt.com &amp;quot;Structured Outputs&amp;quot;&lt;/div&gt;</summary>
		<author><name>Onnowpurbo</name></author>
	</entry>
</feed>