Введение
FreeIPA Health Check – утилита для диагностики работоспособности сервера FreeIPA.
Её основное назначение – автоматическая проверка корректности настроек, безопасности, доступности репликации и работы сервисов FreeIPA.
Программа предназначена для администраторов, требующих быстрой диагностики и своевременного обнаружения неисправностей.
Цели использования:
Обеспечение устойчивости работы серверов FreeIPA.
Выявление потенциальных ошибок в настройке.
Контроль состояния репликации и конфигурации Kerberos.
Своевременное оповещение о сбоях и нарушениях в системе.
Описание стенда
Запуск утилиты производится на настроенном контроллере ЕПП FreeIPA. Порядок установки см. в статье:
Также утилита может проверять правильность
Установка пакета
Пакет freeipa-healthcheck входит в репозитории Astra Linux. Установить необходимый пакет можно используя Графический менеджер пакетов synaptic, или из командной строки:
sudo apt install freeipa-healthcheck
После установки будут созданы конфигурационный файл /etc/ipahealthcheck/ipahealthcheck.conf и служба ipa-healthcheck.service в systemd.
Конфигурация и интеграция
Файл конфигурации разделён как минимум на два раздела:
- Раздел [default]. В этом разделе задаются значения параметров, влияющих на работу инструмента проверки состояния (healthcheck).
- Раздел [excludes]. Этот раздел используется для фильтрации или подавления определённых результатов по имени источника, имени проверки или конкретному ключу результата. Это особенно полезно для игнорирования известных незначительных проблем в окружении.
Пример готовой конфигурации может выглядеть так:
[default] cert_expiration_days = 7 timeout = 25 output_type = json output_file = /var/log/ipa-health.log indent = 2 verbose = True severity = ERROR CRITICAL debug = False [excludes] source = ipahealthcheck.ipa.certs check = IPADNSSystemRecordsCheck
Также все параметры конфигурации поддерживаются в виде аргументов командой строки.
Пример готовых команд может выглядеть так:
- Выполнение конкретной проверки сертификатов с фильтрацией по уровню серьезности и показом только ошибок:shell
sudo ipa-healthcheck --source=ipahealthcheck.ipa.certs --check=IPACertExpirationCheck --severity=ERROR --severity=CRITICAL --failures-only --output-type=human
- Запуск с использованием собственного файла конфигурации, сохранением результата в файл, режимами подробного логирования и отладки:shell
sudo ipa-healthcheck --config=/etc/ipahealthcheck/myconfig.conf --output-file=/var/log/ipa/healthcheck/healthcheck.log --indent=4 --verbose --debug
- Запуск проверки топологии с выводом в формате Prometheus и заданным префиксом для метрик:shell
sudo ipa-healthcheck --source=ipahealthcheck.ipa.topology --check=IPATopologyDomainCheck --output-type=prometheus --metric-prefix=ipa_health
Важно!
При запуске инструмент сначала загружает опции из файла конфигурации, затем применяются опции командной строки.
Если параметр уже определён в файле конфигурации, он не будет переопределён опциями командной строки, если только не указан другой файл конфигурации через опцию --config
Интеграция ipa‑healthcheck с systemd
После установки пакета в systemd появятся два системных юнита:
- ipa-healthcheck.service - основной юнит-сервис, который запускает программу ipa‑healthcheck, выполняет проверки состояния установки FreeIPA и формирует отчёт об обнаруженных проблемах.
- ipa-healthcheck.timer - юнит-таймер, который по заданному интервалу инициирует запуск ipa‑healthcheck.service. Он позволяет автоматизировать регулярное выполнение проверок, что особенно полезно для постоянного мониторинга системы.
Порядок настройки таймеров в Astra Linux см. в статье:
Запуск таймера в системе производится так:
sudo systemctl enable ipa-healthcheck.timer && systemctl start ipa-healthcheck.timer
Эта команда включает автоматический запуск таймера и инициирует его немедленный старт.
В файле /usr/libexec/ipa/ipa-healthcheck.sh можно указать, с какими параметрами командной строки будет запускаться служба ipa-healthcheck.service:
#!/bin/sh LOGDIR=/var/log/ipa/healthcheck /usr/bin/ipa-healthcheck --output-file $LOGDIR/healthcheck.log --source=ipahealthcheck.ipa.certs --check=IPACertExpirationCheck --severity=ERROR --severity=CRITICAL
Кроме передачи опций через командную строку, параметры работы ipa‑healthcheck можно задать и в конфигурационном файле. См. Конфигурация и интеграция
Предупреждение!
Запуск юнита ipa‑healthcheck.service через systemd может завершиться статусом failed, если какая-либо тестовая проверка не выполнена должным образом (например, из-за таймаута, ошибки доступа или сбоя в подключении). В этом случае утилита возвращает ненулевой код, а для диагностики стоит просмотреть логи с помощью команды:
sudo journalctl -u ipa-healthcheck.service
Обзор проверок для диагностики и мониторинга FreeIPA
Программа поддерживает следующие проверки
с полным списком можно ознакомиться при помощи комадны:
sudo ipa-healthcheck --list-sources
1111