Monitoring Server: Difference between revisions
No edit summary |
No edit summary |
||
Line 92: | Line 92: | ||
sudo systemctl daemon-reload | sudo systemctl daemon-reload | ||
Kemudaian cek status prometheus | Kemudaian cek status prometheus | ||
sudo systemctl status prometheus | sudo systemctl status prometheus.service | ||
Disini statusnya masih dalam keadaan inactive | Disini statusnya masih dalam keadaan inactive | ||
● prometheus.service - Prometheus | ● prometheus.service - Prometheus | ||
Line 99: | Line 99: | ||
Docs: https://prometheus.io/docs/introductions/overview/ | Docs: https://prometheus.io/docs/introductions/overview/ | ||
Agar stausnya active dan servicenya enable maka jalankan command berikut : | Agar stausnya active dan servicenya enable maka jalankan command berikut : | ||
sudo systemctl enable --now prometheus | sudo systemctl enable --now prometheus.service | ||
hasilnya : | hasilnya : | ||
Created symlink /etc/systemd/system/multi-user.target.wants/prometheus.service → /etc/systemd/system/prometheus.service. | Created symlink /etc/systemd/system/multi-user.target.wants/prometheus.service → /etc/systemd/system/prometheus.service. | ||
Line 179: | Line 179: | ||
Loaded: loaded (/etc/systemd/system/node-exporter.service; disabled; vendor preset: enabled) | Loaded: loaded (/etc/systemd/system/node-exporter.service; disabled; vendor preset: enabled) | ||
Active: inactive (dead) | Active: inactive (dead) | ||
Agar stausnya active dan servicenya enable maka jalankan command berikut : | |||
sudo systemctl enable --now node-exporter.service |
Revision as of 01:06, 24 October 2023
Monitoring Server Ubuntu Server 20.04 LTS yang akan penulis gunakan adalah Grafana dan Prometheus.
Install Prometheus
Download Prometheus
Download package prometheus di url https://prometheus.io/download/, caranya copy link url package untuk linux di https://github.com/prometheus/prometheus/releases/download/v2.48.0-rc.0/prometheus-2.48.0-rc.0.linux-amd64.tar.gz. Masuk ke server kemudian paste setelah command wget, atau command lengkatnya adalah berikut ini :
wget https://github.com/prometheus/prometheus/releases/download/v2.48.0-rc.0/prometheus-2.48.0-rc.0.linux-amd64.tar.gz
tunggu proses downloadnya selesai
Menyiapkan Prometheus
Extract prometheus yang sudah di download dengan command berikut :
tar xvf prometheus-2.48.0-rc.0.linux-amd64.tar.gz
tunggu proses extract sampai selesai, jalan ls -l, maka akan keluhatan folder baru dengan nama prometheus-2.48.0-rc.0.linux-amd64. Masuk ke folder prometheus-2.48.0-rc.0.linux-amd64 :
cd prometheus-2.48.0-rc.0.linux-amd64
jalankan ls -l akan kelihatan 2 file eksekusi, namun tidak akan kita eksekusi langsung, melainkan akan kita eksekusi menggunakan service daemon agar dapat berjalan di background proses. Menyiapkan tempat penyimpanan data prometheus yang akan di buat secara terpisah di dalam /var/lib
sudo mkdir /var/lib/prometheus
Membuat user untuk prometheus
Langkah pertama jalankan command :
sudo groupadd --system prometheus
masukkan password user jika diminta
Buatkan user baru dengan nama prometheus dan asign ke dalam group promehteus dengan command berikut :
sudo useradd --system -s /sbin/nologin -g prometheus prometheus
Kemudian pindahkan folder promehteus dan promtool ke /usr/local/bin/ dengan command :
sudo mv prometheus promtool /usr/local/bin/
periksa hasilnya menggunakan which, maka akan terlihat kedua file tersebut sudah berpindah folder
which prometheus which promtool
kita dapat juga melakukan pengecekan version prometheus :
prometheus --version
Membuat folder baru untuk menyimpan file konfigurasi
Cek menggunakan ls -l, akan terlihat 3 komponen yang akan di pindahkan ke folder baru, yaitu folder console_libraries, folder consoles dan file prometheus.yml. Folder baru tersebut akan di buat di dalam folder /etc :
sudo mkdir /etc/prometheus
Kemudian membuat folder atau otak penyimpanan data prometheus di dalam folder /var/lib/
sudo mkdir /var/lib/prometheus
Diperlukan permission untuk /var/lib/prometheus untuk proses baca/tulis. Cek dulu menggunakan :
ls -l /var/lib/
dapat dilihat ownier prometheus itu masih punya root, untuk itu perlu dibuat chown sesuai user dan group prometheus yang sudah dibuat di atas dengan command berikut :
sudo chown -R user:group /var/lib/prometheus/
jika sesuai user dan group daiata adalah :
sudo chown -R prometheus:prometheus /var/lib/prometheus/
Cek lagi dengan :
ls -l /var/lib/
akan terlihat kepemilikan prometheus sudah berubah dari user root ke prometheus. Selanjutnya memindahkan folder console_libraries, folder consoles dan file prometheus.yml ke folder /etc/prometheus dengan cara :
sudo mv console_libraries/ consoles/ prometheus.yml /etc/prometheus/
cek lagi di folder asal, maka 3 kompnen di atas sduah tidak terlihat karena sudah berpindah folder.
ls -l
Pindah ke /etc/promehteus
cd /etc/prometheus
Edit file promehteus.yml
sudo nano prometheus.yml
isinya menjadi
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_configs: - job_name: "prometheus" static_configs: - targets: ["localhost:9090"]
Membuat backgroud service prometheus
Kita buatkan file servicenya :
sudo nano /etc/systemd/system/prometheus.service
sehingga isinya secara sederhana seperti berikut ini :
#Prometheus Service [Unit] Description=Prometheus Documentation=https://prometheus.io/docs/introduction/overview/ 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/comnsole_libraries [Install] WantedBy=multi-user.target
Karena ada konfigurasi baru maka prometheus perlu di reload
sudo systemctl daemon-reload
Kemudaian cek status prometheus
sudo systemctl status prometheus.service
Disini statusnya masih dalam keadaan inactive
● prometheus.service - Prometheus Loaded: loaded (/etc/systemd/system/prometheus.service; disabled; vendor preset: enabled) Active: inactive (dead) Docs: https://prometheus.io/docs/introductions/overview/
Agar stausnya active dan servicenya enable maka jalankan command berikut :
sudo systemctl enable --now prometheus.service
hasilnya :
Created symlink /etc/systemd/system/multi-user.target.wants/prometheus.service → /etc/systemd/system/prometheus.service.
Cek sekali lagi :
sudo systemctl status prometheus
hasilmya sudah running :
● prometheus.service - Prometheus Loaded: loaded (/etc/systemd/system/prometheus.service; enabled; vendor preset: enabled) Active: active (running) since Mon 2023-10-23 08:36:04 UTC; 2s ago Docs: https://prometheus.io/docs/introductions/overview/ Main PID: 5597 (prometheus) Tasks: 5 (limit: 2252) Memory: 50.9M CGroup: /system.slice/prometheus.service └─5597 /usr/local/bin/prometheus --config.file /etc/prometheus/prometheus.yml --storage.tsdb.path /var/lib/promethe> Oct 23 08:36:04 pcbuntu systemd[1]: Started Prometheus.
Selanjutnya cek dan validasi sesuai ip dan port default di 9090 degan cara :
sudo lsof -n -i | grep prometheus
menghasilkan :
prometheu 2872 prometheus 7u IPv6 36798 0t0 TCP *:9090 (LISTEN) prometheu 2872 prometheus 11u IPv4 37901 0t0 TCP 127.0.0.1:56360->127.0.0.1:9090 (ESTABLISHED) prometheu 2872 prometheus 12u IPv6 37902 0t0 TCP 127.0.0.1:9090->127.0.0.1:56360 (ESTABLISHED)
Dapat dilihat port server yang akan dimonitor sudah aktif, selanjutnya coba akses ip_server:9090 misal 10.10.10.2:90, maka akan terbuka halaman Prometheus namun msh belum dilengkap metric-metric untuk memonitor system server, seperti cpu, memory, hardisk dan sebagainya. Sampai pada tahap ini perispan Prometheus sudah selesai.
Install node_exporter
Download node-exporter
Download package node-exporter caranya sama dengan cara prometheus. Maasuk ke url https://prometheus.io/download/#node_exporter kemudian copy link url https://github.com/prometheus/node_exporter/releases/download/v1.6.1/node_exporter-1.6.1.linux-amd64.tar.gz, paste setelah command wget, atau command lengkapnya adalah berikut ini :
wget https://github.com/prometheus/node_exporter/releases/download/v1.6.1/node_exporter-1.6.1.linux-amd64.tar.gz
tunggu proses downloadnya selesai. Jalankan command untuk menampilkan package yang sudah di download :
ls -l
Menyiapkan node_exporter
Extract node-exporter yang sudah di download dengan command berikut :
tar xvf node_exporter-1.6.1.linux-amd64.tar.gz
tunggu proses extract sampai selesai, jalan ls -l, maka akan keluhatan folder baru dengan nama node_exporter-1.6.1.linux-amd64. Masuk ke folder node_exporter-1.6.1.linux-amd64 :
cd node_exporter-1.6.1.linux-amd64
jalankan ls -l akan kelihatan 1 file package yaitu node_exporter. Seperti halnya prometheus, binari package node_exporter tidak akan kita eksekusi langsung, melainkan akan kita eksekusi menggunakan service daemon agar dapat berjalan di background proses. Langkah pertama adalah memindahkan node_exportr ke folder /usr/local/bin/
sudo mv node_exporter /usr/local/bin/
Dapat dilihat hasil pemindahannya
which node_exporter
hasilnya
/usr/local/bin/node_exporter
Dapat juga dilihat vesinya menggunakan
node_exporter --version
hasilnya
node_exporter, version 1.6.1 (branch: HEAD, revision: 4a1b77600c1873a8233f3ffb55afcedbb63b8d84) build user: root@586879db11e5 build date: 20230717-12:10:52 go version: go1.20.6 platform: linux/amd64 tags: netgo osusergo static_build
Membuat backgroud service prometheus
Kita buatkan file servicenya :
sudo nano /etc/systemd/system/node-exporter.service
sehingga isinya secara sederhana seperti berikut ini :
[Unit] Description=Prometheus exporter for machine metrics [Service] Restart=always User=prometheus ExecStart=/usr/local/bin/node_exporter ExecReload=/bin/kill -HUP $MAINPID TimeoutStopSec=20s SendSIGKILL=no [Install] WantedBy=multi-user.target
Karena ada konfigurasi baru maka node_exporter perlu di reload
sudo systemctl daemon-reload
Kemudaian cek status node-exporter.service
sudo systemctl status node-exporter.service
Disini statusnya masih dalam keadaan inactive
● node-exporter.service - Prometheus exporter for machine metrics Loaded: loaded (/etc/systemd/system/node-exporter.service; disabled; vendor preset: enabled) Active: inactive (dead)
Agar stausnya active dan servicenya enable maka jalankan command berikut :
sudo systemctl enable --now node-exporter.service