ansible - 如何使用 ansible playbook 获取每个主机上的组名?
问题描述
我将 ansible playbook 用于审计脚本 我将 ansible playbook 与 Jinja2 一起用于在 HTML 中创建仪表板 这是我的清单
[Ubuntu16]
target1.com
[CentOS7]
target2.com
我运行所有主机来检查连接,我想执行以下步骤
按组计算清单中的所有主机
在连接通过的情况下,注册到一个参数(按组分隔)
然后将结果的参数发送到 Jinja2 模板
结果应该是这样的
Ubuntu16_sum_all = 1
Ubuntu16_alive = 1
Ubuntu16_dead = 1
CentOS7_sum_all = 1
CentOS7_alive = 1
CentOS7_dead = 1
当我在剧本中运行所有主机时,我不知道要获取主机的组名。请帮忙
解决方案
我不认为有直接使用上述库存格式的直接方法。我的建议是将主机名放入变量中,如下所示:
---
hosts:
- Ubuntu:
- 1
- 2
- Centos:
- 1
- 2
- Fedora:
- 1
- 2
在上面的清单中,您可以直接遍历所有主机名
推荐阅读
- bash - 如何回显“$@”以便结果是有效的 bash 并保持正确的引用?
- javascript - 游戏项目 p5.js / javascript
- laravel - 如何在 laravel 中将 2 个表数据放入单个变量数组中?
- sql - 从 Big Query SQL 中的时间戳中提取一天中的小时(“FROM”错误)
- linux - 使用 shell 脚本从文件中读取键值
- php - Symfony 5无法为动态数据库连接自动装配参数$Driver
- powershell - 将列添加到数组
- swiftui - SwiftUI 自动刷新 Coudkit 数据
- pandas - 在列中查找日期,将相邻列值附加到新列 - 全部在一个 df 中?
- .htaccess - 避免 .htaccess 继承