Ansible日志记录-谁、什么、何时

Ansible日志记录-谁、什么、何时,ansible,Ansible,我有一个任务:在一个地方记录ansible或ansible playbook的每次运行(我们在单个主机上通过sudo在不同的用户下进行)。我需要在日志中看到的内容: 整个命令行 使用sudo运行它的用户 日期时间 playbook(ansible playbook)或命令(例如ansible-m ping)的输出 找到了通过回调插件格式化playbook输出的能力,或者在ansible.cfg中启用调试,但这无助于获取“what”和“who”。如果您能与我们分享这方面的想法,我们将不胜感激 An

我有一个任务:在一个地方记录ansible或ansible playbook的每次运行(我们在单个主机上通过sudo在不同的用户下进行)。我需要在日志中看到的内容:

  • 整个命令行
  • 使用sudo运行它的用户
  • 日期时间
  • playbook(
    ansible playbook
    )或命令(例如
    ansible-m ping
    )的输出
  • 找到了通过回调插件格式化playbook输出的能力,或者在
    ansible.cfg
    中启用调试,但这无助于获取“what”和“who”。如果您能与我们分享这方面的想法,我们将不胜感激


    Ansible 2.8.3版。

    这似乎正好符合和/或(取决于Ansible对您的组织的重要性)

    首先,让我添加一些上下文,以防您还不知道,AWX是Ansible Tower的上游项目。Ansible Tower是一个广告,由红帽支付。AWX可以在许多可以运行Docker的系统上运行,Ansible Tower需要Red Hat Enterprise Linux。除了这些例外,AWX和Ansible Tower在功能上是等效的,除非是品牌,这表明您运行的是AWX版本还是Tower版本。

    AWX将向执行每个Ansible Playbook的数据库记录每个操作的结果(无论是STDOUT/STDERR)以及每个主机的成功/失败/跳过/etc状态数。这也可以通过管道发送到SIEM或SYSLOG收集器

    我可以看到,您唯一的另一个选择是将
    ansible-
    命令的执行包装在一个外部包装器中,该外部包装器以某种方式将输出记录到syslog,并且可能还会添加一条语句来显示
    ansible playbook
    (例如)是由用户
    bob
    执行的


    但是,我强烈认为AWX是您的第一个呼叫端口。它提供的不仅仅是日志记录功能,还包括这样一个事实:除了通过您的AWX环境之外,您的用户将(不一定)无法访问您的目标服务器。

    这似乎是和/或(取决于Ansible对您的组织有多重要)

    首先,让我添加一些上下文,以防您还不知道,AWX是Ansible Tower的上游项目。Ansible Tower是一个广告,由红帽支付。AWX可以在许多可以运行Docker的系统上运行,Ansible Tower需要Red Hat Enterprise Linux。除了这些例外,AWX和Ansible Tower在功能上是等效的,除非是品牌,这表明您运行的是AWX版本还是Tower版本。

    AWX将向执行每个Ansible Playbook的数据库记录每个操作的结果(无论是STDOUT/STDERR)以及每个主机的成功/失败/跳过/etc状态数。这也可以通过管道发送到SIEM或SYSLOG收集器

    我可以看到,您唯一的另一个选择是将
    ansible-
    命令的执行包装在一个外部包装器中,该外部包装器以某种方式将输出记录到syslog,并且可能还会添加一条语句来显示
    ansible playbook
    (例如)是由用户
    bob
    执行的


    但是,我强烈认为AWX是您的第一个呼叫端口。它提供的不仅仅是日志功能,还包括用户(不一定)无法访问目标服务器的事实,除非通过您的AWX环境。

    安装AWX/Tower并从那里播放您的所有剧本,或者监视您的ssh访问和启动命令。我已经在graylog中记录了ssh和sudo命令。只是想添加ansible.log中关于谁和什么的信息,而不仅仅是标准输出、格式化或不格式化。但是找不到这样的解决方案。或者安装AWX/Tower并从那里播放所有的剧本,或者监视ssh访问和启动命令。我已经在graylog中记录了ssh和sudo命令。只是想添加ansible.log中关于谁和什么的信息,而不仅仅是标准输出、格式化或不格式化。但是找不到这样的解决方案。你好!是的,AWX是解决方案,但它假定要运行额外的基础设施,此外,还可能为此调整剧本。所以,正如您所建议的,我为ansible playbook编写了一个简单的包装器,名为ansible play,并成功地使用了它。关于未经授权的访问-我们只有登录到服务器的选项-ssh密钥,因此没有部署到服务器的密钥的人无法访问它们。您好!是的,AWX是解决方案,但它假定要运行额外的基础设施,此外,还可能为此调整剧本。所以,正如您所建议的,我为ansible playbook编写了一个简单的包装器,名为ansible play,并成功地使用了它。关于未经授权的访问—我们只有登录到服务器的选项—ssh密钥,因此未将密钥部署到服务器的用户无法访问这些密钥。