Graphite adalah alat pemantauan sumber terbuka dan gratis untuk menyimpan data deret waktu numerik dan grafiknya secara waktu nyata.
Grafit tidak mengumpulkan data dengan sendirinya, melainkan menerima data dari alat lain. Segera setelah Graphite menerima data, Graphite dapat membuat grafik di aplikasi web.
Dalam tutorial ini, kita belajar cara memasang Graphite dan Web Grafit di Ubuntu 20.04 menggunakan docker . Cara termudah untuk menjalankan instance Graphite adalah dengan menggunakan buruh pelabuhan.
Bagaimana cara kerja Grafit?
Gambaran umum arsitektur Graphite menunjukkan bahwa ia terdiri dari tiga komponen perangkat lunak:
- Karbon :Daemon bengkok yang secara pasif mendengarkan data deret waktu untuk pengumpulan data.
- Berbisik :perpustakaan database sederhana untuk menyimpan data deret waktu
- Aplikasi Web Grafit :Django WebApp yang merender grafik sesuai permintaan menggunakan Kairo.
Aplikasi mengirimkan data ke backend pemrosesan Graphite, Carbon, yang menyimpan data dalam basis data Graphite Whisper. Kemudian, data tersebut dapat dilihat melalui antarmuka web Graphite, Graphite Web App.
Langkah1:Instal Docker di Ubuntu
Pertama, kita akan menginstal Docker di Ubuntu. Menggunakan Docker, Anda dapat menjalankan Grapgitue dalam hitungan detik.
Untuk menginstal buruh pelabuhan, Anda perlu menginstal beberapa prasyarat:
$ sudo apt install apt-transport-https ca-certificates curl software-properties-common
Sekarang mari tambahkan kunci GP dari repositori buruh pelabuhan:
$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
Sekarang tambahkan Docker ke sumber APT. Ini akan memperbarui cache secara otomatis.
$ sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu focal stable"
Sekarang instal buruh pelabuhan menggunakan perintah berikut:
$ sudo apt install docker-ce
Tambahkan pengguna ke grup buruh pelabuhan sehingga dia dapat menggunakan perintah buruh pelabuhan tanpa hak sudo:
$ sudo usermod -aG docker username
Kemudian keluar dan masuk lagi agar tindakan diterapkan
Langkah 2:Jalankan grafit dengan buruh pelabuhan
Sangat cepat menjalankan grafit dengan buruh pelabuhan. Kali ini akan membutuhkan beberapa komponen selain komponen default yang telah kita lihat sebelumnya:
- Nginx :membalikkan proxy dasbor grafit
- Grafit :dasbor ujung depan
- Karbon :ujung belakang
- Statistik :Proksi back-end berbasis UDP
Anda juga perlu memeriksa apakah port berbeda yang dibutuhkan grafit akan tersedia. Selain itu, selama proses, pemetaan port akan dilakukan antara host dan container sehingga Anda dapat mengubah beberapa konfigurasi pemetaan di pihak Anda jika tidak sesuai dengan konfigurasi Anda yang sebenarnya. Anda dapat memperoleh informasi lebih lanjut tentang repo grafit resmi Github.
Tuan rumah | Wadah | Layanan |
80 | 80 | nginx |
2003 | 2003 | penerima karbon - teks biasa |
2004 | 2004 | penerima karbon - acar |
2023 | 2023 | agregator karbon - teks biasa |
2024 | 2024 | Agregator karbon - acar |
8080 | 8080 | Port gunicorn internal grafit (tanpa proxy Nginx). |
8125 | 8125 | statsd |
8126 | 8126 | admin statistik |
Jalankan nginx docker
Dalam kasus kami, kami akan menjalankan wadah independen sebagai proxy terbalik Nginx kami.
$ docker run -d --name nginx -p 80:80 -p 443:443 -v /etc/nginx/htpasswd:/etc/nginx/htpasswd -v /etc/nginx/vhost.d:/etc/nginx/vhost.d:ro -v /etc/nginx/certs:/etc/nginx/certs -v /var/run/docker.sock:/tmp/docker.sock:ro etopian/nginx-proxy
Ini akan membantu kami untuk mengarahkan ulang semua lalu lintas HTTP default ke HTTPS saat Anda mengintegrasikan sertifikat Anda. Anda akan melihat volume yang dipetakan untuk mengintegrasikan sertifikat Anda yaitu /etc/nginx/certs
Sekarang buka port 80 dan 443 di firewall:
$ sudo ufw allow 80,443/tcp
Langkah 3:Grafit - Integrasikan sertifikat SSL Anda ke nginx
Kami sedang mempertimbangkan bahwa Anda sudah memiliki sertifikat SSL Anda. Anda harus menyalinnya dalam volume yang dipetakan yang dikonfigurasi untuk kasus ini di Nginx. Kami akan memberi nama kunci dan sertifikat kami seperti di bawah ini:
- domain.com.crt
- domain.com.key
Dan kami akan menyalin dua file dalam volume yang dipetakan. Salin sertifikat
$ cp websitefortesting.com.crt /etc/nginx/certs
Salin kuncinya
$ cp websitefortesting.com.key /etc/nginx/certs
Jalankan grafit
Untuk menjalankan graphite, kita juga akan menggunakan perintah docker run dengan beberapa opsi. Dalam kasus kami, kami akan menunjukkan nama domain layanan kami dengan parameter -e VIRTUAL_HOST=domain.com
saat memulainya
$ docker run -d\
--name graphite\
--restart=always\
-e VIRTUAL_HOST=websitefortesting.com\
-p 2003-2004:2003-2004\
-p 2023-2024:2023-2024\
-p 8125:8125/udp\
-p 8126:8126\
graphiteapp/graphite-statsd
Seperti yang Anda lihat, tidak perlu memetakan port 80 Nginx karena sudah berjalan. Sekarang coba akses grafit dengan URL https://domain.com
Anda dapat melihat di statsd.
Nama pengguna login default Graphite adalah root dan login dengan kata sandi root.
Anda harus mengubah kata sandi default profil root agar lebih aman dengan menggunakan di https://domain.com/admin/password_change/
Anda dapat mengaksesnya dengan kata sandi baru Anda.
Kesimpulan
Dalam tutorial ini, kita belajar bagaimana menjalankan grafit di Ubuntu 20.04 dengan menggunakan buruh pelabuhan. Sekarang Anda dapat dengan mudah memantau dan membuat grafik data deret waktu numerik.