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 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. Proporciona 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 instalar 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
#[correo electrónico protegido]:~$ sar -V
sysstat versión 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
HABILITADO="verdadero"
luego reinicie el servicio sar y actívelo al iniciar el sistema.
# systemctl iniciar sysstat
# systemctl habilitar 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) 22/05/2019 _x86_64_ (4 CPU)
12 :18:13 AM CPU %Usuario %NICE %Sistema %IOWAIT %STAAL %INDIO
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 0.00 97.12
12:18:19 AM Todo 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
Promedio:todos 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) 24/05/2019 _x86_64_ (4 CPU)
12:00 :01 AM CPU %Usuario %NICE %Sistema %IOWAIT %STAAL %INDIO
12:10:01 AM Todo 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.65Por defecto, el intervalo sar se establece en cada 10 minutos. Podemos modificar este valor editando los siguientes archivos.
vi /etc/cron.d/sysstat# Ejecutar la herramienta de contabilidad de actividad del sistema cada 10 minutos
*/10 * * * * root /usr/lib64/sa/sa1 1 1
# 0 * * * * root /usr/lib64/ sa/sa1 600 6 &
# Generar un resumen diario de contabilidad de procesos a las 23:53
53 23 * * * root /usr/lib64/sa/sa2 -AEn 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_64Ahora descargue e instale KSar en el sistema.
wget https://excellmedia.dl.sourceforge.net/project/ksar/ksar/5.0.6/kSar-5.0.6.zip
descomprimir 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> ~/Escritorio/sar21sudo chmod u+x run.shsh 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.
Ahora haga clic en Datos -> Cargar desde archivo de texto -> seleccione ~/Escritorio/archivo sar21.
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 en pdf.
Ahora abra ese pdf, mostrará todos los recursos útiles del servidor.
Aquí podemos cargar la CPU durante un día en el servidor.
Este es el uso de memoria durante un día
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 SCRIPT 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="hace 1 día" +%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="hace 1 días" +%b)$i.pdf
echo "Gráfico de Ksar generado con éxito"sudo chmod u+x sar_script.shLa secuencia de comandos anterior generará un informe de recursos del sistema de un solo día. Podemos configurar este script en cronjob para generar automáticamente un gráfico sar en formato pdf.
crontab -e* 10 * * * /bin/sh /home/admin/script/sar_script.shEste cronjob genera un gráfico pdf todos los días 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
función sar_value(){
#Esto está configurado para 31 días posibles.
para i en 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
hecho
}
Función para script
sar_valueAhora tomamos ese archivo de texto como entrada para generar un gráfico en 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.pdfEsto 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.