Apa yang bisa kami bantu?

A. Pendahuluan

Monitoring sistem dan aplikasi sangat penting untuk memastikan kehandalan dan ketersediaan layanan yang disediakan oleh sebuah infrastruktur teknologi informasi. Dalam artikel ini, kami akan membahas tentang cara melakukan setup monitoring menggunakan Prometheus dan Grafana, dua perangkat lunak open-source yang sangat populer dalam industri monitoring.

Prometheus adalah sistem monitoring dan alerting yang mengumpulkan metrik dari berbagai sumber seperti aplikasi, sistem operasi, dan layanan jaringan. Prometheus memiliki kemampuan untuk melakukan query terhadap metrik yang dikumpulkan dan memberikan notifikasi pada kondisi tertentu.

Sedangkan Grafana adalah perangkat lunak untuk visualisasi data dan monitoring. Grafana dapat mengambil data dari berbagai sumber, termasuk Prometheus, dan memungkinkan pengguna untuk membuat dashboard yang menampilkan data dalam bentuk grafik, tabel, dan grafis lainnya.

Dalam artikel ini, kami akan membahas cara melakukan setup Prometheus dan Grafana, mengkonfigurasi datasource, membuat dashboard untuk memvisualisasikan metrik yang dikumpulkan.

Berikut detail spesifikasi yang digunakan

  • Server node : IP 103.150.11x.xxx
  • Server Prometheus & Grafana :IP 103.150.1xx.xxx
  • Untuk server prometheus & Grafana menggunakan NEO Lite dengan paket SS 2.2 yang masih fresh OS

B. Langkah Instalasi

 1. Install node Exporter

Pastikan untuk melakukan instalasi node exporter pada server yang ingin dimonitoring oleh prometheus & Grafana.

1. login ke server yang ingin dilakukan monitoring

2. Open port 9100

Pastikan port 9100 sudah terbuka, jika  Anda menggunakan firewall bisa membuka nya dengan perintah berikut

# firewall-cmd --zone=public --permanent --add-port=9100/tcp
# firewall-cmd --reload

3. Folder Instalasi

Pada artikel ini kami melakukan instalasi pada direktori opt, sehingga Anda dapat pindah terlebih dahulu ke direktori opt

# cd /opt

4. Download node exporter

Download terlebih dahulu file yang dibutuhkan yaitu node exporter. Untuk mengunduh pembaruan terbaru, buka situs unduhan resmi Prometheus dan salin tautan unduhan untuk sistem operasi Linux. Unduh menggunakan wget dan tautan yang Anda salin seperti berikut :

# wget https://github.com/prometheus/node_exporter/releases/download/v1.9.1/node_exporter-1.9.1.linux-amd64.tar.gz

5. Extract file node exporter

# tar xvzf node_exporter-1.9.1.linux-amd64.tar.gz

6. Jadikan Node  Exporter sebagai service

Buat file berikut terlebih dahulu

# sudo vi /etc/systemd/system/node_exporter.service

Kemudian isi kan data berikut:

[Unit]
Description=Node Exporter

[Service]
User=root
ExecStart=/opt/node_exporter-1.9.1.linux-amd64/node_exporter

[Install]
WantedBy=default.target
Gambar 1. File Nod Exporter Service

 

Setelah itu aktifkan service node exporter dengan perintah berikut

# systemctl daemon-reload
# systemctl enable node_exporter.service
# systemctl start node_exporter.service
# systemctl status node_exporter.service

 

Gambar 2. Status Node Exporter Service

 

Pastikan service nya sudah aktif dan sudah listen pada port 9100

Setelah itu coba melakukan pengecekan pada browser seperti chrome dengan mengetikan IP_ADDR:port/metrics

 

Gambar 3. Test Pada Borwser Chrome

 

Jika muncul tampilan seperti gambar diatas,menandakan instalasi node exporter berhasil dilakukan

Note: jika instalasi node tidak bisa dilakukan atau tidak sesuai dengan jenis server yang anda miliki, maka Anda bisa mencoba untuk memilih node exporter sesuai dengan informasi pada link berikut https://prometheus.io/docs/instrumenting/exporters/

2. Instalasi Prometheus

Lakukan instalasi prometheus pada server NEO Lite dengan IP 103.150.1xx.xxx .

1. login ke server neo lite

anda dapat mengikuti panduan berikut agar dapat login ke server NEO lite yang anda miliki: Cara Mengakses Layanan NEO Lite

2. Open port 9090

karena default layanan NEO Lite tidak ada pembatasan port maka dapat lanjutkan proses instalasi. Akan tetapi jika Anda sudah menggunakan firewall, pastikan membuka port 9090 dan cara membukanya dengan perintah berikut

# firewall-cmd --zone=public --permanent --add-port=9090/tcp
# firewall-cmd --reload

3. Folder Instalasi

Pada artikel ini kami melakukan instalasi pada direktori opt, sehingga Anda dapat pindah terlebih dahulu ke direktori opt

# cd /opt

4. Download file prometehus

Download terlebih dahulu file prometheus yang dibutuhkan

# wget https://github.com/prometheus/prometheus/releases/download/v3.4.1/prometheus-3.4.1.linux-amd64.tar.gz

5. Extract File Prometheus

Untuk mengextract fille download prometheusbisa menggunakan perintah berikut

# tar xvzf prometheus-3.4.1.linux-amd64.tar.gz

6. config file Prometheus

Pindah terlebih dahulu ke direktori prometheus yang sudah di extract sebelumnya

# cd prometheus-3.4.1.linux-amd64

Lalu edit pada bagian config.yaml

# vi prometheus.yml

Edit seperti info berikut 

# my global config
global:
  scrape_interval: 15s # Set the scrape interval to every 15 seconds. Default is every 1 minute.
  evaluation_interval: 15s # Evaluate rules every 15 seconds. The default is every 1 minute.
  # scrape_timeout is set to the global default (10s).

# Alertmanager configuration
alerting:
  alertmanagers:
    - static_configs:
        - targets:
          # - alertmanager:9093

# Load rules once and periodically evaluate them according to the global 'evaluation_interval'.
rule_files:
  # - "first_rules.yml"
  # - "second_rules.yml"

# A scrape configuration containing exactly one endpoint to scrape:
# Here it's Prometheus itself.
scrape_configs:
  # The job name is added as a label `job=<job_name>` to any timeseries scraped from this config.
  - job_name: "prometheus"

    # metrics_path defaults to '/metrics'
    # scheme defaults to 'http'.

    static_configs:
      - targets: ["IP_ADDR_PROMETHEUS:9090"]
  - job_name: 'node'
    static_configs:
      - targets: ["IP_ADDR_TARGET_MONITORING:9100"]
       # The label name is added as a label `label_name=<label_value>` to any timeseries scraped from this config.
       # labels:
       #   app: "prometheus"

 

Kemudian cek konfigurasi pada promethus

# ./promtool check config prometheus.yml

Jika sukses maka akan ada informasi sukses seperti gambar dibawah ini, jia fail maka ada konfigurasi pada config.yaml yang masih salah

 

Gambar 4. Cek Konfigurasi Config prometheus.yml

 

Lalu jadikan promethus agar listen sebagai webservice

# ./prometheus --web.listen-address=IP_ADDR:9090 --config.file=/opt/prometheus-3.4.1.linux-amd64/prometheus.yml

Ubah IP_ADDR sesuai dengan IP yang Anda miliki.

7.  Jadikan prometheus sebagai service

Buat file terlebih dahulu

# vi /etc/systemd/system/prometheus_server.service

Kemudian ketikan perintah berikut

[Service]
User=root
ExecStart=/opt/prometheus-3.4.1.linux-amd64/prometheus-3.4.1.linux-amd64/prometheus \
  --web.listen-address=0.0.0.0:9090 \
  --config.file=/opt/prometheus-3.4.1.linux-amd64/prometheus.yml

[Install]
WantedBy=default.target

 

Setelah itu aktifkan service promethus dengan 4 perintah berikut

# systemctl daemon-reload
# systemctl enable prometheus_server.service
# systemctl start prometheus_server.service
# systemctl status prometheus_server.service

 

Pastikan status nya active

Gambar 5. Status Prometheus Service


Setelah itu coba melakukan pengecekan pada browser sepertichrome dengan mengetikan IP_ADDR:PORT atau 103.150.1xx.xxx:9090 . jika berhasilakan muncul tampilan berikut

Gambar 6. Cek Pada Browser Chrome

 

3. Install grafana

Lakukan instalasi prometheus pada server NEO Lite dengan IP 103.150.1xx.xxx .

1. Login ke server NEO Lite

2. Open port 3000

karena default layanan NEO Lite tidak adapembatasan port maka dapat lanjutkan proses instalasi. Akan tetapi jika Andasudah menggunakan firewall, pastikan membuka port 3000 dan cara membukanyadengan perintah berikut

# firewall-cmd --zone=public --permanent --add-port=3000/tcp
# firewall-cmd --reload

3. Folder Instalasi

Pada artikel inikami melakukan instalasi pada direktori opt, sehingga Anda dapat pindah terlebih dahulu ke direktori opt

# cd /opt

4. Downlaod file Grafana

Download terlebih dahulu file Grafana yang dibutuhkan

# wget https://dl.grafana.com/oss/release/grafana-12.0.1.linux-amd64.tar.gz

5. Extract File Grafana

Untuk melakukan extract bisa mengikuti perintah berikut

# tar -zxvf grafana-12.0.1.linux-amd64.tar.gz

6. Konfigurasi Grafana

Masuk terlebih dahulu ke direktori grafana

# cd grafana-v12.0.1

Jalankan grafana menjadi webserver dengan perintah berikut

# ./bin/grafana-server --homepath=/opt/grafana-v12.0.1 web

7. Jadikan Grafana sebaga service

Buat file terlebih dahulu

# vi /etc/systemd/system/grafana.service

Kemudian isikan konfigurasi berikut

[Unit]
Description=Grafana

[Service]
User=root
ExecStart=/opt/grafana-v12.0.1/bin/grafana-server --homepath=/opt/grafana-v12.0.1 web

[Install]
WantedBy=default.target

 

Setelah itu aktifkan service grafana dengan 4 perintah berikut

# systemctl daemon-reload
# systemctl enable grafana.service
# systemctl start grafana.service
# systemctl status grafana.service

Pastikan untuk status Grafana service nya adalah aktif

Gambar 7. Status Grafana Service


Lalu dapat dicoba dengan membuka browser serperti chrome dengan mengetikan IP_ADDR:3000

Gambar 8. Cek Grafana Pada Browser Chrome

 

Untuk crendtial grafana defult nya adalah username admin dan password admin

Tampilan awal login akan seperti gambar berikut, kemudian masukan klik data source

Gambar 9. Add New Data source

 

Setelah itu pilih prometeus

Gambar 10. Add Prometheus

 

Masukan IP public yang diinstall prometehus beserta port 9090

Gambar 11. Konfigurasi grafana

 

Setelah itu save & test, jika berhasilakan tampil data source is working

Gambar 12. Konfigurasi Berhasil

 

Jika sudah klik icon + dan import

Gambar 13. Menu Import

 

Masukan angka 405

Gambar 14. Import Data 



Untuk 405 bisa Anda dapatkan dari link berikut: https://grafana.com/grafana/dashboards/405-node-exporter-server-metrics/

Gambar 15. Website Resmi Grafana

 

Atau Anda dapat memilih dashboard yang Anda butuhkan dengan mencarinya dilink berikut: https://grafana.com/grafana/dashboards/
Setalah itu pastikan untuk memilih data source prometeheus yang sudah ditambahkan

Gambar 16. Konfigurasi Grafana

Dan klik import. Sehingga tampilan grafananya menjadi sepertiberikut

Gambar 17. Monitoring Grafana


Kemudian klik save

Gambar 18. Klik Save

 

Lalu untuk memonitoring server anda klik bagian home dan pilih nama monitoring yang sudah ditambahkan 

Gambar 19. Menu Monitoring
Gambar 20. Pilih Monitoring yang ditambahkan
Gambar 21. Informasi Server yang dimonitoring

 

C. Kesimpulan

Dalam artikel ini, kami telah membahas cara menyiapkan pemantauan menggunakan Prometheus dan Grafana. Dengan mengikuti panduan ini, Anda dapat mengumpulkan, menyimpan, dan visualisasi data pemantauan dengan lebih efisien. Ini membantu Anda dalam memahami kinerja sistem dan aplikasi Anda, mengidentifikasi masalah dengan cepat, dan membuat keputusan yang lebih baik dalam menjaga infrastruktur TI Anda.

Semoga artikel ini dapat membantu Anda. Temukan bantuan lainnya melalui Knowledge Base Biznet Gio. Jika Anda masih memiliki kendala silahkan hubungi support@biznetgio.com atau (021) 5714567.