Instale y configure sar y ksar para el monitoreo diario en Linux y genere informes en PDF

Ksar

Este tutorial se enfoca en la instalación y configuración de las poderosas utilidades sar y ksar en CentOS, Debian y Ubuntu y muestra cómo crear automáticamente informes en PDF usando un simple script de shell para monitorear fácilmente el uso diario de los recursos del servidor.

Parte 1: Instalación del software de monitoreo de SAR

SAR significa informes de actividad del sistema. SAR es la herramienta ligera de monitoreo de sistemas en tiempo real. Puede proporcionar el informe de uso de recursos del servidor según nuestros requisitos. Da salida en un terminal de forma predeterminada y también almacena información día a día, por lo que será una utilidad muy útil y poderosa para los administradores de sistemas.

SAR se puede instalar en cualquier versión de Linux. Es parte de los paquetes sysstat.

Instalar y configurar SAR

Para Debian/Ubuntu

# sudo apt-get install sysstat

Para RedHat/CentOS

# sudo yum install sysstat

Instale el último sysstat desde la fuente.

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

Si instala sar desde la fuente, instalará systat en /usr/local/bin/

Después de la instalación, verifique la versión SAR

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

Después de eso, asegúrese de verificar que la recopilación de datos SAR esté habilitada.

En Ubuntu

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

luego reinicie el servicio sar y habilítelo al iniciar el sistema.

# systemctl start sysstat
# systemctl enable sysstat

Ahora verifique que sar funcione correctamente en el sistema ejecutando el siguiente comando. Aquí intervalo de tiempo de 2 segundos y salida de 4 veces.

[[email protected] ~]$ 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


Simplemente podemos ejecutar el comando sar para verificar el uso de recursos.

[[email protected] 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


Por defecto, el intervalo sar se establece en cada 10 minutos. Podemos modificar este valor editando los siguientes archivos.

vi /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

En el archivo anterior, sa1 es el script de shell para recopilar y almacenar datos binarios en el archivo de datos diarios de actividad del sistema y sa2 es el script de shell que escribe el informe diario en /var/log/sa al final del día (23:53 arriba). cronjob).

Parte 2: Instalación de KSAR

KSAR genera un gráfico a partir del valor SAR que es muy fácil de analizar. KSAR se basa en JAVA, por lo que debemos tener instalado JDK 8 o superior en nuestro sistema. KSAR no forma parte del repositorio del sistema, tenemos que descargar KSAR manualmente.

Primero, instale java en redhat/centos

sudo yum install java-1.8.0-OpenJDK.x86_64

Ahora descargue e instale KSar en el sistema.

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/

Ahora recopile las estadísticas del comando sar usando el siguiente comando.

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

debemos ejecutar el script run.sh como un usuario normal, no ejecute el script KSAR como usuario root.

ahora KSAR mostrará una GUI simple y fácil de usar.

Ksar

Ahora haga clic en Datos -> Cargar desde archivo de texto -> seleccione el archivo ~/Desktop/sar21.

Cargar archivo

Ahora nuestro archivo sar cargado en KSAR.

Ahora podemos exportar el gráfico en formato pdf, jpg, png, csv, txt. Aquí exportamos el gráfico en pdf y seleccionamos todos los valores durante la exportación de pdf.

Exportar PDF

Ahora abra ese pdf, mostrará todos los recursos útiles del servidor.

Aquí podemos cargar la CPU durante un día en el servidor.

Supervisión de la carga de la CPU

Este es el uso de memoria durante un día

Gráfico de uso de memoria

De esta manera, podemos generar gráficos de CPU, memoria, procesador, E/S, swap, sockets y muchos otros recursos útiles del sistema muy fácilmente para la tarea de monitoreo diario.

Parte 3: El GUIÓN de Monitoreo

La GUI de KSAR es muy fácil de usar. Pero el script generará un gráfico KSAR diario de manera más efectiva y ahorrará tiempo.

En esta parte, crearemos dos scripts.

El primer script generará un gráfico para un día todos los días.

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

La secuencia de comandos anterior generará un informe de recursos del sistema de un solo día. Podemos configurar este script en cronjob para automatizar la generación de gráficos sar en formato pdf.

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

Este cronjob genera un gráfico pdf diario a partir del valor sar a las 10 am.

A continuación, generaremos un informe de estadísticas sar para todo el mes.

#!/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


Ahora tomamos ese archivo de texto como entrada para generar un gráfico 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

Esto generará el informe de todo el mes en un archivo pdf.

Podemos configurar cron para la generación automática del informe como se muestra arriba. Si queremos un informe gráfico de kSar directo desde el servidor a la computadora local, entonces podemos configurar ssh sin contraseña entre el servidor y la computadora local y configurar la automatización agregando rsync en el script anterior.

De esta manera, podemos usar la utilidad sar muy poderosa de manera muy efectiva para la tarea de monitoreo diario del sistema.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *