GNU/Linux >> Belajar Linux >  >> Panels >> Docker

Cara Menjalankan Grafana Dalam Wadah Docker

Grafana adalah platform observabilitas terkemuka untuk visualisasi metrik. Ini memungkinkan Anda membuat dasbor pesanan untuk menampilkan wawasan yang berarti dari aliran data real-time aplikasi Anda.

Grafana adalah aplikasi cloud-native yang siap diluncurkan pada penyedia infrastruktur populer, diinstal pada perangkat keras Anda sendiri, atau digunakan sebagai wadah mandiri. Dalam panduan ini kita akan fokus pada pilihan terakhir dengan menggunakan gambar resmi Grafana untuk memulai sebuah instance yang berjalan di Docker.

Memulai

Pembuatan container Grafana yang paling sederhana terlihat seperti ini:

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

Anda akan memiliki server Grafana baru yang dapat diakses pada port 3000. Kunjungi http://localhost:3000 dan login sebagai admin /admin .

Sekarang Anda dapat mulai menambahkan sumber data dan dasbor untuk membuat visualisasi Anda. Tekan tombol “Tambahkan sumber data pertama Anda” di beranda untuk menghubungkan sumber baru; pilih jenis penyedia di layar berikut, lalu isi detailnya agar Grafana dapat mengakses data Anda.

Selanjutnya kembali ke beranda dan klik "Buat dasbor pertama Anda." Pilih jenis visualisasi pilihan Anda, lalu gunakan panel kueri untuk memilih metrik yang sesuai dari data Anda. Setelah selesai, visualisasi baru Anda akan ditampilkan di dasbor.

Prosedur ini menunjukkan betapa mudahnya Anda dapat memulai instance pengujian Grafana sekali pakai. Menjalankan wadah siap produksi membutuhkan sedikit lebih banyak pemikiran. Berikut adalah pendekatan yang lebih lengkap yang dilengkapi dengan lebih baik untuk penggunaan jangka panjang.

Memilih Varian Gambar

Grafana menggunakan model bisnis lisensi ganda. Edisi open-source diterbitkan sebagai grafana/grafana di Docker Hub sedangkan Enterprise adalah grafana/grafana-enterprise . Petunjuk berikut akan berfungsi dengan kedua varian tingkat atas ini.

Beberapa versi Grafana tersedia, masing-masing dalam rasa Alpine atau Ubuntu. Alpine harus lebih disukai di sebagian besar situasi penerapan:lebih ramping dan berfokus pada penyediaan lingkungan yang kompatibel dengan Grafana tanpa tambahan yang berlebihan.

OS dipilih dengan menambahkan namanya setelah versi Grafana dalam tag gambar:

grafana/grafana:8.3.0-ubuntu

Itu selalu yang terbaik untuk menyematkan ke rilis tertentu sehingga Anda tidak secara tidak sengaja menerima perubahan yang melanggar saat pembaruan baru diterbitkan. Menghilangkan nama OS (grafana/grafana:8.3.0 ) akan memberi Anda varian Alpine dari versi yang Anda pilih.

Membuat Wadah

Grafana memiliki persyaratan penerapan yang relatif mudah. Anda perlu memasang volume Docker untuk menyimpan data persisten Anda dan mengikat port host sehingga Anda dapat mengakses layanan. Pengaturan dapat diberikan dengan memasang file konfigurasi ke dalam wadah atau memasukkan variabel lingkungan.

docker run -d --name grafana -p 9000:3000 
    -v grafana-data:/var/lib/grafana
    grafana/grafana:8.3.0

Contoh ini memulai wadah Grafana baru yang disebut grafana yang mendengarkan pada port 9000 di Host Docker Anda. Port terikat ke 3000 dalam wadah karena ini adalah alamat mendengarkan default Grafana.

Volume Docker bernama grafana-data direferensikan oleh -v bendera. Sudah terpasang ke /var/lib/grafana dalam wadah, tempat Grafana menyimpan semua data yang dihasilkannya. Pemasangan volume berarti konten direktori akan disimpan di luar penampung, menghindari kehilangan data saat penampung berhenti atau host Anda memulai ulang.

Konfigurasi Penyuntikan

Anda dapat mengganti kunci konfigurasi Grafana dengan mengatur variabel lingkungan saat Anda memulai wadah Anda. Anda dapat mengubah salah satu kunci dalam file konfigurasi format INI Grafana dengan menggunakan huruf besar pada nama kunci dan menambahkan GF_ :

# INI file
instance_name = my-grafana

[security]
admin_user = demo
admin_password = grafana

---

# Corresponding environment variables
GF_DEFAULT_INSTANCE_NAME=my-grafana
GF_SECURITY_ADMIN_USER=demo
GF_SECURITY_ADMIN_PASSWORD=grafana

Pastikan Anda menyertakan DEFAULT implicit implisit nama bagian saat Anda mengubah nilai variabel tingkat atas di file konfigurasi.

Setelah Anda menentukan nilai mana yang ingin Anda ubah, berikan variabel lingkungan yang benar dengan -e tandai saat Anda memulai penampung:

docker run -d --name grafana -p 9000:3000 
    -e GF_DEFAULT_INSTANCE_NAME=my-grafana
    -e GF_SECURITY_ADMIN_USER=demo
    -e GF_SECURITY_ADMIN_PASSWORD=grafana
    -v grafana-data:/var/lib/grafana
    grafana/grafana:8.3.0

Grafana juga mendukung konfigurasi berbasis file. Dengan mekanisme ini, nilai variabel lingkungan target menjadi jalur ke file yang tersedia di dalam wadah. Grafana akan mendapatkan nilai sebenarnya dari pengaturan dengan membaca file.

Untuk menggunakan pendekatan ini, ubah variabel lingkungan apa pun dengan menambahkan akhiran __FILE dengan nama biasa:

docker run -d --name grafana -p 9000:3000 
    -e GF_DEFAULT_INSTANCE_NAME=my-grafana
    -e GF_SECURITY_ADMIN_USER=demo
    -e GF_SECURITY_ADMIN_PASSWORD__FILE=/run/secrets/password
    -v grafana-data:/var/lib/grafana
    grafana/grafana:8.3.0

Anda dapat menambahkan file ke wadah menggunakan pengikatan (-v ./password.txt:/run/secrets/password ) atau sistem manajemen rahasia khusus seperti Rahasia Docker. Konfigurasi berbasis file menyediakan cara yang lebih aman untuk memasukkan nilai sensitif yang tidak ingin Anda tampilkan sebagai teks biasa di log tugas CI dan riwayat shell Anda.

Mengganti File Konfigurasi

Anda selalu dapat mengganti file konfigurasi di disk Grafana jika Anda mengubah terlalu banyak nilai agar variabel lingkungan menjadi nyaman.

Gambar Docker menempatkan file ini di /etc/grafana/grafana.ini . Anda dapat memasang pengganti ke jalur yang diharapkan menggunakan pemasangan pengikat Docker:

docker run -d --name grafana -p 9000:3000 
    -v ./grafana.ini:/etc/grafana/grafana.ini
    -v grafana-data:/var/lib/grafana
    grafana/grafana:8.3.0

Menggunakan file konfigurasi memudahkan injeksi pengaturan yang lebih rumit. Anda dapat menginterpolasi variabel untuk membangun nilai dinamis. File konfigurasi juga mendukung komentar yang memungkinkan Anda mendokumentasikan niat Anda untuk membantu pengelola di masa mendatang.

Mengelola Plugin

Banyak instalasi Grafana memerlukan plugin yang menambahkan sumber data tambahan atau menyediakan panel dasbor yang sudah dibuat sebelumnya. Gambar Docker menyertakan utilitas pembantu yang memungkinkan Anda menambahkan plugin ke wadah baru dengan menyetel variabel lingkungan khusus.

Berikut cara menambahkan plugin resmi yang terdaftar di katalog Grafana:

docker run -d --name grafana -p 9000:3000 
    -e GF_INSTALL_PLUGINS=grafana-simple-json-datasource
    -v grafana-data:/var/lib/grafana
    grafana/grafana:8.3.0

GF_INSTALL_PLUGINS variabel mengharapkan daftar nama plugin yang dipisahkan koma untuk diinstal saat penampung pertama kali dimulai. Nama-nama akan diteruskan ke grafana-cli plugins install memerintah. Ini berarti Anda dapat menyertakan ekspresi versi, seperti grafana-simple-json-datasource 1.1.0 , dan referensi plugin komunitas melalui URL mereka:

docker run -d --name grafana -p 9000:3000 
    -e GF_INSTALL_PLUGINS=https://example.com/grafana-plugin.zip
    -v grafana-data:/var/lib/grafana
    grafana/grafana:8.3.0

Membuat Gambar Kustom

Memunculkan container Grafana secara manual dengan konfigurasi yang disediakan melalui docker run flag berulang dan rawan kesalahan. Membangun image Docker Anda sendiri dengan modifikasi yang disertakan menghemat waktu dan memusatkan pengaturan ketika beberapa anggota tim harus dapat menjalankan instance baru.

Anda dapat mencapai ini dengan menulis Dockerfile yang memperluas grafana/grafana resmi gambar. Ini memberi Anda kesempatan untuk menyalin dalam file konfigurasi khusus dan mengatur variabel lingkungan tambahan yang Anda butuhkan.

FROM grafana/grafana:8.3.0

# Add plugins
ENV GF_INSTALL_PLUGINS=grafana-simple-json-datasource

# Copy a config file from your working directory
COPY grafana.ini /etc/grafana/grafana.ini

Gunakan Dockerfile Anda untuk membuat gambar Grafana baru Anda:

docker build -t custom-grafana:latest .

Sekarang Anda dapat memulai instance container yang telah dikonfigurasikan dari gambar Anda:

docker run -d --name grafana -p 9000:3000 
    -v grafana-data:/var/lib/grafana
    custom-grafana:latest

Pendekatan ini sangat berguna ketika Anda telah membuat modifikasi ekstensif pada lingkungan Grafana Anda. Anda sekarang dapat mereproduksi keandalan konfigurasi Anda setiap kali Anda memulai sebuah wadah. Ini juga membantu perubahan versi pada penginstalan Anda dari waktu ke waktu.

Salah satu kelemahannya adalah kebutuhan untuk membangun kembali gambar Anda ketika pembaruan Grafana hulu diterbitkan. Anda harus menarik grafana/grafana secara berkala , docker build gambar Anda, dorong ke registri, lalu tarik versi baru di Host Docker Anda. Tahap terakhir adalah membuat ulang container yang sedang berjalan sehingga mereka menggunakan gambar yang diperbarui.

Ringkasan

Docker menyederhanakan instalasi dan pengaturan Grafana dengan menyediakan lingkungan terisolasi di mana Anda dapat meng-host platform observabilitas Anda. Anda dapat dengan cepat memulai instans Grafana baru dengan mengikat port host, memasang volume data, dan menyediakan nilai konfigurasi melalui variabel lingkungan. Nanti Anda dapat merangkum konfigurasi Anda dalam gambar Anda sendiri yang dapat digunakan kembali yang dibangun di atas basis resmi.

Setelah aktif dan berjalan, instalasi Grafana Dockerized berfungsi seperti yang biasa. Anda dapat menghubungkan sumber data, berinteraksi dengan HTTP API, dan mengonfigurasi peringatan dengan mengarahkan ke port host yang Anda ikat ke penampung Anda. Anda juga dapat menetapkan nama domain untuk instance Anda dan menyiapkan HTTPS dengan menyajikannya di belakang proxy terbalik seperti Apache atau Traefik.


Docker
  1. Cara Menjalankan Perintah di Running Docker Container

  2. Cara Menetapkan IP Statis ke Wadah Docker

  3. Cara Mendaftar Kontainer Docker

  1. Bagaimana Cara Menjalankan Program Di Dalam Wadah Docker?

  2. Cara Keluar dari Kontainer Docker

  3. Bagaimana cara mengirim sinyal ke program yang dijalankan dalam wadah buruh pelabuhan?

  1. Cara Menjalankan MySQL Dalam Wadah Docker

  2. Cara SSH Ke Wadah Docker

  3. Cara Menginstal Vim di Wadah Docker