sysstat es un paquete que encontraremos en la mayoría de las distribuciones de Linux orientado a ofrecer al administrador un conjunto de utilidades sobre monitorización del sistema.
Podemos instalar sysstat en las distribuciones Linux CentOS/RHEL, de la siguiente forma:
yum install sysstat -y
Una vez instalado, podremos ver la versión de sysstat ejecutando alguna de sus utilidades con el parámetro -V, por ejemplo: mpstat -V
Ejemplo sobre CentOS 7:
[root@LINUX1 ~]# cat /etc/redhat-release
CentOS Linux release 7.1.1503 (Core)
[root@LINUX1 ~]# mpstat -V
sysstat version 10.1.5
(C) Sebastien Godard (sysstat
Ejemplo sobre CentOS 6:
[root@LINUX2 ~]# cat /etc/redhat-release
CentOS release 6.4 (Final)
[root@LINUX2 ~]# mpstat -V
sysstat version 9.0.4
(C) Sebastien Godard (sysstat
Veamos algunas utilidades incorporadas dentro del paquete sysstat:
mpstat
Con mpstat podemos ver la actividad general de uso de CPU del sistema.
Linux 3.10.0-229.4.2.el7.x86_64 07/20/2015 _x86_64_ (2 CPU)
05:08:13 PM CPU %usr %nice %sys %iowait %irq %soft %steal %guest %gnice %idle
05:08:13 PM all 0.03 0.00 0.02 0.00 0.00 0.00 0.00 0.00 0.00 99.95
Si ejecutamos mpstat -P ALL, podremos ver el detalle por cada CPU.
También disponemos del modo continuo, por ejemplo, si ejecutamos mpstat 3, se producirá un refresco de los valores mostrados cada 3 segundos.
pidstat
Con pidstat podemos ver el uso de recursos de un proceso concreto.
Ejemplos:
Uso de CPU del proceso mysql:
[root@LINUX1 ~]# pidstat -C "mysql"
Linux 3.10.0-229.4.2.el7.x86_64 07/21/2015 _x86_64_(2 CPU)
01:48:13 PM UID PID %usr %system %guest %CPU CPU Command
01:48:13 PM 27 907 0.00 0.00 0.00 0.00 0 mysqld_safe
01:48:13 PM 27 1064 0.03 0.02 0.00 0.05 1 mysqld
Uso de CPU de los procesos en formato árbol:
[root@LINUX1 ~]# pidstat -t -C "mysql"
Linux 3.10.0-229.4.2.el7.x86_64 07/21/2015 _x86_64_(2 CPU)
01:51:38 PM UID TGID TID %usr %system %guest %CPU CPU Command
01:51:38 PM 27 907 - 0.00 0.00 0.00 0.00 0 mysqld_safe
01:51:38 PM 27 - 907 0.00 0.00 0.00 0.00 0 |__mysqld_safe
01:51:38 PM 27 1064 - 0.03 0.02 0.00 0.05 1 mysqld
01:51:38 PM 27 - 1064 0.00 0.00 0.00 0.00 1 |__mysqld
01:51:38 PM 27 - 1066 0.00 0.00 0.00 0.00 1 |__mysqld
01:51:38 PM 27 - 1067 0.00 0.00 0.00 0.00 0 |__mysqld
01:51:38 PM 27 - 1068 0.00 0.00 0.00 0.00 0 |__mysqld
01:51:38 PM 27 - 1069 0.00 0.00 0.00 0.00 1 |__mysqld
01:51:38 PM 27 - 1070 0.00 0.00 0.00 0.00 1 |__mysqld
01:51:38 PM 27 - 1071 0.00 0.00 0.00 0.00 0 |__mysqld
01:51:38 PM 27 - 1072 0.00 0.00 0.00 0.00 1 |__mysqld
01:51:38 PM 27 - 1073 0.00 0.00 0.00 0.00 1 |__mysqld
01:51:38 PM 27 - 1074 0.00 0.00 0.00 0.00 0 |__mysqld
01:51:38 PM 27 - 1075 0.00 0.00 0.00 0.00 1 |__mysqld
01:51:38 PM 27 - 1077 0.01 0.00 0.00 0.01 0 |__mysqld
01:51:38 PM 27 - 1078 0.01 0.00 0.00 0.01 1 |__mysqld
01:51:38 PM 27 - 1079 0.00 0.00 0.00 0.00 1 |__mysqld
01:51:38 PM 27 - 1080 0.00 0.00 0.00 0.00 0 |__mysqld
01:51:38 PM 27 - 1107 0.00 0.00 0.00 0.00 1 |__mysqld
Uso de disco (parámetro -d) del comando anterior:
[root@LINUX1 ~]# pidstat -t -C "mysql" -d
Linux 3.10.0-229.4.2.el7.x86_64 07/21/2015 _x86_64_ (2 CPU)
01:57:06 PM UID TGID TID kB_rd/s kB_wr/s kB_ccwr/s Command
01:57:06 PM 27 907 - 0.00 0.00 0.00 mysqld_safe
01:57:06 PM 27 - 907 0.00 0.00 0.00 |__mysqld_safe
01:57:06 PM 27 1064 - 0.01 0.00 0.00 mysqld
01:57:06 PM 27 - 1064 0.01 0.00 0.00 |__mysqld
iostat
Con iostat podemos ver el uso del sistema de disco.
Ejecución de iostat sin parámetros:
[root@LINUX1 ~]# iostat
Linux 3.10.0-229.4.2.el7.x86_64 07/21/2015 _x86_64_ (2 CPU)
avg-cpu: %user %nice %system %iowait %steal %idle
0.03 0.00 0.02 0.00 0.00 99.95
Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn
sda 0.03 0.10 0.35 244608 881232
pidstat
Con pidstat podemos ver el uso de recursos de un proceso concreto.
Ejemplos:
Uso de CPU del proceso mysql:
[root@LINUX1 ~]# pidstat -C "mysql"
Linux 3.10.0-229.4.2.el7.x86_64 07/21/2015 _x86_64_(2 CPU)
01:48:13 PM UID PID %usr %system %guest %CPU CPU Command
01:48:13 PM 27 907 0.00 0.00 0.00 0.00 0 mysqld_safe
01:48:13 PM 27 1064 0.03 0.02 0.00 0.05 1 mysqld
Uso de CPU de los procesos en formato árbol:
[root@LINUX1 ~]# pidstat -t -C "mysql"
Linux 3.10.0-229.4.2.el7.x86_64 07/21/2015 _x86_64_(2 CPU)
01:51:38 PM UID TGID TID %usr %system %guest %CPU CPU Command
01:51:38 PM 27 907 - 0.00 0.00 0.00 0.00 0 mysqld_safe
01:51:38 PM 27 - 907 0.00 0.00 0.00 0.00 0 |__mysqld_safe
01:51:38 PM 27 1064 - 0.03 0.02 0.00 0.05 1 mysqld
01:51:38 PM 27 - 1064 0.00 0.00 0.00 0.00 1 |__mysqld
01:51:38 PM 27 - 1066 0.00 0.00 0.00 0.00 1 |__mysqld
01:51:38 PM 27 - 1067 0.00 0.00 0.00 0.00 0 |__mysqld
01:51:38 PM 27 - 1068 0.00 0.00 0.00 0.00 0 |__mysqld
01:51:38 PM 27 - 1069 0.00 0.00 0.00 0.00 1 |__mysqld
01:51:38 PM 27 - 1070 0.00 0.00 0.00 0.00 1 |__mysqld
01:51:38 PM 27 - 1071 0.00 0.00 0.00 0.00 0 |__mysqld
01:51:38 PM 27 - 1072 0.00 0.00 0.00 0.00 1 |__mysqld
01:51:38 PM 27 - 1073 0.00 0.00 0.00 0.00 1 |__mysqld
01:51:38 PM 27 - 1074 0.00 0.00 0.00 0.00 0 |__mysqld
01:51:38 PM 27 - 1075 0.00 0.00 0.00 0.00 1 |__mysqld
01:51:38 PM 27 - 1077 0.01 0.00 0.00 0.01 0 |__mysqld
01:51:38 PM 27 - 1078 0.01 0.00 0.00 0.01 1 |__mysqld
01:51:38 PM 27 - 1079 0.00 0.00 0.00 0.00 1 |__mysqld
01:51:38 PM 27 - 1080 0.00 0.00 0.00 0.00 0 |__mysqld
01:51:38 PM 27 - 1107 0.00 0.00 0.00 0.00 1 |__mysqld
Uso de disco (parámetro -d) del comando anterior:
[root@LINUX1 ~]# pidstat -t -C "mysql" -d
Linux 3.10.0-229.4.2.el7.x86_64 07/21/2015 _x86_64_ (2 CPU)
01:57:06 PM UID TGID TID kB_rd/s kB_wr/s kB_ccwr/s Command
01:57:06 PM 27 907 - 0.00 0.00 0.00 mysqld_safe
01:57:06 PM 27 - 907 0.00 0.00 0.00 |__mysqld_safe
01:57:06 PM 27 1064 - 0.01 0.00 0.00 mysqld
01:57:06 PM 27 - 1064 0.01 0.00 0.00 |__mysqld
iostat
Con iostat podemos ver el uso del sistema de disco.
Ejecución de iostat sin parámetros:
[root@LINUX1 ~]# iostat
Linux 3.10.0-229.4.2.el7.x86_64 07/21/2015 _x86_64_ (2 CPU)
avg-cpu: %user %nice %system %iowait %steal %idle
0.03 0.00 0.02 0.00 0.00 99.95
Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn
sda 0.03 0.10 0.35 244608 881232
sar
Con sar podemos ver la actividad general de uso de recursos del sistema, no solo de CPU.
Con sar, es posible realizar todas las tareas de monitorización que podíamos hacer con las herramientas: iostat, mpstat, pidstat
Con sar, es posible realizar todas las tareas de monitorización que podíamos hacer con las herramientas: iostat, mpstat, pidstat
Ejemplo:
Uso de sar, para monitorizar el uso de la red:
Uso de sar, para monitorizar el uso de la red:
[root@LINUX1 ~]# sar -n DEV
Linux 3.10.0-229.4.2.el7.x86_64 07/20/2015 _x86_64_ (2 CPU)
05:00:01 PM IFACE rxpck/s txpck/s rxkB/s txkB/s rxcmp/s txcmp/s rxmcst/s
05:10:01 PM ens32 0.46 0.13 0.04 0.02 0.00 0.00 0.00
05:10:01 PM lo 0.00 0.00 0.00 0.00 0.00 0.00 0.00
05:10:01 PM ens33 2.45 0.00 2.99 0.00 0.00 0.00 0.00
05:20:01 PM ens32 0.24 0.01 0.02 0.01 0.00 0.00 0.00
05:20:01 PM lo 0.00 0.00 0.00 0.00 0.00 0.00 0.00
05:20:01 PM ens33 2.42 0.00 2.99 0.00 0.00 0.00 0.00
05:30:01 PM ens32 0.30 0.03 0.03 0.00 0.00 0.00 0.00
05:30:01 PM lo 0.00 0.00 0.00 0.00 0.00 0.00 0.00
05:30:01 PM ens33 2.45 0.00 2.99 0.00 0.00 0.00 0.00
Average: ens32 0.34 0.06 0.03 0.01 0.00 0.00 0.00
Average: lo 0.00 0.00 0.00 0.00 0.00 0.00 0.00
Average: ens33 2.44 0.00 2.99 0.00 0.00 0.00 0.00
*ens32 y ens33, corresponden a los interfaces Ethernet del equipo.
Linux 3.10.0-229.4.2.el7.x86_64 07/20/2015 _x86_64_ (2 CPU)
05:00:01 PM IFACE rxpck/s txpck/s rxkB/s txkB/s rxcmp/s txcmp/s rxmcst/s
05:10:01 PM ens32 0.46 0.13 0.04 0.02 0.00 0.00 0.00
05:10:01 PM lo 0.00 0.00 0.00 0.00 0.00 0.00 0.00
05:10:01 PM ens33 2.45 0.00 2.99 0.00 0.00 0.00 0.00
05:20:01 PM ens32 0.24 0.01 0.02 0.01 0.00 0.00 0.00
05:20:01 PM lo 0.00 0.00 0.00 0.00 0.00 0.00 0.00
05:20:01 PM ens33 2.42 0.00 2.99 0.00 0.00 0.00 0.00
05:30:01 PM ens32 0.30 0.03 0.03 0.00 0.00 0.00 0.00
05:30:01 PM lo 0.00 0.00 0.00 0.00 0.00 0.00 0.00
05:30:01 PM ens33 2.45 0.00 2.99 0.00 0.00 0.00 0.00
Average: ens32 0.34 0.06 0.03 0.01 0.00 0.00 0.00
Average: lo 0.00 0.00 0.00 0.00 0.00 0.00 0.00
Average: ens33 2.44 0.00 2.99 0.00 0.00 0.00 0.00
*ens32 y ens33, corresponden a los interfaces Ethernet del equipo.
También disponemos de los siguientes modos, para el uso de:
- Disco: -d
- RAM: -r
- CPU: Sin parámetros
- Todos los modos: -A
sysstat como servicio
Al instalar el paquete sysstat, no solo disponemos de los comandos anteriores, si no que sysstat puede funcionar como servicio para poder obtener resultados de una monitorización continua.
La configuración de sysstat como servicio consiste:
Ejemplos basados sobre CentOS 7:
Iniciar servicio: systemctl start sysstat
Detener servicio: systemctl stop sysstat
Configurar el inicio del servicio como automático: systemctl enable sysstat
Fichero de configuración:
[root@LINUX1 ~]# cat /etc/sysconfig/sysstat
# sysstat-10.1.5 configuration file.
# How long to keep log files (in days).
# If value is greater than 28, then log files are kept in
# multiple directories, one for each month.
HISTORY=28
# Compress (using gzip or bzip2) sa and sar files older than (in days):
COMPRESSAFTER=31
# Parameters for the system activity data collector (see sadc manual page)
# which are used for the generation of log files.
SADC_OPTIONS="-S DISK"
# Compression program to use.
ZIP="bzip2"
Tabla cron de sysstat:
[root@LINUX1 ~]# cat /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
No hay comentarios:
Publicar un comentario