#ansible
#ansible
Вопрос:
Я разрабатываю панель мониторинга для отображения состояния всех серверов (вверх / вниз), свободной оперативной памяти, версии ядра, типа процессора и т. Д., Используя ansible playbook. Используя gather facts, я могу легко получить все параметры сервера, но не уверен, как получить сервер вверх / вниз с помощью playbook. Если сервер не работает, ansible не может подключиться к серверу, следовательно, модуль «ping» не может использоваться. Пожалуйста, помогите мне. Есть ли какой-нибудь способ получить возвращаемое значение, если playbook не работает на каком-либо сервере?
Порядок подключения ansible таков: 1. Установите ssh-соединение 2. если ssh завершается успешно, соберите факты 3. Выполняйте таксы playbook один за другим. Если ping является задачей внутри playbook, управление даже не попадет в это место, и ansible выдал бы ошибку подключения на самом шаге 1. Пожалуйста, обратитесь ниже https://docs.ansible.com/ansible/2.4/ping_module.html
Также, пожалуйста, обратите внимание, что в моем инвентаре много серверов, и мне нужно получить статус сервера для каждого из них.
Комментарии:
1. Почему бы вам не использовать модуль оболочки, пинговать сервер и регистрировать вывод?
2.
If server is down,ansible cannot connect to server hence 'ping' module cannot used.
..что? почему?3. В документации Ansible говорится, что использование модуля ping в playbookd не имеет никакого смысла docs.ansible.com/ansible/2.4/ping_module.html
Ответ №1:
Вы можете просто использовать результат пинга в соответствии с комментарием или использовать wait_for, если хотите проверить другой порт:
- hosts: all
tasks:
- wait_for: host=192.168.87.100 port=80 timeout=1
- debug: msg=ok