Apa itu Grafana Loki?
Grafana Loki adalah sekumpulan komponen yang dapat disusun menjadi tumpukan logging berfitur lengkap.
Tidak seperti sistem logging lainnya, Loki dibangun dengan ide hanya mengindeks metadata tentang log Anda: label (seperti label Prometheus). Data log itu sendiri kemudian dikompresi dan disimpan dalam potongan-potongan di penyimpanan objek seperti S3 atau GCS, atau bahkan secara lokal di sistem file. Indeks kecil dan bongkahan yang sangat padat menyederhanakan operasi dan secara signifikan menurunkan biaya Loki.
*Sebelum memulai install Grafana Loki, Anda perlu menginstall Docker terlebih dahulu di server. Anda bisa mengikuti tutorial cara install docker di sini: cara install docker di ubuntu server
Cara Install Grafana Loki dengan Docker Compose
- Download file docker-compose
wget https://raw.githubusercontent.com/grafana/loki/v2.8.0/production/docker-compose.yaml -O docker-compose.yaml
Lalu edit filenyanano docker-compose.yaml
version: "3" networks: loki: services: loki: image: grafana/loki:2.6.1 ports: - "3100:3100" command: -config.file=/etc/loki/local-config.yaml networks: - loki promtail: image: grafana/promtail:2.6.1 volumes: - /var/log:/var/log command: -config.file=/etc/promtail/config.yml networks: - loki grafana: image: grafana/grafana:latest ports: - "3000:3000" networks: - loki
– Anda bisa menyesuaikan port untuk menjalankan grafana, loki, dan promtailnya (pastikan untuk memilih port yang belum digunakan sebelumnya)
– Save (ctrl+x,y, enter) - Jika sudah, silahkan langsung jalankan docker composenya dengan command
docker-compose -f docker-compose.yaml up
- Tunggu hingga proses docker pull hingga docker run nya selesai.
- Jika sudah selesai, cek terlebih dahulu dengan command
docker ps
- Lalu silahkan buka browser dan akses grafana dengan link http:alamat-ip:3000
- Lalu login menggunakan akses default:
– Username: admin
– Password: admin
Sampai sini Anda sudah berhasil menginstall dan menjalankan grafana loki di docker. Selanjutnya kita akan mencoba memonitoring log dari server client / server lain didalam grafana.
A. Setup Loki dan Promtail di Server Client
- Login ke server client dan masuk ke folder bin
cd /usr/local/bin
- Download file yaml dan binnary untuk loki dan promtail lalu extract file zip dan atur permissionnya:
wget https://raw.githubusercontent.com/grafana/loki/v2.7.0/cmd/loki/loki-local-config.yaml wget https://raw.githubusercontent.com/grafana/loki/main/clients/cmd/promtail/promtail-local-config.yaml wget https://github.com/grafana/loki/releases/download/v2.7.0/promtail-linux-amd64.zip curl -O -L "https://github.com/grafana/loki/releases/download/v2.7.0/loki-linux-amd64.zip" unzip "loki-linux-amd64.zip" chmod a+x "loki-linux-amd64" unzip promtail-linux-amd64.zip chmod a+x promtail-linux-amd64
- Setelah itu buatlah file systemd untuk loki
nano /etc/systemd/system/loki.service
[Unit] Description=Loki service After=network.target [Service] ExecStart=/usr/local/bin/loki-linux-amd64 -config.file=/usr/local/bin/loki-local-config.yaml Restart=always [Install] WantedBy=multi-user.target
– Save dan exit (ctrl+x,y, enter)
- Buat juga file systemd untuk promtail
nano /etc/systemd/system/promtail.service
[Unit] Description=Promtail client for sending logs to Loki After=network.target [Service] ExecStart=/usr/local/bin/promtail-linux-amd64 -config.file=/usr/local/bin/promtail-local-config.yaml Restart=always TimeoutStopSec=3 [Install] WantedBy=multi-user.target
– Save dan exit (ctrl+x,y, enter)
- Lalu jalankan service loki dan promtailnya
systemctl start loki systemctl enable loki systemctl start promtail systemctl enable promtail
- Pastikan untuk TCP port loki dan promtail sudah diopen agar dapat diakses dari server monitoring grafana.
– Loki: 3100, 9096
– Promtail: 43051, 9080 - Cek apakah loki dan promtail di server client sudah bisa diakses dari browser.
B. Menambahkan node server client di dalam dashboard grafana
- Login ke web grafana terlebih dahulu
- Klik icon setting > Data Sources
- Klik tombol add data sources
– Klik tombol save & test
– Pastikan bahwa ketika test connection status nya adalah connected
– Jika koneksi ke client loki gagal maka perlu di cek apakah loki berhasil di buka dari browser atau belum bisa dengan akses ke URL http://alamat-ip-client:3100 dan coba juga akses ke promtail dengan URL http://alamat-ip-client:9080 - Masuk ke menu explore lalu pilih data source > lalu filter menggunakan filename dan pilih path file log nya dan tekan tombol Run query disebelah kanan atas.
– Perlu diketahui jika ingin menambahkan file log dari aplikasi lain disarankan untuk melakukan symlink saja pada server client ke dalam path folder /var/log agar path folder menjadi terpusat dan tidak berantakan.
Demikian cara install Grafana dengan Docker dan setup monitoring client log dengan loki dan promtail. Silahkan jika ada yang memiliki pertanyaan atau kendala, bisa tulis di kolom komentar ya 🙂