Como gerar relatórios mensais de uptime no linux?

4

Eu queria enviar um relatório de uptime mensal aos meus clientes por e-mail. Alguém me ajudará a gerar relatórios mensais?

    
por life tree 30.01.2018 / 12:00

2 respostas

2

Como uma nota rápida para a excelente resposta feita por Rinzwind sobre Tuptime .

O pacote está disponível no repositório oficial, então você pode instalar com:

# apt-get install tuptime

Supondo que você envie o relatório no dia 1 de cada mês, estas são as etapas:

Obtenha o carimbo de data e hora do primeiro dia de um mês a partir das 00:00 horas:

$ date -d "-1 month 00:00" +%s
1514761200

Obtenha o carimbo de data e hora do último dia do mês anterior a partir das 23:59 horas:

$ date -d "this month -1 second 00:00" +%s
1517439599

Use esses números com os argumentos tsince e tuntil:

$ tuptime --tsince 1514761200 --tuntil 1517439599 
System startups:    25   since   00:00:00 01/01/18   until   23:59:59 31/01/18
System shutdowns:   24 ok   -   1 bad
System uptime:      4.84 %   -   1 day, 12 hours, 0 minutes and 24 seconds
System downtime:    95.16 %   -   29 days, 11 hours, 59 minutes and 36 seconds
System life:        31 days, 0 hours, 0 minutes and 0 seconds

Largest uptime:     3 hours, 37 minutes and 41 seconds   from   19:00:15 16/01/18
Shortest uptime:    1 minute and 5 seconds   from   16:40:13 19/01/18
Average uptime:     1 hour, 26 minutes and 25 seconds

Largest downtime:   4 days, 9 hours, 48 minutes and 21 seconds   from   14:11:38 27/01/18
Shortest downtime:  11 seconds   from   16:40:02 19/01/18
Average downtime:   1 day, 4 hours, 19 minutes and 11 seconds

Current uptime:     48 minutes and 19 seconds   since   18:50:03 01/02/18

Agora, você pode obter esse relatório ou um dos outros disponíveis como o formato de tabela ou lista e enviá-lo aos clientes.

    
por Rfraile 01.02.2018 / 19:52
4

Existe uma ferramenta chamada "tuptime" que gera informações sobre o "tempo de atividade", mas com muito mais informações em comparação com o "tempo de atividade" da linha única.

A partir da sua página do github :

  

Instalação básica e uso

     

Clone o repo

git clone https://github.com/rfrail3/tuptime.git
     

Copie o arquivo tuptime localizado no diretório latest/ para    /usr/bin/ e torná-lo executável

cp tuptime/src/tuptime /usr/bin/tuptime chmod ugo+x /usr/bin/tuptime
     

Garantir que o sistema passe os pré-requisitos

python 3.X 
     

Execute primeiro com um usuário privilegiado

tuptime

Extra adicionado por mim: altere o proprietário e o grupo de typtime para seu usuário com:

sudo chown $USER:$USER /usr/bin/tuptime

e você pode executá-lo sem acesso ao sudo / root.

A partir do link, um dos pontos principais mostrados é:

  
  • Registra as horas em um banco de dados sqlite. Qualquer outro software pode usá-lo. As especificações estão no tuptime-manual.txt. Além disso, ele tem a opção de gerar os registros em segundos e epoch (-s) ou / e no formato csv, fácil de enviar para outros comandos.
  •   

Então, se você puder codificar, poderá criar seus próprios relatórios. Ou até mesmo conectar o banco de dados a algo como jasperstudio e criar um modelo.

Caso contrário, o comando tuptime mostrará isso:

System startups:    1   since   21:54:09 24/09/15
System shutdowns:   0 ok   -   0 bad
System uptime:      100.0 %   -   21 minutes and 30 seconds
System downtime:    0.0 %   -   0 seconds
System life:        21 minutes and 30 seconds

Largest uptime:     21 minutes and 30 seconds   from   21:54:09 24/09/15
Shortest uptime:    21 minutes and 30 seconds   from   21:54:09 24/09/15
Average uptime:     21 minutes and 30 seconds

Largest downtime:   0 seconds
Shortest downtime:  0 seconds
Average downtime:   0 seconds

Current uptime:     21 minutes and 30 seconds   since   21:54:09 24/09/15

ou tuptime --table mostrarão uma saída com tabela:

No.      Startup Date                              Uptime       Shutdown Date   End                   Downtime

1   10:15:27 08/08/15                          42 seconds   10:16:09 08/08/15    OK                 16 seconds
2   10:16:26 08/08/15                          49 seconds   10:17:15 08/08/15    OK                 16 seconds
3   10:17:32 08/08/15            5 minutes and 47 seconds   10:23:19 08/08/15    OK                 16 seconds
4   10:23:36 08/08/15                           9 seconds   10:23:45 08/08/15   BAD                 42 seconds
5   10:24:28 08/08/15   2 hours, 9 minutes and 27 seconds   12:33:55 08/08/15    OK  41 minutes and 44 seconds
    . . .

O manual do tuptime mencionado tem muitas informações boas.

Você pode enviar a saída para um arquivo adicionando >> /home/$USER/Downloads/tuptime.log ao comando. Esse arquivo de texto pode ser enviado para os clientes.

    
por Rinzwind 30.01.2018 / 13:50