Tutorial ini berfokus pada instalasi dan konfigurasi utilitas sar dan ksar pada CentOS, Debian dan Ubuntu dan menunjukkan cara membuat laporan PDF secara otomatis dengan menggunakan skrip shell sederhana untuk memudahkan pemantauan penggunaan sumber daya server harian.

Bagian 1: Install Software Pemantauan SAR

SAR (system activity reports) adalah alat pemantau sistem yang ringan dan real-time. SAR dapat memberikan laporan penggunaan sumber daya server sesuai kebutuhan. SAR memberikan output pada terminal secara default dan juga menyimpan informasi per-hari, Jadi SAR akan menjadi utilitas yang sangat berguna dan kuat untuk Administrator Sistem.

SAR dapat diinstal dalam semua Linux flavors, SAR adalah bagian dari paket sysstat.

Instal dan Konfigurasi SAR

Untuk Debian/Ubuntu

# sudo apt-get install sysstat

Untuk RedHat/CentOS

# sudo yum install sysstat

Atau jika Anda ingin install sysstat terbaru dari source.

wget http://pagesperso-orange.fr/sebastien.godard/sysstat-12.1.4.tar.bz2
tar -xvf sysstat-12.1.4.tar.bz2
cd sysstat-12.1.4/
./configure --enable-install-cron
make
make install

Jika Anda menginstal sar dari source maka ia akan install systat di /usr/local/bin/

Setelah instalasi, verifikasi versi SAR

# sar -V
 sysstat version 11.2.0

Setelah itu, pastikan untuk memverifikasi pengumpulan data SAR telah diaktifkan.

Di Ubuntu, buka file konfigurasi sysstat dengan perintah nano dan periksa nilai ENABLED

#sudo nano /etc/default/sysstat 
ENABLED="true"

kemudian restart layanan sar dan aktifkannya pada startup sistem.

# systemctl start sysstat
# systemctl enable sysstat

Sekarang periksa sar telah berfungsi dengan baik dalam sistem dengan menjalankan perintah berikut. Di sini interval waktu 2 detik dan output 4 kali.

[system@redhat ~]$ sar 2 4 
Linux 5.0.16-200.fc29.x86_64 (redhat)     05/22/2019     _x86_64_    (4 CPU)

12:18:13 AM     CPU     %user     %nice   %system   %iowait    %steal     %idle
12:18:15 AM     all      1.25      0.00      0.50      0.00      0.00     98.24
12:18:17 AM     all      2.50      0.00      0.38      0.00      0.00     97.12
12:18:19 AM     all      2.12      0.00      0.62      0.12      0.00     97.12
12:18:21 AM     all      1.75      0.00      0.50      0.00      0.00     97.75
 Average:       all      1.91      0.00      0.50      0.03      0.00     97.56

Kita cukup menjalankan perintah sar untuk memeriksa penggunaan sumber daya.

[root@redhat script]# sar
Linux 5.0.16-200.fc29.x86_64 (redhat)     05/24/2019     _x86_64_    (4 CPU)

12:00:01 AM     CPU     %user     %nice   %system   %iowait    %steal     %idle
12:10:01 AM     all      4.02      0.05      1.45      1.40      0.00     93.09
12:20:01 AM     all      6.27      0.02      1.82      0.56      0.00     91.33
12:30:01 AM     all     10.61      0.03      2.69      0.64      0.00     86.03
12:40:01 AM     all      9.26      0.05      2.45      0.59      0.00     87.65

Secara default interval sar diatur ke setiap 10 menit. Kita dapat mengubah nilai ini dengan mengedit file berikut.

sudo nano /etc/cron.d/sysstat
# Run system activity accounting tool every 10 minutes
*/10 * * * * root /usr/lib64/sa/sa1 1 1
# 0 * * * * root /usr/lib64/sa/sa1 600 6 &
# Generate a daily summary of process accounting at 23:53
53 23 * * * root /usr/lib64/sa/sa2 -A

Dalam file di atas, sa1 adalah skrip shell untuk mengumpulkan dan menyimpan data binary dalam aktivitas sistem, file data harian dan sa2 adalah skrip shell yang menulis laporan harian di /var/log/sa pada akhir hari (23:53 pada waktu di cronjob).

Bagian 2: Install KSAR

KSAR menghasilkan grafik dari nilai SAR yang sangat mudah untuk dianalisis. KSAR didasarkan pada JAVA sehingga kita harus memiliki JDK 8 atau lebih yang diinstal pada sistem kita. KSAR bukan bagian dari repositori sistem, kita harus mengunduh KSAR secara manual.

Pertama, instal java di redhat / centos

sudo yum install java-1.8.0-OpenJDK.x86_64

kemudian install ksar pada sistem

wget https://excellmedia.dl.sourceforge.net/project/ksar/ksar/5.0.6/kSar-5.0.6.zip
unzip kSar-5.0.6.zip
cd kSar-5.0.6/

Sekarang kumpulkan statistik perintah sar menggunakan perintah berikut..

LC_ALL=C sar -A -f /var/log/sa/sa21 > ~/Desktop/sar21
sudo chmod u+x run.sh
sh run.sh &

kita harus menjalankan skrip run.sh sebagai user normal, jangan jalankan skrip KSAR sebagai pengguna root atau dengan awalan sudo.

sekarang KSAR akan menampilkan GUI yang mudah digunakan dan sederhana.

Page 1 - Load file

Sekarang Klik Data ->Load from text file -> cari file di ~/Desktop/sar21.

Page 2 - Export PDF

Sekarang file sar telah dimuat di KSAR.

Sekarang kita dapat mengekspor grafik dalam format pdf, jpg, png, csv, txt. Di sini kita mengekspor grafik dalam pdf dan memilih semua nilai selama ekspor pdf.

Page 3 - CPU Load Monitoring

Sekarang buka pdf tersebut, maka akan menampilkan semua sumber daya server.

Di sini kita dapat memantau CPU load dalam sehari di server.

Page 4 - Memory Usage graph

Ini adalah penggunaan memori dalam satu hari

Page 5 - Daily Memory Usage graph

Dengan cara ini kita dapat memantau dan menghasilkan data CPU, memori, prosesor, I/O, swap, soket, dan banyak grafik sumber daya sistem lainnya yang sangat mudah untuk berguna untuk pemantauan harian.

Bagian 3: Buat Script Untuk Pemantauan

KSAR GUI sangat user-friendly. Tetapi skrip akan menghasilkan grafik KSAR harian lebih efektif dan menghemat waktu.

Di bagian ini, kita akan membuat dua script.

Script pertama akan menghasilkan grafik selama sehari setiap hari.

vi sar_script.sh
#!/bin/bash
i=`date --date="1 days ago" +%d`
LC_ALL=C sar -A -f /var/log/sa/sa$i > /home/admin/sar_report/sardaily_report$i
cd /home/soham/Downloads/kSar-5.0.6/
java -jar kSar.jar -input /home/admin/sar_report/sardaily_report$i -outputPDF /home/admin/sar_report/sardaily$(date --date="1 days ago" +%b)$i.pdf
echo "Ksar graph successfully generated"
sudo chmod u+x sar_script.sh

Script di atas akan menghasilkan laporan sumber daya sistem dalam satu hari. Kita dapat mengatur script ini dalam cronjob untuk mengotomatiskan pembuatan grafik sar dalam format pdf.

crontab -e
* 10 * * * /bin/sh /home/admin/script/sar_script.sh

Cronjob ini menghasilkan grafik pdf setiap hari dari nilai sar pada pukul 10 pagi.

Selanjutnya, kami akan menghasilkan laporan statistik sar untuk sebulan penuh.

#!/bin/bash

function sar_value(){
#This is set for 31 possible days.
for i in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31; do
LC_ALL=C sar -A -f /var/log/sa/sa$i >> /home/admin/sar_report/sarmonthly$(date --date="1 days ago" +%b).txt
done
}

Function for script
sar_value

Sekarang kita mengambil file teks output script pertama di atas sebagai input pada script kedua untuk menghasilkan grafik pdf.

java -jar kSar.jar -input /home/admin/sar_report/sarmonthly$(date --date="1 days ago" +%b).txt -outputPDF /home/admin/sar_report/sar_monthly.pdf

Ini akan menghasilkan laporan sebulan penuh dalam satu file pdf.

Kita dapat menyiapkan cron untuk pembuatan laporan secara otomatis seperti yang ditunjukkan di atas. Jika kita ingin mengarahkan laporan grafik kSar dari server ke komputer lokal maka kita dapat mengatur ssh tanpa sandi antara server dan komputer lokal dan mengatur otomatisasi dengan menambahkan rsync ke dalam skrip di atas.

Dengan cara ini kita dapat menggunakan utilitas sar dengan  sangat efektif untuk tugas pemantauan harian sistem.