ตรวจจับ Log Anomaly อัตโนมัติด้วย Garudust Agent 🦅

ตรวจจับ Log Anomaly อัตโนมัติด้วย Garudust Agent 🦅

ถ้าคุณเคยนั่งไล่ดู log ไฟล์ที่ยาวหลายหมื่นบรรทัดเพื่อหาว่า “มันพังตรงไหน” — บทความนี้เขียนมาเพื่อคุณโดยเฉพาะ

Garudust Agent คือ AI agent runtime ที่เขียนด้วย Rust รองรับการ self-host บน hardware ของคุณเอง และมี skill ชื่อ log-analyst ใน garudust-hub ที่ถูกออกแบบมาสำหรับงานนี้โดยตรง

🤔 ปัญหาจริงที่นักพัฒนาเจอ

ระบบ production ทุกระบบมี log แต่การไล่อ่าน log ด้วยมือมีปัญหาหลายอย่าง:

  • ปริมาณมหาศาล — log หลักล้านบรรทัดต่อวัน ไม่มีใครอ่านได้หมด
  • Pattern ซับซ้อน — error เดียวกันอาจโผล่ในหลาย format
  • เจอช้า — กว่าจะรู้ว่าพัง ผู้ใช้แจ้งมาก่อนแล้ว
  • Context ขาด — รู้ว่า error ตรงไหน แต่ไม่รู้ว่า “ก่อนหน้านั้นมีอะไรเกิดขึ้น”

Garudust แก้ปัญหาเหล่านี้ด้วยการให้ LLM อ่านและวิเคราะห์ log แทนคุณ — แบบ real-time หรือ scheduled ก็ได้

🛠️ ติดตั้ง Garudust

วิธีที่ 1 — ใช้ Pre-built Binary (แนะนำ)

# Linux x86_64
wget https://github.com/garudust-org/garudust-agent/releases/latest/download/garudust-*-x86_64-unknown-linux-musl.tar.gz
tar -xzf garudust-*.tar.gz
sudo mv garudust garudust-server /usr/local/bin/

วิธีที่ 2 — Build จาก Source (ต้องมี Rust 1.75+)

git clone https://github.com/garudust-org/garudust-agent
cd garudust-agent
cargo build --release
export PATH="$PATH:$(pwd)/target/release"

ตั้งค่าเริ่มต้น

garudust setup

Wizard จะถามว่าใช้ LLM provider ไหน รองรับทั้ง Anthropic, OpenRouter, vLLM (local), Ollama และ AWS Bedrock

สำหรับคนที่มี GPU และ self-host: ใช้ vLLM กับ model เช่น Qwen3-8B ได้เลยโดยไม่เสียค่า API

export VLLM_BASE_URL=http://localhost:8000/v1
export GARUDUST_MODEL=Qwen/Qwen3-8B-AWQ

📦 ติดตั้ง log-analyst Skill

Skill คือ instruction set แบบ Markdown ที่บอก agent ว่าต้องทำอะไร เมื่อไหร่ อย่างไร

garudust skill install log-analyst

แค่นี้พอ — ครั้งถัดไปที่คุณพูดถึง log, agent จะโหลด skill นี้มาใช้อัตโนมัติ

🔍 ใช้งานจริง: วิเคราะห์ Log ทันที

กรณีที่ 1 — วิเคราะห์ syslog

garudust "วิเคราะห์ /var/log/syslog 500 บรรทัดล่าสุด หา error pattern ที่ผิดปกติ"

ตัวอย่าง output ที่ได้:

🔍 Log Analysis Report — /var/log/syslog
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

⚠️  ANOMALY DETECTED: Connection timeout spike
    → 47 occurrences ใน 3 นาที (ปกติ < 2/ชั่วโมง)
    → First seen: 14:32:01, Last: 14:35:18
    → Probable cause: Network interface congestion หรือ upstream service down

❌ ERROR Pattern: OOM Killer activated
    → Process: python3 (PID 18423)
    → Memory usage: 7.8GB / 8GB
    → Recommendation: เพิ่ม swap หรือ review memory leak ใน process

✅ ไม่พบ segfault, kernel panic หรือ disk I/O error

กรณีที่ 2 — วิเคราะห์ Application Log

garudust "อ่าน /opt/myapp/logs/app.log แล้วหา:
- Error rate ต่อนาที
- Request ที่ใช้เวลา > 5 วินาที  
- Pattern ที่น่าสงสัย
สรุปเป็นภาษาไทย"

กรณีที่ 3 — เปรียบเทียบ Log สองช่วงเวลา

garudust "เปรียบเทียบ /var/log/nginx/access.log ระหว่าง 10:00-11:00 กับ 14:00-15:00 
ว่า error rate ต่างกันไหม และ traffic pattern เปลี่ยนแปลงอย่างไร"

⏰ Cron: ตรวจ Log อัตโนมัติ ทุก 30 นาที

นี่คือจุดที่ทำให้ Garudust ต่างจากการรัน script ธรรมดา — agent สามารถ ตัดสินใจเองได้ ว่าสิ่งที่เจอนั้น “ผิดปกติ” หรือเปล่า

GARUDUST_CRON_JOBS="*/30 * * * *=Read /var/log/app.log last 300 lines, detect ERROR or WARNING anomalies, if severity is HIGH report summary with timestamp and probable cause" 
garudust-server --anthropic-key sk-ant-...

แจ้งเตือนผ่าน Telegram อัตโนมัติ

TELEGRAM_TOKEN=your_bot_token 
GARUDUST_CRON_JOBS="*/15 * * * *=Check /var/log/app.log for critical errors in last 15 minutes. If error rate exceeds 10 per minute, send alert to telegram with details" 
garudust-server --anthropic-key sk-ant-...

Agent จะส่ง message ไปยัง Telegram bot ของคุณเองอัตโนมัติเมื่อเจอ anomaly

🏭 Use Case จริง: ระบบ Industrial / Edge AI

สำหรับงาน IoT หรือ Edge AI ที่มี log จากเซนเซอร์หรือกล้องวงจรปิด สามารถทำแบบนี้ได้:

# ตรวจสอบ log จากระบบ OCR กล้อง factory ทุก 1 ชั่วโมง
GARUDUST_CRON_JOBS="0 * * * *=Analyze /opt/vision/logs/ocr_results.log, find rows where confidence_score < 0.6 or recognition_failed = true, count anomaly rate, if > 5% in last hour generate incident report" 
VLLM_BASE_URL=http://localhost:8000/v1 
GARUDUST_MODEL=Qwen3-8B-AWQ 
garudust-server

ข้อดีคือรันบน local GPU ได้เลย ไม่ต้องส่ง log ออกไปยัง cloud เหมาะมากสำหรับระบบ industrial ที่ข้อมูลเป็น confidential

✏️ เขียน Skill เองสำหรับ Log Format เฉพาะทาง

ถ้า log ของคุณมี format แปลก หรืออยากให้ agent วิเคราะห์แบบเฉพาะเจาะจง เขียน SKILL.md เองได้ใน ~/.garudust/skills/:

---
name: factory-log-analyst
description: Analyze industrial machine log from SMARTSense IDA system
version: 1.0.0
---

เมื่อถูกขอให้วิเคราะห์ log จากระบบ IDA ให้ทำตามนี้:

1. อ่าน log file ด้วย terminal tool
2. หา pattern เหล่านี้ที่บ่งบอกปัญหา:
   - confidence_score < 0.5 (OCR accuracy ต่ำผิดปกติ)
   - frame_drop_rate > 0.1 (กล้องส่งภาพไม่ครบ)
   - roi_timeout (พื้นที่ตรวจสอบไม่ response)
   - connection_lost (กล้องหลุด)
3. คำนวณ:
   - Anomaly rate ต่อชั่วโมง
   - ROI ที่มีปัญหาบ่อยที่สุด
4. สรุปเป็นภาษาไทย ระบุ:
   - ความรุนแรง (Critical / Warning / Info)
   - เวลาที่เกิด
   - สาเหตุที่น่าจะเป็น
   - คำแนะนำในการแก้ไข

🔧 Tool เพิ่มเติมจาก garudust-hub

นอกจาก log-analyst skill แล้ว ยังมี tools ใน hub ที่ช่วยงาน log ได้:

# ติดตั้ง tools ที่มีประโยชน์
garudust tool install csv_to_json    # แปลง log CSV → JSON
garudust tool install file_info      # เช็ค size/encoding ก่อนอ่าน
garudust tool install token_count    # เช็คว่า log ยาวเกิน context ไหม
garudust tool install extract_urls   # ดึง URL จาก access log

ใช้คู่กันในคำสั่งเดียว:

garudust "ใช้ file_info ดูขนาดของ /var/log/nginx/error.log ก่อน แล้วถ้าไม่เกิน 100KB ให้วิเคราะห์หา anomaly ทั้งหมดที่เกิดขึ้นวันนี้"

📊 เปรียบเทียบ: Garudust vs วิธีเดิม

Script ธรรมดา (grep/awk) ELK Stack Garudust
ติดตั้ง ง่าย ซับซ้อน ง่าย (binary เดียว)
Resource ต่ำ สูงมาก (ต้องการ RAM หลาย GB) ต่ำ (~10MB binary)
วิเคราะห์ context ❌ ❌ ✅ (LLM เข้าใจ context)
แจ้งเตือนอัตโนมัติ ต้องเขียนเอง ✅ ✅ built-in
Self-host ✅ ✅ ✅
ภาษาไทย ❌ ❌ ✅
สรุปสาเหตุ ❌ ❌ ✅

🚀 เริ่มต้น 5 นาที

# 1. ติดตั้ง
wget -qO- https://github.com/garudust-org/garudust-agent/releases/latest/download/garudust-$(uname -m)-unknown-linux-musl.tar.gz | tar -xz
sudo mv garudust /usr/local/bin/

# 2. ตั้งค่า
garudust setup

# 3. ติดตั้ง skill
garudust skill install log-analyst

# 4. ลองเลย!
garudust "วิเคราะห์ /var/log/syslog 100 บรรทัดล่าสุด หา error ที่น่าสงสัย"

สรุป

Garudust ไม่ใช่แค่ tool อ่าน log — มันคือ agent ที่เข้าใจ context ของ log และช่วยตัดสินใจว่าอะไรคือ “ปกติ” หรือ “ผิดปกติ” โดยใช้ความสามารถของ LLM

จุดแข็งที่สำคัญสำหรับ DevOps และ Industrial Engineer คือ:

  • Self-host ได้ 100% — ไม่ต้องส่ง log ออก cloud
  • รองรับ local LLM — ใช้ vLLM + Qwen/LLaMA บน GPU ของตัวเองได้
  • ภาษาไทยได้เลย — detect ภาษาอัตโนมัติ ไม่ต้องตั้งค่า
  • Cron built-in — ตั้งตรวจอัตโนมัติได้ทันที

🔗 Links:

มีคำถามหรืออยากแลกเปลี่ยนประสบการณ์ใช้ Garudust? comment ได้เลยครับ 🙌