Skip to content

emka.web.id

menulis pengetahuan – merekam peradaban

Menu
  • Home
  • Tutorial
  • Search
Menu

Tutorial Membuat Sistem Monitoring dengan Grafana & Prometheus di Debian 12

Posted on May 11, 2024

Grafana adalah platform visualisasi data sumber terbuka dan multi-platform yang dikembangkan oleh Grafana Labs. Grafana menyediakan aplikasi web visualisasi data interaktif yang mencakup grafik, diagram, dan peringatan. Dengan Grafana, Anda dapat melakukan kueri, visualisasi, mengatur peringatan, dan menjelajahi metrik, log, dan jejak dari TSDB. Ini adalah alat yang kuat yang mengubah data time-series database (TSDB) menjadi grafik dan visualisasi yang informatif.

Di Grafana, Anda dapat menambahkan data basis data time-series Anda melalui ‘Data Source’. Grafana mendukung beberapa sumber data seperti Prometheus, InfluxDB, PostgreSQL, Loki, Jaeger, Graphite, Google Cloud Monitoring, AWS CloudWatch, Azure Monitor, dan banyak lagi.

Dalam panduan ini, Anda akan menginstal Grafana pada server Debian 12 dengan Nginx sebagai reverse proxy, kemudian menambahkan Prometheus sebagai sumber data dan mengonfigurasi Dasbor Grafana untuk pemantauan sistem.

Persyaratan
Sebelum Anda melanjutkan, pastikan Anda memiliki hal berikut:

  1. Server Debian 12 untuk instalasi Grafana.
  2. Server Debian 12 dengan Prometheus dan Node Exporter Terinstal – Cara Menginstal Prometheus dan Node Exporter di Debian 12.
  3. Pengguna non-root dengan hak istimewa administrator sudo.

Menambahkan Repositori Grafana
Dalam panduan ini, Anda akan menginstal Grafana melalui repositori resmi Grafana. Untuk melakukannya, Anda harus menambahkan repositori Grafana ke server Debian Anda.

Untuk memulai, jalankan perintah berikut untuk menginstal dependensi dasar ke mesin Debian Anda.

sudo apt install gnupg2 apt-transport-https software-properties-common wget

Sekarang tambahkan kunci GPG Grafana dan repositori dengan menjalankan perintah berikut.

curl -fsSL https://packages.grafana.com/gpg.key | sudo gpg --dearmor -o /etc/apt/trusted.gpg.d/grafana.gpg
echo 'deb [signed-by=/etc/apt/trusted.gpg.d/grafana.gpg] https://packages.grafana.com/oss/deb stable main' | sudo tee /etc/apt/sources.list.d/grafana.list

Terakhir, perbarui dan segarkan indeks paket Debian Anda untuk menerapkan perubahan.

sudo apt update

Menginstal Grafana
Sekarang setelah Anda menambahkan repositori Grafana, Anda akan menginstal Grafana melalui APT. Kemudian, Anda akan mengonfigurasi pengguna administrator dan kata sandi untuk instalasi Grafana Anda.

Instal Grafana ke sistem Debian Anda menggunakan perintah berikut. Masukkan y untuk melanjutkan dengan instalasi.

sudo apt install grafana

Setelah instalasi selesai, muat ulang manajer systemd dengan mengeksekusi perintah berikut.

sudo systemctl daemon-reload

Kemudian, mulai dan aktifkan layanan grafana-server menggunakan perintah di bawah ini.

sudo systemctl start grafana-server
sudo systemctl enable grafana-server

Saat layanan grafana-server berjalan, verifikasi menggunakan perintah di bawah ini. Jika semuanya berjalan lancar, Anda harus melihat grafana-server diaktifkan dan berjalan.

sudo systemctl status grafana-server

Terakhir, buka peramban web Anda dan kunjungi alamat IP server Anda dengan port Grafana default 3000, seperti http://192.168.5.20:3000/. Masukkan pengguna admin dan kata sandi admin default, lalu klik Masuk.

Sekarang ubah kata sandi admin default dengan kata sandi baru. Lalu klik Kirim untuk mengonfirmasi.

Ketika proses selesai, Anda seharusnya melihat dasbor Grafana seperti berikut:

Mengonfigurasi Grafana
Dengan Grafana terinstal, langkah selanjutnya adalah mengonfigurasi Grafana dengan memodifikasi konfigurasi default /etc/grafana/grafana.ini dan mengatur http_addr menjadi localhost, http_port menjadi 3000, dan domain dengan nama domain lokal grafana.hwdomain.io.

Buka konfigurasi Grafana default /etc/grafana/grafana.ini menggunakan perintah editor nano berikut.

sudo nano /etc/grafana/grafana.ini

Ubah konfigurasi default dengan baris berikut. Dalam contoh ini, Anda akan menjalankan Grafana di localhost dan dengan nama domain lokal grafana.hwdomain.io.

[server]
# The IP address to bind to, empty will bind to all interfaces
http_addr = localhost

# The http port  to use
http_port = 3000

# The public facing domain name used to access grafana from a browser
domain = grafana.hwdomain.io

Ketika Anda selesai, simpan dan keluar dari file.

Sekarang jalankan perintah systemctl berikut untuk me-restart grafana-server dan menerapkan perubahan. Dengan ini, instalasi Grafana Anda berjalan hanya pada localhost.

sudo systemctl restart grafana-server

Menginstal Nginx sebagai Reverse Proxy
Dalam panduan ini, Anda akan menjalankan Grafana dengan Nginx sebagai reverse proxy. Sekarang, lengkapi tugas berikut untuk menginstal dan mengonfigurasi Nginx sebagai reverse proxy untuk instalasi Grafana Anda.

Jalankan perintah berikut untuk menginstal server web Nginx ke mesin Debian Anda. Masukkan y untuk melanjutkan dengan instalasi.

sudo apt install nginx

Setelah Nginx terinstal, jalankan perintah editor nano berikut untuk membuat file blok server baru /etc/nginx/sites-available/grafana.conf.

sudo nano /etc/nginx/sites-available/grafana.conf

Sisipkan konfigurasi berikut dan pastikan untuk mengubah nama domain dalam parameter server_name.

# This is required to proxy Grafana Live WebSocket connections.
map $http_upgrade $connection_upgrade {
    default upgrade;
    '' close;
}

server {
    listen      80;
    server_name grafana.hwdomain.io;

    root /usr/share/nginx/html;
    index index.html index.htm;

    access_log /var/log/nginx/grafana-access.log;
    error_log /var/log/nginx/grafana-error.log;

    location / {
        proxy_set_header Host $http_host;
        proxy_pass http://localhost:3000/;
    }

    # Proxy Grafana Live WebSocket connections.
    location /api/live {
        rewrite  ^/(.*)  /$1 break;
        proxy

_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection $connection_upgrade;
        proxy_set_header Host $http_host;
        proxy_pass http://localhost:3000/;
    }
}

Simpan dan tutup file ketika selesai.

Selanjutnya, jalankan perintah berikut untuk mengaktifkan file blok server /etc/nginx/sites-available/grafana.conf. Kemudian, verifikasi sintaks Nginx Anda untuk memastikan bahwa Anda memiliki sintaks yang benar.

sudo ln -s /etc/nginx/sites-available/grafana.conf /etc/nginx/sites-enabled/
sudo nginx -t

Jika Anda memiliki sintaks Nginx yang benar, Anda harus mendapatkan keluaran ‘test is successful – syntax is ok’.

Terakhir, jalankan perintah systemctl berikut untuk me-restart layanan Nginx dan menerapkan perubahan. Lalu, verifikasi Nginx untuk memastikan bahwa layanan tersebut berjalan.

sudo systemctl restart nginx
sudo systemctl status nginx

Pada output berikut, Anda harus melihat layanan Nginx sedang berjalan.

Untuk mengakses server Grafana Anda, Anda dapat memodifikasi file /etc/hosts pada mesin lokal Anda jika Anda pengguna Linux atau MacOS. Untuk pengguna Windows, edit file C:\Windows\System32\drivers\etc\hosts sebagai administrator.

Masukkan konfigurasi berikut ke dalam file.

192.168.5.15    grafana.hwdomain.io

Simpan dan tutup file ketika selesai.

Sekarang kembali ke peramban web Anda dan kunjungi nama domain lokal untuk server Grafana, seperti http://grafana.hwdomain.io/. Jika konfigurasi Anda berhasil, Anda akan diarahkan ke halaman login Grafana.

Masuk dengan pengguna admin dan kata sandi Anda, lalu klik Masuk untuk mengonfirmasi.

Setelah itu, Anda harus mendapatkan dasbor admin Grafana.

Menambahkan Autentikasi ke Server Prometheus
Sebelum menambahkan Prometheus ke Grafana, Anda akan menyiapkan autentikasi dasar untuk Prometheus. Anda akan membuat kata sandi autentikasi dasar dengan apache2-utils, lalu mengaktifkan basic_auth untuk server Prometheus.

Dalam contoh ini, Prometheus dan Node Exporter diinstal di server yang berbeda dengan alamat IP 192.168.5.15 dan nama host prometheus.

Masuk ke server Prometheus dan instal paket apache2-utils melalui perintah apt di bawah ini.

sudo apt install apache2-utils -y

Setelah itu, hasilkan kata sandi baru untuk autentikasi dasar Prometheus. Masukkan kata sandi Anda dan salin kata sandi yang dihasilkan ke catatan Anda.

htpasswd -nB promadmin

Sekarang, buat konfigurasi Prometheus baru /etc/prometheus/web.yml menggunakan perintah editor nano berikut.

sudo nano /etc/prometheus/web.yml

Tambahkan konfigurasi berikut untuk mengamankan dasbor administrasi Prometheus dengan modul basic_auth.

# basic_auth
basic_auth_users:
  promadmin: $2y$05$UlvHd4An.oQRt2UdUXzr9eZ6ShRLe3xYbMhw8ePfvGeLuu0khO4Bu

Simpan dan tutup file ketika selesai.

Selanjutnya, buka konfigurasi Prometheus default /etc/prometheus/prometheus.yml menggunakan perintah editor nano berikut.

sudo nano /etc/prometheus/prometheus.yml

Tambahkan konfigurasi basic_auth di bawah ini dalam pekerjaan Prometheus. Pastikan untuk mengubah detail pengguna dan kata sandi dengan data Anda.

scrape_configs:
  # The job name is added as a label `job=<job_name>` to any timeseries scraped from this config.
  - job_name: "prometheus"

    # metrics_path defaults to '/metrics'
    # scheme defaults to 'http'.
    # Add settings for certificate and authentication
    scheme: http
    basic_auth:
      username: 'promadmin'
      password: 'password'

Simpan dan tutup file ketika Anda selesai.

Berikutnya, jalankan perintah berikut untuk mengedit file layanan prometheus.

sudo systemctl edit --full prometheus

Ubah opsi ExecStart default dengan yang berikut.

ExecStart=/usr/bin/prometheus --config.file=/etc/prometheus/prometheus.yml --web.config.file=/etc/prometheus/web.yml

Simpan dan tutup file ketika selesai.

Sekarang, jalankan perintah systemctl berikut untuk me-reload manajer systemd dan menerapkan perubahan. Lalu, restart layanan prometheus.

sudo systemctl daemon-reload
sudo systemctl restart prometheus

Verifikasi layanan prometheus menggunakan perintah berikut.

sudo systemctl status prometheus

Dalam bagian ExecStart, perintah telah berubah seperti berikut.

Terakhir, buka peramban web Anda dan kunjungi alamat IP Prometheus dengan port 9090 (misalnya: http://192.168.10.15:9090/). Anda akan diminta untuk masuk dengan basic_auth Prometheus, masukkan pengguna admin dan kata sandi Anda, lalu klik Masuk.

Jika konfigurasi Anda berhasil, Anda harus melihat dasbor Prometheus seperti berikut.

Mengintegrasikan Prometheus dengan Dasbor Grafana
Setelah mengonfigurasi autentikasi Dasar pada Prometheus, Anda dapat menambahkan Prometheus sebagai sumber data ke dasbor Grafana. Ada dua langkah yang harus Anda selesaikan: menambahkan Prometheus sebagai sumber data dan kemudian mengimpor atau membuat dasbor Grafana untuk pemantauan sistem.

Menambahkan Sumber Data Prometheus
Kembali ke Dasbor Grafana, klik menu Koneksi, dan pilih Sumber data.

Klik Tambahkan sumber data untuk melanjutkan.

Pilih basis data deret waktu Prometheus.

Masukkan nama sumber data baru dan tuan rumah Prometheus ke http://192.168.5.15:9090/. Dalam bagian Autentikasi, pilih Otentikasi Dasar dan masukkan nama pengguna dan kata sandi untuk Prometheus.

Gulir ke bawah dan klik Simpan & uji untuk mengonfirmasi. Output ‘Berhasil mengkueri API Prometheus.’ mengkonfirmasi bahwa Prometheus telah ditambahkan ke Grafana.

Mengimpor Pemantauan Dasbor
Klik menu + di kanan atas dan pilih Impor Dasbor.

Temukan Dasbor yang Anda inginkan di https://grafana.com/grafana/dashboards/. Kemudian, salin dan tempel ID dasbor, lalu klik Muat untuk mengon

firmasi. Dalam hal ini, kami akan menggunakan ID Dasbor 15172.

Masukkan nama dasbor dan pilih sumber data Prometheus. Lalu klik Impor untuk mengonfirmasi.

Berikut adalah contoh Dasbor Grafana yang ditingkatkan dengan Prometheus untuk memantau sistem.

Anda sekarang berhasil menginstal Grafana pada server Debian 12 dengan Nginx sebagai reverse proxy, menambahkan Prometheus sebagai sumber data ke Grafana, dan mengimpor dasbor Grafana untuk pemantauan sistem.

Terbaru

  • Penyebab Aplikasi Wondr BNI Tidak Bisa Dibuka
  • Kode 0425 Daerah Mana? Ini Pengertian dan Fakta Sebenarnya
  • Apa Itu SSS CapCut? Pengertian Downloader Video Tanpa Watermark yang Wajib Kalian Tahu
  • Apa Itu Paket GamesMAX Telkomsel? Ini Pengertian dan Fungsinya Bagi Gamers
  • Apa Itu Menu Plus di Google Search? Ini Pengertian dan Fungsinya
  • Apa Itu Lepas Kolpri? Ini Pengertian dan Fenomenanya di Dunia Gaming
  • Pixel Buds Pro Dapat Update Software dengan Dukungan ANC Adaptif dan Peningkatan Audio
  • Mous Pixel Watch 4 Akan Hadir dengan Charger Baru dan Fitur-Fitur Terbaru
  • Hati-hati, Video Asli Botol Golda Viral Season 4 Full 6.30 Menit, Cek Link dan Faktanya disini!
  • Google Docs Dapat Update Material 3 dan Desain Ekspresif Baru, Fokus pada Kreativitas dan Kolaborasi
  • Belum Tahu? Ini Trik Hitung Cost Per Gigabyte Supaya Gak Boncos Saat Beli Paket Internet
  • Apple TV dan Google Cast Akan Terintegrasi Lebih Dalam, Tawarkan Pengalaman Streaming yang Lebih Baik
  • Lagi Rame Botol Golda Viral 19 Detik? APA ITU? Jangan Asal Klik Link Sembarangan, Ini Bahayanya!
  • Apa itu Regedit FF Auto Headshot 100 No Password 2024? Simak Definisi dan Cara Kerjanya
  • Apa Itu KPH dan MPH? Pengertian dan Perbedaannya di Game Balap
  • Belum Tahu? Inilah Cara Aman Quotex Login dan Solusi Kalau Error!
  • Apa Itu Fitur Gestur Baru di Pixel Watch 4? Ini Pengertian dan Perbedaannya
  • Belum Tahu? Inilah Cara Aman Login Binomo dan Trik Trading Buat Pemula Biar Nggak Boncos
  • Cara Mengatasi Error ‘Versi Diagnostik Belum Terbarui’ (Your current version of diagnostics is not up to date)
  • Cara Membuat Newsletter di Outlook 365
  • Sering Telepon di Tempat Berisik? Fitur Baru Expressive Call dari Google Bakal Jadi Penyelamat Kalian!
  • Google Pixel 10 Pro Akan Punya Integrasi Play Points Lebih Dalam
  • Stop Cara Kuno! Ini Trik Supaya Manajemen Karyawan Jadi Lebih Cepat dan Anti Ribet
  • Bug di Aplikasi Cuaca Wear OS Google: Update Tidak Ngaruh!
  • Samsung Kembangkan Sensor Kamera Baru Pakai Teknologi Global Shutter dan Efek Blur Bergerak
  • Cara Membuat Anggaran Otomatis di Excel
  • Baseus X1 Pro Kamera: Kamera Ringkas dengan Fitur Canggih dan Harga yang Menarik
  • Profil Sosmed Kalian Sepi? Gini Caranya Makeover Bio Biar Makin Dilirik Sama Netizen!
  • Cara Mengatasi Error ‘Disk is Full or Read-Only’
  • Belum Tahu? Inilah Trik Ampuh Atasi Error ‘We Were Unable To Create Your Notebook’ di OneNote
  • Ini Dia ESP32 P4: IoT RISC-V dengan Layar AMOLED dan LoRa, Perangkat Handheld Inovatif
  • Apa Itu HealthyPi-6? Solusi Open Source untuk Akuisisi Biosignal
  • Jetson THOR Industrial PC: 25Gbe Networking dan Bisa Pakai Kamera GMSL2
  • Azul Systems Akuisisi Payara Java Server
  • PC Kentang Jadi Ngebut? Coba GRML 2025, Distro Debian Ringan dengan Kernel 6.17!
  • Apa Itu US National Framework for AI? Kepres Donald Trump Bikin Heboh Dunia AI
  • Kenapa Bisnis Properti & Real Estate Harus Pakai AI, Ini Alasannya!
  • BARU! Brave Browser Bakal Bisa Ngerjain Tugas Kalian Secara Otomatis Lewat Agentic AI!
  • Belum Tahu? Google Maps Bakal Makin Canggih Berkat Integrasi Gemini Visual Ini!
  • Siap-Siap! Tahun 2026 Gemini Bakal “Menjajah” Chrome, iPhone, sampai Smartwatch Kalian
  • Apa Itu Video PT Pabrik Brebes Viral? Ini Pengertian dan Fakta Sebenarnya
  • Apa itu Data Breach Coupang? Pengertian dan Kronologi Kebocoran Data Terbesar di Korea Selatan
  • Apa Itu CVE-2018-4063? Pengertian Celah Keamanan Sierra Wireless AirLink yang Masuk Katalog CISA
  • Apa Itu Ashen Lepus? Kelompok Peretas yang Mengincar Instansi Pemerintah Timur Tengah
  • Pengertian Vulnerability WebKit Apple Terbaru: Apa Itu CVE-2025-43529 dan CVE-2025-14174?

©2025 emka.web.id | Design: Newspaperly WordPress Theme