You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Ansible Tower动态获取指定库存组成员并生成邮件通知

获取Ansible指定组的成员并填充邮件正文

直接通过groups['组名']即可获取目标组的所有成员主机列表,以下是具体实现步骤和示例:

  1. 提取指定组的服务器列表
    使用set_fact模块将目标组的主机列表转换为邮件友好的格式,比如换行分隔:

    - name: 提取Test_Group_3的服务器列表
      set_fact:
        patch_servers: "{{ groups['Test_Group_3'] | default([]) | join('\n') }}"
    
    • default([])用于兜底,避免因组不存在触发Playbook报错;
    • join('\n')把数组格式的主机名转为换行分隔的字符串,让邮件内容更易读。
  2. 在邮件模块中引用变量
    调用Ansible的mail模块发送通知时,直接在正文插入生成好的服务器列表变量:

    - name: 发送补丁操作通知邮件
      mail:
        subject: "本月Test_Group_3补丁操作服务器清单"
        body: |
          即将对以下服务器执行月度补丁操作:
    
          {{ patch_servers }}
    
          操作时间:XXXX年XX月XX日 XX:XX
          如有疑问请联系运维团队
        from: ansible-tower@your-domain.com
        to: ops-notify@your-domain.com
        smtp_server: smtp.your-domain.com
    
  3. 验证变量准确性
    可以先添加debug模块测试获取到的主机列表是否符合预期:

    - name: 打印目标组服务器列表
      debug:
        var: groups['Test_Group_3']
    

内容的提问来源于stack exchange,提问作者ITMike89

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.17 13:55:16