Ответ
В Ansible для проверки состояния узлов без внесения изменений используется режим --check (Dry Run) в сочетании с модулем ping для базовой проверки доступности.
1. Проверка подключения (Ad-Hoc команда):
ansible all -i inventory.ini -m ping
# Успешный ответ: {"ping": "pong"}
2. Пробный запуск плейбука (Dry Run):
ansible-playbook site.yml --check --diff
Этот режим показывает, какие изменения были бы применены, но не выполняет их. Он критически важен для проверки конфигураций на production-серверах.
3. Использование модуля wait_for для проверки конкретных сервисов:
- name: Wait for web server to start on port 8080
ansible.builtin.wait_for:
host: "{{ inventory_hostname }}"
port: 8080
delay: 5
timeout: 60
Также для комплексного мониторинга состояния в DevOps-стеке используются внешние системы: Health Checks в оркестраторах (Kubernetes Readiness/Liveness Probes), мониторинг (Prometheus) и алертинг (Alertmanager).