Как долго Zabbix был в автономном режиме?

Я запускаю Zabbix сервер на Ubuntu 16.04 в месте с очень плохим энергоснабжением. Даже с ИБП сервер Zabbix часто выходит из строя. Поскольку все здание теряет электроэнергию, теперь у меня есть способ узнать, как долго сервер Zabbix не работал.

Руководству необходимо знать, как долго сервер не работал. Как я могу прочитать файлы журнала (с помощью сценария или отдельной команды), чтобы определить время простоя Zabbix сервера?

1
задан 6 February 2018 в 09:17
3 ответа

Если вы говорите ретроспективно, то при разумных значениях по умолчанию в ubuntu 16.04 у вас есть следующие параметры (и, возможно, другие ... возможно, auditd?) Для проверки активности:

  1. systemd journal
  2. файлы журналов в / var / log / {auth, kern, syslog} .log и т.д.
  3. на самом сервере Zabbix

journalctl

Я думаю, что сохранение журналов загрузки является отключен в ubuntu, поэтому journalctl -b , вероятно, не так уж и полезен. Но ничто не мешает вам собирать записи в журнале и видеть, какие периоды являются "временем простоя" из всех журналов, связанных с cron и демонами.

Следующее будет выгружать количество записей журнала в журнале systemd по часам. назад на 1 неделю. И вы можете легко увидеть, был ли простой ...

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 ""

вывод выглядит примерно так

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 =
2
ответ дан 3 December 2019 в 17:34

Zabbix по умолчанию контролирует себя. Если он запущен, у него будут данные; если нет, то не будет. Ищите пробелы в данных.

1
ответ дан 3 December 2019 в 17:34

Я смог прочитать файлы журнала Ubuntu с помощью следующей команды.

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

Это дало мне строки из файлов журнала, указывающие дату и время, когда сервер выключился, а затем загрузился. На данный момент мне нужно будет составить таблицу со временем для расчета времени простоя. Может быть, я когда-нибудь напишу сценарий, чтобы автоматизировать это.

1
ответ дан 3 December 2019 в 17:34

Теги

Похожие вопросы