Por quanto tempo o Zabbix estava offline?

1

Estou executando um servidor Zabbix no Ubuntu 16.04 em um local com um poder de rede muito ruim. Mesmo com um no-break, o servidor Zabbix freqüentemente cai. Como todo o edifício perde energia, agora tenho como saber quanto tempo o servidor Zabbix ficou inativo.

O gerenciamento precisa saber quanto tempo o servidor ficou inativo. Como posso ler os arquivos de log (com um script ou comando único) para determinar o tempo de inatividade do servidor Zabbix?

    
por zDaniels 06.02.2018 / 03:36

3 respostas

2

Se você está falando retrospectivamente, assumindo padrões razoáveis no ubuntu 16.04, você tem as seguintes opções (e possivelmente outras ... auditadas talvez?) para inspecionar a atividade:

  1. diário do systemd
  2. arquivos de log em /var/log/{auth,kern,syslog}.log etc
  3. o próprio servidor Zabbix

journalctl

Eu acho que a persistência dos logs de inicialização está desativada no Ubuntu, então journalctl -b provavelmente não é tão útil. Mas não há nada que atrapalhe o balanceamento das entradas de log e a visualização de quais períodos são "tempo de inatividade" de todo o log relacionado ao cron e ao daemon.

O seguinte mostrará o número de entradas de log no diário do systemd em blocos por hora que retornam 1 semana. E você pode ver facilmente se houve tempo de inatividade ...

START_STRING="1 week ago"
FORMAT="%Y-%m-%d %H:%M:%S"
next_date=$(date +%s -d "$START_STRING")

while [ "$next_date" -le "$(date +%s)" ]; do
  curr_date=$next_date
  next_date=$(date +%s -d "@$((next_date + 3600))")
  curr_data_iso=$(date +"$FORMAT" -d "@$curr_date")
  next_date_iso=$(date +"$FORMAT" -d "@$next_date")
  echo -n "$curr_data_iso  $next_date_iso "
  count=$(journalctl --quiet --no-pager --since "$curr_data_iso" --until "$next_date_iso"  | wc -l )
  echo -n " $count "
        [ $count -gt 100 ] && nummer=100 || nummer=$count
  printf '=%.0s' $(seq 1 $nummer)
        echo ""
done
echo ""

saída é algo assim

2018-02-05 03:44:26  2018-02-05 04:44:26  15 ===============
2018-02-05 04:44:26  2018-02-05 05:44:26  9 =========
2018-02-05 05:44:26  2018-02-05 06:44:26  18 ==================
2018-02-05 06:44:26  2018-02-05 07:44:26  9 =========
2018-02-05 07:44:26  2018-02-05 08:44:26  9 =========
2018-02-05 08:44:26  2018-02-05 09:44:26  9 =========
2018-02-05 09:44:26  2018-02-05 10:44:26  9 =========
2018-02-05 10:44:26  2018-02-05 11:44:26  121 ====================================================================================================
2018-02-05 11:44:26  2018-02-05 12:44:26  9 =========
2018-02-05 12:44:26  2018-02-05 13:44:26  9 =========
2018-02-05 13:44:26  2018-02-05 14:44:26  9 =========
2018-02-05 14:44:26  2018-02-05 15:44:26  9 =========
2018-02-05 15:44:26  2018-02-05 16:44:26  9 =========
2018-02-05 16:44:26  2018-02-05 17:44:26  9 =========
2018-02-05 17:44:26  2018-02-05 18:44:26  9 =========
2018-02-05 18:44:26  2018-02-05 19:44:26  9 =========
2018-02-05 19:44:26  2018-02-05 20:44:26  12 ============
2018-02-05 20:44:26  2018-02-05 21:44:26  9 =========
2018-02-05 21:44:26  2018-02-05 22:44:26  11 ===========
2018-02-05 22:44:26  2018-02-05 23:44:26  9 =========
2018-02-05 23:44:26  2018-02-06 00:44:26  9 =========
2018-02-06 00:44:26  2018-02-06 01:44:26  9 =========
2018-02-06 01:44:26  2018-02-06 02:44:26  16 ================
2018-02-06 02:44:26  2018-02-06 03:44:26  9 =========
2018-02-06 03:44:26  2018-02-06 04:44:26  9 =========
2018-02-06 04:44:26  2018-02-06 05:44:26  0 =
    
por 06.02.2018 / 05:46
1

O Zabbix monitora a si mesmo por padrão. Se estiver, terá dados; se não, não vai. Procure a lacuna nos dados.

    
por 06.02.2018 / 05:24
1

Consegui ler os arquivos de log do Ubuntu usando o seguinte comando.

grep -E "syslogd:.*(exiting|start)" syslog

Isso me deu as linhas dos arquivos de log indicando a data e a hora em que o servidor foi desligado e, em seguida, inicializado. Por enquanto, vou ter que fazer uma planilha com os horários para calcular o tempo de inatividade. Talvez eu escreva um script em algum momento para automatizar isso.

    
por 07.02.2018 / 01:57