我正在设计一个仪表板,用于使用ansible剧本显示所有服务器状态(上/下),可用RAM,内核版本,处理器类型等。使用收集的事实,我可以轻松获取所有服务器参数,但不确定如何使用剧本启动/关闭服务器。如果服务器关闭,则无法连接服务器,因此无法使用“ ping”模块。请帮我。如果任何服务器的Playbook失败,是否有任何方法可以捕获返回值?
ansible连接的顺序为1.进行ssh连接2.如果ssh成功,则收集事实3.逐一执行剧本。如果ping是游戏手册中的一项任务,则控制权甚至不会到达该位置,并且ansible会在步骤1本身中引发连接错误。请参阅下面的https://docs.ansible.com/ansible/2.4/ping_module.html
另外,请注意我的清单包含许多服务器,我需要获取每个服务器的服务器状态。
答案 0 :(得分:0)
您可以按照注释使用ping的结果,如果要检查其他端口,则可以使用wait_for:
- hosts: all
tasks:
- wait_for: host=192.168.87.100 port=80 timeout=1
- debug: msg=ok