JIPRAKS Classroom

Cara Bangun AI Agent Monitoring & Auto‑Remediation Infrastruktur dengan n8n + GPT (Tanpa Coding Berat)

· 3 menit baca

Cara Bangun AI Agent Monitoring & Auto‑Remediation Infrastruktur dengan n8n + GPT (Tanpa Coding Berat)

Pernah merasa alarm monitoring malah bikin stress karena banyak false‑positive atau harus manual fix tiap alert? Itu masalah klasik tim ops di mana‑mana. Di artikel ini kita akan mengganti proses monitoring tradisional dengan AI Agent yang tidak hanya mendeteksi anomali, tapi juga menyarankan atau mengeksekusi perbaikan secara otomatis—semua dibangun di atas n8n dan GPT.

Kenapa AI Agent + n8n?

  • Orkestrasi visual: n8n memberi canvas drag‑and‑drop, jadi Anda tidak perlu menulis boilerplate code.
  • Prompt‑driven intelligence: GPT‑4/3.5 dapat menganalisa log, metric, atau traceback, kemudian menghasilkan tindakan yang tepat.
  • Skalabilitas & biaya: Hanya panggil LLM saat dibutuhkan, fallback ke rule‑based bila tidak.

Arsitektur High‑Level

Diagram dibawah menggambarkan alur kerja:

[Prometheus Alert] → n8n webhook → AI Agent (GPT) →
  {Jika "simple fix"} → n8n execute command (SSH / API) →
  {Jika "complex"} → tiket Jira + notifikasi Slack

Inti dari workflow adalah GPT Prompt Node yang menerima payload alert, men‑generate JSON aksi, lalu node IF men‑route ke langkah eksekusi atau eskalasi.

1️⃣ Kumpulkan Data Monitoring

  • Gunakan Prometheus Alertmanager atau Grafana Cloud Alerts yang mengirim POST ke endpoint n8n (HTTP Request Trigger).
  • Payload biasanya berisi labels, alertname, value, summary, dan severity.

2️⃣ AI Agent Prompt Engineering

Prompt harus deterministik dan kontekstual. Contoh:

You are an AI Ops Engineer. Analyze the following alert and suggest ONE JSON action.
Alert:
{{ $json }}

Berikan contoh output yang di‑expect:

{ "action": "restart_service", "service": "nginx", "host": "web-01", "comment": "CPU usage > 90% for 5m" }

Jika tidak dapat auto‑fix, balas:

{ "action": "create_ticket", "title": "High CPU on web-01", "description": "..." }

3️⃣ Parsing & Routing di n8n

  • Function node: parse JSON string dari GPT.
  • If node: cek action == "restart_service".
  • SSH atau HTTP Request node: jalankan perintah systemctl restart {{service}} pada host yang ditentukan (gunakan credential store).
  • Jika aksi create_ticket, gunakan Jira node atau Slack untuk notifikasi.

4️⃣ Fallback & Safety Net

  • Tambahkan Rate Limit node untuk mencegah loop auto‑restart.
  • Log semua keputusan ke MongoDB atau Google Sheet untuk audit.
  • Gunakan Delay + Retry node bila eksekusi gagal.

Use Case Real: Auto‑Remediate High CPU pada Web Server

Scenario: Prometheus memicu alert CPUHigh ketika node_cpu_seconds_total > 90% selama 5 menit.

  1. Alert terkirim ke n8n webhook.
  2. GPT menerima payload, mengidentifikasi bahwa restart nginx biasanya memperbaiki spike CPU karena worker leak.
  3. n8n mengeksekusi ssh ke web-01 dan menjalankan systemctl restart nginx.
  4. Jika restart gagal, GPT meng‑output create_ticket dan workflow meng‑post tiket ke Jira serta mengirim Slack alert ke #ops.
  5. Semua langkah tercatat di Google Sheet "Ops Auto‑Remediation Log" untuk review mingguan.

Strategi & Insight Penting

  • Prompt versioning: Simpan setiap prompt di Git; gunakan CI untuk test output dengan contoh alert.
  • Model fallback: Pada jam sibuk, gunakan gpt‑3.5‑turbo (lebih murah) untuk simple fix, dan hanya panggil gpt‑4 bila severity=critical.
  • Safety‑first: Selalu kirim dry‑run first (GPT menghasilkan perintah + flag --dry‑run) dan log hasilnya sebelum eksekusi real.
  • Observability: Tambahkan Prometheus Exporter di workflow untuk meng‑expose metrics auto_remediate_success_total dan auto_remediate_failed_total.
  • Human‑in‑the‑loop: Untuk aksi yang mengubah state kritis (mis. DB migration), gunakan approval step via Slack button sebelum melanjutkan.

Langkah Praktis: Bangun Workflow dalam 30 Menit

  1. Deploy n8n (Docker compose) dengan n8n.io URL publik.
  2. Aktifkan Webhook node, copy URL ke alertmanager.yml.
  3. Tambahkan HTTP Request node ke OpenAI API (set model=gpt-4, temperature=0).
  4. Masukkan prompt template di “Body Parameters”.
  5. Gunakan Function node untuk JSON.parse(item.json.body).
  6. Setup IfSSH (credential store) → Jira/Slack nodes.
  7. Test dengan curl: curl -X POST -H "Content-Type: application/json" -d '{"alertname":"CPUHigh","value":95,"host":"web-01"}' {WEBHOOK_URL}
  8. Iterasi prompt sampai hasil akurat; commit ke repo.

Penutup & Call to Action

Dengan kombinasi n8n visual orchestration dan kekuatan GPT, Anda dapat mengurangi noise monitoring hingga 70 % dan menurunkan MTTR (Mean Time To Recovery) secara drastis. Mulailah dengan satu alert, perbaiki prompt, dan skalakan ke seluruh stack Anda.

👉 Challenge: Pilih alert kritis di lingkungan Anda, implementasikan workflow di atas, dan ukur penurunan false‑positive serta waktu respons. Share hasilnya di komunitas JIPRAKS Classroom!

Artikel terkait