Cara Menyiapkan Docker Compose untuk Prometheus + Grafana

· 6 min read
Cara Menyiapkan Docker Compose untuk Prometheus + Grafana
Photo by Campaign Creators / Unsplash

Grafana menyediakan solusi komprehensif untuk visualisasi, eksplorasi, dan pemantauan data, membantu organisasi membuat keputusan yang lebih baik dengan memberi mereka pemahaman yang jelas tentang data mereka. Ini adalah platform visualisasi dan pemantauan data sumber terbuka. Ini menyediakan cara yang kuat dan fleksibel untuk memvisualisasikan dan menganalisis data dari berbagai sumber seperti basis data, berkas log, layanan cloud, dan banyak lagi.

Masalah apa yang dipecahkan Grafana?

Grafana memecahkan masalah penemuan dan analisis data, memungkinkan pengguna untuk mengeksplorasi dan memahami data mereka dengan cara yang bermakna. Hal ini dilakukan dengan menyediakan antarmuka yang intuitif dan mudah digunakan untuk membangun visualisasi dan dasbor, sehingga memudahkan untuk mengidentifikasi tren, pola, dan wawasan dalam sejumlah besar data.

Grafana terintegrasi dengan berbagai sumber data, yang memungkinkan pengguna untuk memusatkan data mereka ke dalam satu platform, dan menyediakan kemampuan pemberitahuan dan peringatan yang kuat, yang memungkinkan pengguna untuk diberitahu tentang perubahan penting pada data mereka secara real-time.

Untuk menjalankan citra Grafana Docker, Anda dapat menggunakan perintah berikut:

docker run -d -p 3000:3000 grafana/grafana

Perintah ini akan mengunduh citra Grafana Docker terbaru dari Docker Hub dan menjalankannya di latar belakang, memetakan port 3000 pada host ke port 3000 dalam kontainer.

Menggunakan Variabel Lingkungan

Untuk mengonfigurasi citra Grafana Docker, Anda dapat meneruskan opsi konfigurasi sebagai variabel lingkungan atau memasang berkas konfigurasi sebagai volume.

Berikut ini contoh penggunaan variabel lingkungan:

docker run -d -p 3000:3000 \
  -e "GF_SECURITY_ADMIN_PASSWORD=secret" \
  -e "GF_USERS_ALLOW_SIGN_UP=false" \
  grafana/grafana

Memasang File Konfigurasi

Berikut contoh pemasangan berkas konfigurasi:

docker run -d -p 3000:3000 \
  -v /path/to/grafana.ini:/etc/grafana/grafana.ini \
  grafana/grafana

Menambahkan Plugin MongoDB

Untuk menambahkan plugin MongoDB ke image Grafana Docker, Anda dapat menggunakan perintah berikut:

docker exec -it grafana grafana-cli plugins install grafana-mongodb-datasource

Perintah ini akan menjalankan alat grafana-cli di dalam kontainer Grafana yang sedang berjalan, dan memasang plugin grafana-mongodb-datasource. Setelah plugin terpasang, Anda perlu memulai ulang kontainer Grafana agar perubahannya berlaku.

Menambahkan Sumber Data Redis untuk Plugin Grafana

Redis Data Source untuk Grafana adalah plug-in yang memungkinkan pengguna untuk terhubung ke database Redis dan membuat dasbor di Grafana untuk memantau Redis dan data aplikasi dengan mudah. ​​Plug-in ini menyediakan dasbor yang telah ditentukan sebelumnya, tetapi juga memungkinkan Anda membuat dasbor yang disesuaikan dengan kebutuhan spesifik Anda.

gambar saya

Fitur dan Kemampuan

  • Grafana 7.1 dan yang lebih baru dengan platform plug-in baru yang didukung.
  • Sumber Data dapat terhubung ke database Redis mana pun. Tidak diperlukan konfigurasi khusus.
  • Redis Cluster dan Sentinel didukung sejak versi 1.2.
  • Sumber Data mendukung:

Anda dapat memasang dan menjalankan Grafana menggunakan citra Docker resmi.

Langkah 1. Instal Docker

Langkah pertama adalah menginstal docker untuk sistem operasi Anda. Jalankan  docker version perintah di jendela terminal untuk memastikan bahwa docker telah terinstal dengan benar.

CATATAN : Pada Windows dan Mac, instal docker versi 18.03 atau yang lebih tinggi. Anda dapat menjalankannya  docker version untuk mengetahui versi docker Anda.

Langkah 2. Jalankan kontainer

Teruskan plugin yang ingin Anda instal ke Docker dengan variabel lingkungan GF_INSTALL_PLUGINS sebagai daftar yang dipisahkan koma. Ini akan mengirim setiap nama plugin ke grafana-cli plugins install ${plugin} dan menginstalnya saat Grafana dimulai. Dalam kasus kami, kami akan menggunakan redis-datasource.

 docker run -d -p 3000:3000 --name=grafana -e "GF_INSTALL_PLUGINS=redis-datasource" grafana/grafana

Langkah 3. Mengakses dasbor

Buka https://IP:3000 untuk mengakses grafana. Nama pengguna/kata sandi default adalah admin/admin.

grafiti

Langkah 4. Klik “Konfigurasi 

Langkah 5. Tambahkan Redis sebagai Sumber

grafiti

Langkah 6. Pilih “Redis” sebagai jenis

grafiti

Langkah 7. Tambahkan nama Database Redis, URL Titik Akhir, dan kata sandi

Dengan asumsi bahwa Anda telah memiliki server dan database Redis yang aktif dan berjalan di infrastruktur Anda, Anda juga dapat memanfaatkan Redis Enterprise Cloud seperti yang ditunjukkan pada contoh di bawah ini.

grafiti

Langkah 8. Klik “Impor” di bawah Dasbor

grafiti

Langkah 9. Akses Dasbor

grafiti

Grafana dan Prometheus bekerja sama

Grafana dan Prometheus umumnya digunakan bersama sebagai bagian dari tumpukan pemantauan, dengan Prometheus menyediakan penyimpanan dan pengumpulan data dan Grafana menyediakan lapisan visualisasi dan analisis.

Berikut langkah-langkah untuk menggunakan Grafana dengan Prometheus:

Terapkan Prometheus:

Anda dapat menginstal Prometheus di server Anda sendiri atau menggunakan layanan hosting.

Konfigurasikan sumber data Prometheus:

Setelah Prometheus aktif dan berjalan, masuk ke Grafana dan buka bagian “Sumber Data”. Dari sana, klik “Tambahkan sumber data” dan pilih “Prometheus” sebagai jenisnya. Isi detail instalasi Prometheus Anda, termasuk URL dan informasi autentikasi, lalu klik “Simpan & Uji”.

Buat dasbor:

Selanjutnya, buat dasbor baru dengan mengeklik tombol “Buat dasbor” di UI Grafana. Ini akan membuka editor panel Grafana, tempat Anda dapat menambahkan berbagai visualisasi dan panel untuk merepresentasikan data Anda.

Tambahkan visualisasi:

Untuk menambahkan visualisasi, klik tombol “Add Panel” di UI Grafana dan pilih jenis visualisasi yang ingin Anda buat. Misalnya, Anda dapat membuat diagram garis untuk menunjukkan evolusi metrik dari waktu ke waktu.

Kueri data Prometheus:

Untuk meminta data dari Prometheus, gunakan bahasa permintaan Prometheus (PromQL) di editor panel Grafana. Anda dapat memasukkan ekspresi PromQL untuk mengambil data yang ingin Anda visualisasikan.

Sesuaikan dasbor:

Setelah Anda menambahkan visualisasi ke dasbor, Anda dapat menyesuaikannya lebih lanjut dengan menyesuaikan opsi tampilan, seperti label sumbu, garis kisi, dan palet warna.

Simpan dan bagikan:

Terakhir, simpan dasbor Anda dengan mengeklik tombol "Simpan" di UI Grafana. Anda kemudian dapat membagikan dasbor Anda dengan orang lain dengan memberikan URL kepada mereka.

Dengan menggunakan Grafana dengan Prometheus, Anda dapat dengan mudah memvisualisasikan dan menganalisis data yang dikumpulkan oleh Prometheus, dan membuat keputusan yang lebih baik berdasarkan data tersebut.

Berikut contoh file docker-compose.yml yang menampilkan Grafana dan Prometheus secara bersamaan:

version: '3'
services:
  prometheus:
    image: prom/prometheus
    ports:
      - 9090:9090
    volumes:
      - ./prometheus.yml:/etc/prometheus/prometheus.yml
  grafana:
    image: grafana/grafana
    ports:
      - 3000:3000
    volumes:
      - grafana-data:/var/lib/grafana
    environment:
      GF_SECURITY_ADMIN_PASSWORD: secret
      GF_USERS_ALLOW_SIGN_UP: 'false'
volumes:
  grafana-data:

Dalam contoh ini, layanan Prometheus menggunakan citra Docker Prometheus resmi dan mengekspos port 9090 pada host ke port 9090 dalam kontainer. Berkas konfigurasi Prometheus dipasang sebagai volume.

Layanan Grafana menggunakan citra Docker Grafana resmi dan mengekspos port 3000 pada host ke port 3000 dalam kontainer. Data Grafana disimpan dalam volume bernama grafana-data. Selain itu, variabel lingkungan GF_SECURITY_ADMIN_PASSWORD ditetapkan ke rahasia, dan pendaftaran dinonaktifkan dengan menetapkan GF_USERS_ALLOW_SIGN_UP ke false.

Untuk memunculkan tumpukan, jalankan saja perintah berikut di direktori yang sama dengan file docker-compose.yml:

docker-compose up -d

Ini akan mengunduh gambar yang dibutuhkan, membuat volume bernama, dan memulai kontainer di latar belakang. Anda kemudian dapat mengakses Grafana di  http://localhost:3000 , dan Prometheus di  http://localhost:9090 .

Untuk menambahkan Prometheus sebagai sumber data di Grafana, masuk ke UI Grafana, buka bagian “Sumber Data”, dan tambahkan sumber data baru bertipe “Prometheus”. Isi URL instans Prometheus Anda, yang dalam kasus ini adalah  http://prometheus:9090 , dan simpan perubahannya.

Dengan file docker-compose.yml ini, Anda sekarang memiliki tumpukan pemantauan yang berfungsi penuh, dengan Prometheus menyediakan pengumpulan dan penyimpanan data, dan Grafana menyediakan lapisan visualisasi dan analisis.

Menggunakan Grafana dengan Loki

Berikut contoh file docker-compose.yml yang dapat Anda gunakan untuk menyiapkan Grafana dan Loki dengan Docker:

version: '3'
services:
  grafana:
    image: grafana/grafana
    ports:
      - "3000:3000"
    environment:
      GF_INSTALL_PLUGINS: grafana-piechart-panel,grafana-loki-datasource
    volumes:
      - grafana-data:/var/lib/grafana
  loki:
    image: grafana/loki
    ports:
      - "3100:3100"
    volumes:
      - loki-data:/loki/data
volumes:
  grafana-data:
  loki-data:

Dalam contoh ini, kami menggunakan image Docker Grafana dan Loki resmi serta mengekspos port 3000 dan 3100, sehingga Anda dapat mengakses antarmuka web Grafana dan Loki.

Selain itu, kami memasang plugin grafana-piechart-panel dan grafana-loki-datasource di Grafana, yang menyediakan fungsionalitas berguna untuk memvisualisasikan data.

Kami juga mendefinisikan dua volume, grafana-data dan loki-data, untuk menyimpan data yang dihasilkan oleh Grafana dan Loki.

Untuk memulai layanan, jalankan perintah berikut di direktori yang sama dengan file docker-compose.yml:

docker-compose up -d

Ini akan mengunduh gambar jika belum tersedia secara lokal dan memulai layanan di latar belakang. Anda dapat mengakses Grafana di peramban web Anda di  http://localhost:3000 , dan Loki di  http://localhost:3100 .

Sekian dan Terimakasih