Skip to content
TobaSmart Farming
← Semua tutorial

Technology / IoT & Edge Computing

Pipeline Telegraf, InfluxDB, dan Grafana

Mengubah payload MQTT menjadi riwayat data yang bisa diaudit.

Peralatan yang diperlukan

Langkah implementasi

  1. Langkah 1

    Siapkan broker MQTT dan jalankan Telegraf dengan input mqtt_consumer dan parser JSON menggunakan konfigurasi yang sesuai versi Telegraf.

  2. Langkah 2

    Definisikan measurement climate, tags node_id dan zone, serta fields temperature_c dan rh_percent. Hindari menaruh timestamp acak sebagai tag karena menyebabkan cardinality tinggi.

  3. Langkah 3

    Simpan data ke InfluxDB menggunakan token dengan hak akses minimum; atur retention sesuai kebutuhan eksperimen dan backup berkala.

  4. Langkah 4

    Di Grafana, buat panel time-series suhu, RH, dan status aktuator. Uji apakah timestamp, timezone, satuan, dan celah data tampil konsisten.

Praktikum 3 — Dari MQTT ke dashboard

Versi contoh memakai InfluxDB 2.x dan Flux. Untuk instalasi InfluxDB 3, gunakan query SQL dan konfigurasi output yang kompatibel. Siapkan bucket climate, organisasi farm, dan token berhak minimum.

Konfigurasi Telegraf (contoh)

# Example for Telegraf + InfluxDB 2.x. Adjust to your versions.
[[inputs.mqtt_consumer]]
  servers = ["tcp://127.0.0.1:1883"]
  topics = ["farm/telemetry/+"]
  username = "sensor01"
  password = "\${MQTT_PASSWORD}"
  data_format = "json"
  name_override = "climate"
  tag_keys = ["node_id"]
  json_time_key = "timestamp"
  json_time_format = "unix"
  json_string_fields = ["node_id"]
[[outputs.influxdb_v2]]
  urls = ["http://127.0.0.1:8086"]
  token = "\${INFLUX_TOKEN}"
  organization = "farm"
  bucket = "climate"

Contoh query Flux di Grafana

from(bucket: "climate")
  |> range(start: -24h)
  |> filter(fn: (r) => r._measurement == "climate")
  |> filter(fn: (r) => r._field == "temperature_c")
  |> aggregateWindow(every: 5m, fn: mean, createEmpty: false)

Uji penerimaan

  1. Uji parsing JSON dan perhatikan field numerik serta timestamp epoch detik.
  2. Buat panel temperature_c dan rh_percent per node_id, lalu tampilkan 24 jam terakhir.
  3. Uji missing data dan pastikan panel tidak menghubungkan data hilang seolah pengukuran berkelanjutan.

Rangkaian praktikum: ESP32 → MQTT → Grafana → Jetson Nano.

Validasi dan keamanan

Uji sensor dan koneksi secara bertahap, catat data mentah dan versi firmware, dan dokumentasikan hasilnya. Untuk AC, listrik PLN, relay, pompa, dan dosing, gunakan komponen bersertifikasi serta bantuan teknisi berkompeten. Contoh di artikel ini bukan bukti bahwa setiap kombinasi perangkat telah diuji di fasilitas penelitian.

Dokumentasi teknis: Sumber resmi. Belum ada tautan pembelian berkomisi pada artikel ini. Lihat disclosure.

Baca arsitektur edge-to-cloud →