Exporter

Exporter

šŸ” Apa itu Exporter dalam Prometheus?

šŸ”¹ Pengertian:

Exporter adalah komponen perantara yang mengumpulkan metrik dari suatu sistem atau aplikasi, lalu menyajikannya dalam format yang bisa dibaca oleh Prometheus (biasanya di endpoint /metrics berformat text/plain).

Intinya: Exporter = Penerjemah data sistem → Format Prometheus

Prometheus tidak bisa langsung membaca metrik dari OS, database, router, atau service lain. Karena itu, dibutuhkan exporter yang:

  1. Mengambil data dari sumber asli (misal: sistem operasi, SNMP, MySQL)
  2. Mengubahnya ke format Prometheus
  3. Menyediakan endpoint HTTP yang bisa di-scrape

āš™ļø Cara Kerja Exporter

[ Sistem atau Aplikasi ] → [ Exporter ] → (HTTP /metrics) → [ Prometheus ]

Contoh:

[ Ubuntu Server ] → [ node_exporter ] → http://ip:9100/metrics → [ Prometheus ]


šŸ“¦ Daftar Exporter Populer (beserta Penjelasan)

ExporterPortDigunakan untukPenjelasan
šŸ”¹ node_exporter9100Linux / server fisik & VMMonitoring CPU, RAM, disk, filesystem, network, uptime, dsb
šŸ”¹ blackbox_exporter9115Monitoring jaringanPing ICMP, HTTP(S), TCP, DNS, TLS certificate expiry
šŸ”¹ cadvisor8080Docker containerStatistik CPU/mem/disk per-container
šŸ”¹ mysqld_exporter9104MySQL / MariaDBMetrik query rate, slow query, InnoDB stats, connection count
šŸ”¹ postgres_exporter9187PostgreSQLSama seperti MySQL tapi untuk PostgreSQL
šŸ”¹ snmp_exporter9116Perangkat jaringan (MikroTik, Cisco, Switch, dsb)Membaca SNMP OID dan mengubahnya jadi metrik Prometheus
šŸ”¹ windows_exporter (dulunya: wmi_exporter)9182Windows ServerCPU, RAM, disk, service status, uptime Windows
šŸ”¹ nginx_exporter9113Nginx web serverMetrik connection count, traffic, request rate
šŸ”¹ apache_exporter9117Apache2 web serverSama seperti nginx_exporter tapi untuk Apache
šŸ”¹ redis_exporter9121RedisHit/miss rate, key count, memory usage, etc
šŸ”¹ mongodb_exporter9216MongoDBCollection stats, connection usage, slow queries
šŸ”¹ pushgateway9091Short-lived jobsMenyimpan metrik dari script/batch yang tidak bisa discrape
šŸ”¹ process_exporter9256Monitor proses tertentuHitung jumlah proses, CPU/mem proses tertentu (misal: nginx)
šŸ”¹ kube-state-metrics8080KubernetesStatus pod, node, deployment, dsb (complement cadvisor)
šŸ”¹ haproxy_exporter9101HAProxyConnection, queue, backend health

šŸ’” Contoh Nyata Setup di Homelab

TargetExporterTujuan
Proxmox Hostnode_exporter + pve-exporterCPU host, VM status, storage usage
MikroTiksnmp_exporterMonitoring bandwidth, interface, user
Docker Hostcadvisor + node_exporterContainer resource usage
MySQL di blogmysqld_exporterQuery performance monitoring
Web servernginx_exporterResponse rate, status codes
VPN Gatewayblackbox_exporterMonitoring ping/tcp ke endpoint luar

šŸ› ļø Tips Penggunaan Exporter

  • Port default bisa diubah, tapi harus dicocokkan dengan prometheus.yml
  • Exporter biasanya jalan sebagai:
    • Service systemd
    • Container Docker
    • DaemonSet di Kubernetes
  • Selalu cek /metrics untuk memastikan exporter berjalan
  • Jika kamu butuh metrik dari sistem sendiri, bisa juga buat exporter custom pakai Python/Node.js/Go