【问题标题】:How to continuously tail remote files using ansible?如何使用ansible连续跟踪远程文件?
【发布时间】:2015-11-12 02:21:53
【问题描述】:

如何使用 ansible 跟踪位于已知位置的多个远程服务器上的文件?这个问题是基于这个Hacker News thread的评论:

在我公司,我们有数百台机器和使用 ansible 完成的尾矿。 如果我们想自定义日志视图,我们可以简单地编辑 playbook。一世 与我们需要额外的 npm 包相比,认为它非常方便(并且 更不用说额外的定制工作了)。

【问题讨论】:

  • Ansible 只运行 ssh 命令,所以我想有一个 shell 命令在清单文件中的主机上运行 tail 会起作用。不过,我会让某人以官方回应来回答
  • 这是一个根本错误的方法。您正在使用铲子粉刷墙壁。虽然您可能可以使用 Ansible 拼凑一些东西,但它不是这项工作的正确工具。您应该使用日志聚合/集中式日志记录系统。
  • 当然,正确的方法确实是花时间在日志聚合/集中式日志系统上。但是,我正在寻找一种快速而肮脏的解决方案来跟踪来自多个服务器的日志,而无需设置多个终端窗格,其中每个窗格都跟踪来自单个远程服务器的日志。

标签: ansible tail


【解决方案1】:

你可以使用 ansible ad-hoc

 ansible atlanta -a "tail /homedir/myfile" -f 10

更新

Ansible 只能在完成命令后打印输出。这就是为什么我认为你想要的东西是不可能的,ansible 可能不是你想要的工具。检查问题48703887

如果你真的想使用 ansible 来做这件事,hack 发布在其中一个问题中(没有测试过,实际上我不推荐它)。

我真的不知道那个来自 HN 的家伙在说什么,也许只是 tail(没有 -f)?

【讨论】:

  • 我需要使用“tail -f”持续监控日志
【解决方案2】:

过去,我使用capistrano 构建tasks that would tail and follow logs on multiple hosts 并交互输出。如果你对 Ruby 没问题,我知道这会奏效。如果你想坚持使用 Python,fabric 是你的菜,请看other people have done this

【讨论】:

  • 虽然理论上可以回答这个问题,it would be preferable 在这里包含答案的基本部分,并提供链接以供参考。
【解决方案3】:

您可以使用 daggy 通过 ssh 传输命令,包括 tail -f

【讨论】:

    猜你喜欢
    • 2010-10-08
    • 1970-01-01
    • 2017-01-16
    • 2023-03-05
    • 1970-01-01
    • 2012-09-14
    • 2022-10-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多