Мониторинг времени на сервере с помощью Zabbix

0
6157
Обложка статьи: Мониторинг времени на сервере с помощью Zabbix

Инструкция входит в цикл про Zabbix. Общая картина: мониторинг Linux и Windows в Zabbix, справочник ключей: ключи агента.

Нужно видеть, когда часы сервера уехали. Расхождение ломает журналы, TLS и разбор инцидента. Сначала синхронизируйте chrony — статья про chrony — потом повесьте item в Zabbix.

1. Время на самом хосте

timedatectl
chronyc tracking

Ожидание: System clock synchronized: yes. Если нет — чините NTP, не порог в Zabbix.

2. Item в Zabbix

На узле с агентом штатный ключ:

system.localtime

Тип: Zabbix agent. В шаблонах поставки часто уже есть «System time difference». Не пишите свой скрипт date +%s, если ключ агента отвечает.

С сервера Zabbix:

zabbix_get -s 192.0.2.20 -k system.localtime

Ожидание: unix time, близкий к date +%s на сервере. Разница больше пары секунд на одном NTP-контуре — смотрите chrony на узле.

3. Триггер

В поставке обычно сравнивают время агента со временем сервера Zabbix. Порог «больше 30–60 секунд» — рабочая отправная точка, не догма. Не ставьте 1 секунду: получите шум. Имя триггера и формулу смотрите в шаблоне своей версии, не копируйте выражение 5.0.

Почему расхождение времени опасно

  • Kerberos и Active Directory. По умолчанию допускают расхождение до 5 минут, дальше аутентификация падает.
  • TLS и сертификаты. Часы далеко в прошлом или будущем дают ошибки «сертификат недействителен».
  • Одноразовые коды MFA. TOTP зависит от времени: MFA для SSH перестанет принимать коды.
  • Расследования. Журналы разных серверов нельзя сопоставить: сбор логов.

Windows-узлы

w32tm /query /status
w32tm /query /source
w32tm /resync

В домене источник времени — контроллер домена, а на контроллерах — внешний NTP. Ключ system.localtime агент отдаёт и в Windows, шаблон Windows by Zabbix agent содержит проверку расхождения.

Виртуальные машины

Если гипервизор синхронизирует время гостя (VMware Tools, Hyper-V Integration Services), а внутри работает chrony, они «тянут» часы в разные стороны. Выберите один источник времени: обычно NTP внутри гостя, а синхронизацию с гипервизором отключают. Пошаговая настройка chrony: синхронизация времени.

Что делать при срабатывании

  1. chronyc tracking и chronyc sources -v: есть ли источник и насколько большое смещение.
  2. Если источников нет: проверьте исходящий UDP/123 на firewall.
  3. Разовая коррекция: sudo chronyc makestep. Не двигайте время вручную на сервере с базой данных или кластером без остановки зависимых служб.

Как проверить

date +%s
zabbix_get -s 192.0.2.20 -k system.localtime
chronyc tracking

Две метки близки, в Latest data item зелёный, тестовый сдвиг часов (только на стенде) поднимает триггер и возвращается после chronyc makestep.

Источники

Комментарии закрыты.