Install and configure sar and ksar for daily monitoring on Linux and generate PDF reports

This tutorial focuses on the set up and configuration of the highly effective utilities sar and ksar on CentOS, Debian and Ubuntu and reveals learn how to robotically create PDF experiences by utilizing a easy shell script for simple every day monitoring of server useful resource utilization.

Half 1: Putting in SAR Monitoring Software program

SAR means system exercise experiences. SAR is the light-weight, real-time system monitoring software. It may give the server’s useful resource utilization report as per our requirement. It offers output on a terminal by defaults and It additionally shops info day smart, So it is going to be a really useful and highly effective utility for System Directors.

SAR will be put in in any Linux flavors, It is part of the sysstat packages.

Set up and Configure SAR

For Debian/Ubuntu

# sudo apt-get set up sysstat

For RedHat/CentOS

# sudo yum set up sysstat

Set up the newest sysstat from the supply.

tar -xvf sysstat-12.1.4.tar.bz2
cd sysstat-12.1.4/
./configure --enable-install-cron
make set up

For those who set up sar from supply then it would set up systat beneath /usr/native/bin/

After set up confirm SAR model

#[email protected]:~$ sar -V
 sysstat model 11.2.0

After that ensure that to confirm SAR knowledge assortment is enabled.

In Ubuntu

#sudo vi /and so forth/default/sysstat 

then restart sar service and allow it on system startup.

# systemctl begin sysstat
# systemctl allow sysstat

Now examine sar working correctly within the system by working following command. Right here 2 second time interval and Four occasions output.

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

12:18:13 AM     CPU     %consumer     %good   %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
 Common:       all      1.91      0.00      0.50      0.03      0.00     97.56

We are able to merely run sar command to examine useful resource usages.

[[email protected] script]# sar
Linux 5.0.16-200.fc29.x86_64 (redhat)     05/24/2019     _x86_64_    (Four CPU)

12:00:01 AM     CPU     %consumer     %good   %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

By default sar interval set to each 10 minutes. We are able to modify this worth by enhancing following recordsdata. 

vi /and so forth/cron.d/sysstat
# Run system exercise accounting software each 10 minutes
*/10 * * * * root /usr/lib64/sa/sa1 1 1
# 0 * * * * root /usr/lib64/sa/sa1 600 6 &
# Generate a every day abstract of course of accounting at 23:53
53 23 * * * root /usr/lib64/sa/sa2 -A

In above file, sa1 is the shell script for accumulating and storing binary knowledge  within the system exercise every day knowledge file and sa2 is the shell script which write every day report in /var/log/sa at finish of the day (23:53 in above cronjob).

Half 2: Putting in KSAR

KSAR generates a graph from SAR worth which may be very straightforward for evaluation. KSAR is base on JAVA so we should have JDK Eight or above put in on our system. KSAR in not a part of the system repository we have now to obtain KSAR manually.

First, set up java on redhat/centos

sudo yum set up java-1.8.0-OpenJDK.x86_64

Now Obtain and set up KSar on the system.

cd kSar-5.0.6/

Now gather sar command statistics utilizing the next command.

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

we must always execute script as a traditional consumer, don’t run KSAR script as a root consumer.

now KSAR will show easy user-friendly GUI.


Now Click on on Information -> Load from textual content file -> choose ~/Desktop/sar21 file .

Load file

Now our sar file loaded in KSAR.

Now we will export the graph in pdf, jpg, png, csv, txt format. Right here we export the graph in pdf and choose all worth throughout export pdf.

Export PDF

Now open that pdf, it would present all helpful server sources.

Right here we will CPU load for a day on the server.

CPU Load Monitoring

That is reminiscence utilization over a day

Memory Usage graph

This manner we will generate CPU, reminiscence, processor, I/O, swap, sockets and plenty of different helpful system sources graph very simply for every day monitoring job.

Half 3: The Monitoring SCRIPT

KSAR GUI may be very user-friendly. However the script will generate every day KSAR graph extra successfully and save time.

On this half, we’ll create two scripts.

First script will generate a graph for a day every day.

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

Above script will generate single day system sources report. We are able to set this script in cronjob for automate technology of sar graph in pdf format.

crontab -e
* 10 * * * /bin/sh /residence/admin/script/

This cronjob generate on a regular basis pdf graph from sar worth at 10 am.

Subsequent, we’ll generate sar statistics report for the entire month.


perform sar_value(){
#That is set for 31 doable days.
for i in 1 2 Three Four 5 6 7 Eight 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 >> /residence/admin/sar_report/sarmonthly$(date --date="1 days ago" +%b).txt

Operate for script

Now we take that textual content file as an enter for producing a pdf graph.

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

This may generate the entire month report in a single pdf file.

We are able to arrange cron for automation technology of the report as proven above. If we would like direct kSar graph report from server to native laptop then we will set passwordless ssh between server and native laptop and setup automation by including rsync into the above script.

This manner we will use very highly effective sar utility very efficient means for system every day monitoring job.


Please enter your comment!
Please enter your name here