Cara install Grafana Loki dengan Docker Compose untuk Monitoring Log | alvianaufan

BLOG IT SYSADMIN

Daftar akun digitalocean untuk mendapatkan free credit 100$.
DigitalOcean Referral Badge

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

  1. Download file docker-compose  wget https://raw.githubusercontent.com/grafana/loki/v2.8.0/production/docker-compose.yaml -O docker-compose.yamlLalu edit filenya nano 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)

  2. Jika sudah, silahkan langsung jalankan docker composenya dengan command docker-compose -f docker-compose.yaml up
  3. Tunggu hingga proses docker pull hingga docker run nya selesai.
  4. Jika sudah selesai, cek terlebih dahulu dengan command docker psCara install Grafana Loki dengan Docker Compose untuk Monitoring Log
  5. Lalu silahkan buka browser dan akses grafana dengan link http:alamat-ip:3000

  6. Lalu login menggunakan akses default:
    – Username: admin
    – Password: adminCara install Grafana Loki dengan Docker Compose untuk Monitoring Log

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

  1. Login ke server client dan masuk ke folder bin cd /usr/local/bin
  2. 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
  3. 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)

  4. 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)

  5. Lalu jalankan service loki dan promtailnya
    systemctl start loki
    systemctl enable loki
    systemctl start promtail
    systemctl enable promtail
  6. Pastikan untuk TCP port loki dan promtail sudah diopen agar dapat diakses dari server monitoring grafana.
    – Loki: 3100, 9096
    – Promtail: 43051, 9080
  7. Cek apakah loki dan promtail di server client sudah bisa diakses dari browser. Cara install Grafana Loki dengan Docker Compose untuk Monitoring LogCara install Grafana Loki dengan Docker Compose untuk Monitoring Log



B. Menambahkan node server client di dalam dashboard grafana

  1. Login ke web grafana terlebih dahulu
  2. Klik icon setting > Data Sources
  3. Klik tombol add data sourcesCara install Grafana Loki dengan Docker Compose untuk Monitoring Log
    – 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
  4. 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. Cara install Grafana Loki dengan Docker Compose untuk Monitoring LogCara install Grafana Loki dengan Docker Compose untuk Monitoring Log
    – 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 🙂



Write A Comment