como consultar o sar (sysstat) por mais de um dia pontos de dados

0
  1. Não vejo que o comando 'sar' aceite data e hora como hora de início (-s) ou hora de término (-e) do que apenas o tempo. Então, como consultar 'sar' por mais de um dia de dados com data e hora mais antigas (-f não vai ajudar aqui). A saída do comando 'sar' também deve ter um valor de data para os pontos de dados - em vez de apenas o tempo em horas e minutos.
  2. Eu vejo arquivos de dados sysstat splitting pa por dia. Não há problema em modificar as entradas padrão do cron sysstat para coletar dados sysstat (sa1 / sa2) em um único arquivo pa por semana.

configuração do sysstat:

cat /etc/sysconfig/sysstat
# sysstat-9.0.4 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=7

# Compress (using gzip or bzip2) sa and sar files older than (in days):
COMPRESSAFTER=10

# Parameters for the system activity data collector (see sadc manual page)
# which are used for the generation of log files.
SADC_OPTIONS="-S DISK"

Entradas do cron sysstat:

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
    
por Murali Mopuru 20.02.2018 / 07:52

1 resposta

0

Você não pode fazer isso diretamente. O sar (systat) e os amigos são limitados especificamente aos registros diários. De "sadc.c" (em sysstat-11.7.2):

 485 void setup_file_hdr(int fd)
 486 {
 ...
 507     file_hdr.sa_day         = rectime.tm_mday;
 508     file_hdr.sa_month       = rectime.tm_mon;
 509     file_hdr.sa_year        = rectime.tm_year;

Assim, o cabeçalho do arquivo contém um e apenas um dia.

Um tanto convincente é o formato de um registro individual. De "sa.h":

 604 struct record_header {
 ...
 617     /*
 618      * Timestamp: Hour (0-23), minute (0-59) and second (0-59).
 619      * Used to determine TRUE time (immutable, non locale dependent time).
 620      */
 621     unsigned char hour;
 622     unsigned char minute;
 623     unsigned char second;

No entanto, a estrutura também contém tempo de atividade da máquina em 1/100 de segundo e número de segundos desde a época. Eu teria que fazer um pouco mais para ver como esses valores são usados (o que eu não farei), então isso é mais uma dica do que uma prova.

    
por 23.02.2018 / 02:41