...
0

Monitoring Server Menggunakan Grafana dan Prometheus

RajaBackLink.com
monitoring-server-menggunakan-grafana-dan-prometheus

Monitoring server dan jaringan adalah hal yang sangat penting untuk memastikan sistem tetap tersedia dan berfungsi dengan baik. Biasanya, tugas ini dilakukan oleh seorang SysAdmin yang bertanggung jawab atas jaringan komputer. Namun, metode monitoring tradisional yang memerlukan pemantauan terus-menerus di depan layar komputer merupakan hal dianggap kurang efisien.

Untuk mengatasi masalah ini, monitoring server dapat dilakukan secara real-time menggunakan aplikasi open source seperti Prometheus dan Grafana. Grafana mampu memberikan informasi seperti grafik tentang kondisi server secara real-time, dan akan mengirimkan pesan/laporan kepada administrator melalui Telegram.

Pada Artikel ini, kami akan membahas cara melakukan setup monitoring server menggunakan Prometheus dan Grafana. Dengan menggunakan kedua tools ini, SysAdmin dapat memastikan layanan selalu tersedia dan mendeteksi masalah pada server produksi dengan lebih efisien.

Pengertian & Konsep Tools

1. Prometheus 

Prometheus adalah sebuah tools monitoring server yang berfungsi untuk mengumpulkan, menyimpan, dan mengelola data metrik dari berbagai server yang ada melalui Node Exporter. Selain itu, Prometheus membantu dalam memantau kinerja sistem, aplikasi, layanan, dan infrastruktur secara real-time.

Dengan menggunakan model data time series, Prometheus menyimpan data metrik dalam urutan waktu, sehingga memungkinkan analisis historis dan pemantauan proaktif. Artinya, Anda bisa melihat bagaimana kinerja sistem di masa lalu dan mengantisipasi masalah sebelum terjadi.

Selain itu, Prometheus memiliki fitur alerting yang dapat mengirim pemberitahuan berdasarkan aturan yang sudah ditentukan pengguna. Prometeus akan melakukan scraping atau pengambilan data dari node exporter untuk dikumpulkan pada database prometheus.

Promo Hosting Murah Rumahweb

2. Grafana 

Grafana adalah software open-source yang digunakan untuk memantau dan membuat visualisasi data dari berbagai sumber dalam bentuk dashboard grafik website yang simple dan mudah dimengerti.

Selain itu, Grafana sering digunakan oleh para SysAdmin dan profesional DevOps untuk mengetahui secara detil kinerja aplikasi, sistem, dan infrastruktur mereka. Berikut beberapa fitur utama dari Grafana:

  1. Visualisasi Data: Grafana menyediakan berbagai jenis visualisasi data seperti grafik garis, grafik batang, dan lain-lain yang dapat disesuaikan sesuai kebutuhan admin server.
  2. Dashboard Menarik: Kita dapat membuat dashboard yang dinamis dengan berbagai widget dan filter yang dapat diatur sesuai dengan kebutuhan monitoring.
  3. Multi-Source : Grafana mendukung berbagai sumber data termasuk Prometheus, InfluxDB, Graphite, Elasticsearch, MySQL, PostgreSQL, dan masih banyak lagi.
  4. Alerting : Kita bisa mengatur notifikasi peringatan bahaya (alerting) berdasarkan metrik yang dipantau. Notifikasi ini dapat dikirim melalui berbagai tools seperti email, telegram, dan lainnya.
  5. Query Editor : Grafana menyediakan editor kueri yang fleksibel untuk mengolah data dari berbagai server yang tersedia.
  6. Plugin : Terdapat berbagai plugin yang tersedia untuk menambah fungsionalitas Grafana, baik itu plugin data source, panel visualisasi, maupun aplikasi.

Grafana sering digunakan untuk memantau kinerja aplikasi, jaringan, dan infrastruktur. Hal Ini memungkinkan tim admin dengan cepat mengidentifikasi dan menyelesaikan masalah dengan informasi dari visualisasi pada dasbor grafana, seperti CPU yang overload, atau server yang offline/down, dsb.

BACA JUGA : Apa Itu Zabbix Monitoring Server dan Bagaimana Cara Kerjanya

3. Node Exporter

Node Exporter adalah salah satu komponen dari Prometheus yang digunakan untuk mengumpulkan data dan melaporkan data dari server linux ke prometheus. Selain itu, Node Exporter mengumpulkan metrik dari berbagai aspek seperti penggunaan CPU, memori, disk, jaringan, dan lainnya, kemudian mengekspornya dalam format yang bisa dibaca oleh Prometheus.

Fungsi Utama Node Exporter:

  • Mengumpulkan Data/Metrik: Node Exporter mengumpulkan metrik dari berbagai sumber di dalam server, seperti:
    • CPU: Penggunaan CPU, waktu idle, interrupt, dan sebagainya.
    • Memori: Penggunaan memori, swap, cache, dan buffer.
    • Disk: Pembacaan dan penulisan disk, penggunaan disk, dan ruang kosong.
    • Jaringan: Paket yang diterima dan dikirim, error jaringan, dan drop paket.
    • Sistem File: Penggunaan sistem file, inodes yang tersedia, dan lainnya.
  • Mengupload Metrik: Node Exporter mengekspos metrik-metrik tersebut melalui HTTP endpoint yang dapat diambil (scrape) oleh Prometheus.

Installasi dan Konfigurasi

Sebelumya telah dibahas mengenai pengertian dan fungsi masing” tools, langkah selanjutnya kita akan melakukan deployment/installasi pada VPS Murah dengan OS Almalinux.

Installasi Node Exporter

Sebelum melakukan installasi node exporter, kita akan mengunduh package binary/node exporter dahulu. Gunakan perintah berikut:

# yum update -y # yum install wget curl sudo tar nano # wget https://github.com/prometheus/node_exporter/releases/download/v1.7.0/node_exporter-1.7.0.linux-amd64.tar.gz

Selanjutnya, ekstrak paket node exporter dan pindahkan pada direktori /usr/local/bin.

# tar xvf node_exporter-*.tar.gz # cd node_exporter-1.7.0.linux-amd64 # sudo cp node_exporter /usr/local/bin

Apabila file node exporter telah dipindahkan ke usr/bin, maka kita perlu melakukan pembuatan user node exporter dan melakukan set binary mode ke user node exporter

# sudo useradd --no-create-home --shell /bin/false node_exporter # sudo chown node_exporter:node_exporter /usr/local/bin/node_exporter

Selanjutnya, buat file service systemd node exporter.

sudo nano /etc/systemd/system/node_exporter.service

Isi konfigurasi file berikut kedalam file node exporter yang dibuat sebelumya.

[Unit] Description=Node Exporter Wants=network-online.target After=network-online.target  [Service] User=node_exporter Group=node_exporter Type=simple ExecStart=/usr/local/bin/node_exporter Restart=always RestartSec=3 [Install]  WantedBy=multi-user.target

Untuk memulai node exporter, Anda perlu menjalankan daemon-reload dan mengaktifkan pada systemctl sebagai berikut:

# sudo systemctl daemon-reload # sudo systemctl enable node_exporter # sudo systemctl start node_exporter
menjalankan node exporter

Sampai langkah ini, proses installasi node exporter telah selesai dilakukan. Untuk memastikan node exporter telah berjalan, kita dapat mengakses halaman website  http://IP-ADDRESS-VPS:9100/metrics.

node exporter metrics

Installasi Prometheus

Pada awal installasi prometheus, hal yang perlu dilakukan adalah melakukan pembuatan user dan group untuk mencegah adanya unauthorized access, untuk user akan diberikan nama prometheus.

# sudo groupadd --system prometheus # sudo useradd -s /sbin/nologin --system -g prometheus prometheus

Selanjutnya, buat direktori untuk menyimpan file konfigurasi dari prometeus, yaitu pada /etc dan pada /var/lib.

# sudo mkdir /etc/prometheus # sudo mkdir /var/lib/prometheus # sudo mkdir /etc/prometheus/consoles

Setelah lokasi folder prometheus dibuat, selanjutnya akan melakukan download package prometheus menggunakan wget:

wget https://github.com/prometheus/prometheus/releases/download/v2.43.0/prometheus-2.43.0.linux-amd64.tar.gz
wget download prometheus

Setelah proses download selesai, langkah selanjutnya adalah melakukan extract package dan memindahkan ke direktori yang dibuat sebelumya, yaitu /usr/local/. Pastikan ownership telah disesuaikan menjadi prometheus.

# tar vxf prometheus*.tar.gz # cd prometheus-2.43.0.linux-amd64 # sudo mv prometheus /usr/local/bin # sudo mv promtool /usr/local/bin  # sudo chown prometheus:prometheus /usr/local/bin/prometheus # sudo chown prometheus:prometheus /usr/local/bin/promtool

Pindahkan konfigurasi file prometheus dan sesuaikan permission folder/filenya.

# sudo mv consoles /etc/prometheus # sudo mv console_libraries /etc/prometheus # sudo mv prometheus.yml /etc/prometheus  # sudo chown prometheus:prometheus /etc/prometheus # sudo chown -R prometheus:prometheus /etc/prometheus/consoles # sudo chown -R prometheus:prometheus /etc/prometheus/console_libraries # sudo chown -R prometheus:prometheus /var/lib/prometheus

File konfigurasi prometheus terdapat pada /etc/prometheus/prometheus.yml, kita perlu melakukan konfigurasi pada file prometheus agar prometheus dapat terhubung dengan node exporter dan grafana.

sudo nano /etc/prometheus/prometheus.yml
prometheus file configuration

Tambahkan job pada akhir baris untuk node exporter.

Langkah selanjutnya adalah membuat systemd untuk prometheus agar dapat berjalan pada VPS, buat file baru pada /etc/systemd/system/prometheus.service

sudo nano /etc/systemd/system/prometheus.service

Isi dengan konfigurasi prometeus.

[Unit] Description=Prometheus Wants=network-online.target After=network-online.target  [Service] User=prometheus Group=prometheus Type=simple  ExecStart=/usr/local/bin/prometheus     --config.file /etc/prometheus/prometheus.yml     --storage.tsdb.path /var/lib/prometheus/     --web.console.templates=/etc/prometheus/consoles     --web.console.libraries=/etc/prometheus/console_libraries  [Install] WantedBy=multi-user.target

Apabila file systemd prometheus telah dibuat, langkah selanjutnya adalah mengaktifkan service prometeus melalui systemd.

# sudo systemctl daemon-reload # sudo systemctl enable prometheus # sudo systemctl start prometheus
start daemon prometheus

Installasi Prometheus telah selesai, kita dapat mengakses halaman prometeus melalui http://IP-ADDRESS-VPS:9090/graph.

akses prometheus

Installasi Grafana

Grafana digunakan sebagai visualisasi dashboard, data yang dikumpulkan dan dianalisa pada prometeus akan ditampikan berupa grafik, bar, pie, dan tampilan menarik lainnya yang bertujuan untuk mempermudah pembacaan grafik.

Untuk installasi Grafana, tambahkan terlebih dahulu repository dari official grafana

nano /etc/yum.repos.d/grafana.repo

Isi file repository dengan repository grafana sebagai berikut: 

[grafana] name=grafana baseurl=https://packages.grafana.com/oss/rpm repo_gpgcheck=1 enabled=1 gpgcheck=1 gpgkey=https://packages.grafana.com/gpg.key sslverify=1 sslcacert=/etc/pki/tls/certs/ca-bundle.crt
grafana repo almalinux

Setelah menambahkan repository grafana, kita perlu menambahkan GPG key dari grafana:

# sudo mkdir -p /etc/apt/keyrings/ # wget -q -O - https://apt.grafana.com/gpg.key | gpg --dearmor | sudo tee /etc/apt/keyrings/grafana.gpg > /dev/null

Lanjutkan dengan proses installasi grafana

# sudo dnf update -y # sudo yum install grafana -y

Sudo systemctl start grafana-server && sudo systemctl enable grafana-server:

installasi grafana

Setelah installasi grafana telah selesai, kita dapat mengakses dashboard grafana melalui http://IP-ADDRESS-VPS:3000.

login grafana monitoring server

Untuk mengakses dashboard, diperlukan credential login. Secara default, grafana akan membuat username dan password dengan menggunakan data berikut: 

Username : admin Password : admin
dashboard grafana

Grafana Telah berhasil diinstall dan siap digunakan.

Menambahkan Server ke Sistem Monitoring

Setelah proses installasi semua tools selesai, langkah yang perlu dilakukan selanjutnya adalah menambahkan VPS yang sudah terinstall node exporter ke dashboard grafana.

Untuk menambahkan node exporter, masuk ke menu data source pada grafana seperti gambar berikut:

menambahkan data source grafana

Tambahkan data source dari prometheus yang telah diinstall sebelumya.

menambahkan data source prometheus ke grafana

Isi konfigurasi pada prometheus dengan http://localhost:9090 apabila server grafana dan prometheus dalam 1 node server yang sama, lalu save dan exit.

konfigurasi prometheus grafana

Selanjutnya, kita dapat membuat dashboard secara mandiri menggunakan analisis query prometheus,atau dapat mengimport dashboard tampilan yang sudah jadi/disediakan oleh grafana.

membuat dashboard grafana

Kali ini, kita akan menggunakan IMPORT dashboard yang sudah tersedia, yaitu “node exporter full” dengan kode 1860.

import dashboard node exporter

Apabila telah diimport akan muncul konfirmasi installasi dashboard, setelah itu dashboard monitoring server akan tampil dengan sempurna untuk memeriksa seluruh resource server.

dashboard grafana monitoring

Sampai tahapn ini, kita telah berhasil melakukan installasi grafana, prometheus, dan node exporter. Langkah selanjutnya, Anda dapat melakukan penyesuaian tampilan monitoring sesuai kebutuhan masing masing untuk mempermudah monitoring server yang ada.

Demikian artikel kami tentang monitoring server menggunakan Grafana dan Prometheus, semoga artikel ini bermanfaat.

VPS Alibaba

Tags: Grafana, Monitoring, Prometheus, VPS
GrafanaMonitoringPrometheusVPS
RajaBackLink.com
RajaBackLink.com

More Similar Posts

RajaBackLink.com