Am正在自动化区域中通过Saltstack进行应用程序修补,实际的修补需要几个小时才能完成。在saltstack中(根据我的理解),我注意到执行的输出只能在作业完成后才能访问。我试图找到一种方法来寻找在执行之间拉入部分执行stdout和stderr(如果有的话)的可能性,每15分钟一次,直到执行完成为止。但是我没有运气,发现在https://groups.google.com/forum/#!topic/salt-users/ikAVtZnuB30上有关于它的古老讨论。由于该线程太旧了,我想知道有什么方法可以针对长时间运行的作业定期获取执行标准输出。否则,我们将不知道执行过程中发生了什么,并且很难登录到每个应用程序服务器来检查正在发生的事情。如果仍然没有可用的此类功能,我想知道至少有这种情况下可用的解决方法。
我发现salt minion将作业详细信息存储在minion高速缓存文件夹中,直到作业完成为止,因此在苦苦思索编写脚本以通过查看minion高速缓存文件夹来检查正在运行的作业详细信息之后。但是缓存文件夹不包含执行stdout / stderr,而仅包含从master发送的作业详细信息。到目前为止,据我了解,Salt使用子进程生成命令,并在脚本/命令完成后获得了子进程stdout和stderr,这些子进程被返回给master(基于调试)。随着近来盐堆的增长,我相信其中许多人都需要定期传送stdout / stderr的功能,以确切了解作业触发后远程计算机上发生了什么,我也尝试检查文档,并且什么也没做。因此,任何Salstack专家都可以为我的查询提供一些帮助。