Juju在哪里存储所有运行命令及其每个单元输出的日志?


8

有时,在为Juju魅力部署服务(更具体地说是新的单元)时,会发生错误,并且似乎无法确切地找到它的含义。

单元运行的所有命令是否都有某种输出日志?

Answers:


6

似乎每个单元都存储着在中运行的命令的日志。您可以通过使用Juju的命令来访问它,如下所示:/var/log/juju/unit/unit-service_name-service_number.logssh

juju ssh service_name/service_number

这将使您进入该单元的外壳。然后,您可以使用文本编辑器,甚至只是cat | less读取日志。


3

您可以juju debug-log用来获取所有代理的所有操作的分布式日志。它允许按日志级别抑制事物,因此juju debug-log -h请阅读。它确实错过了一些事情,但是在大多数情况下,它应该可以为您提供所需的东西。

以下命令显示从时间开始的所有日志。因此,它还将显示开始之前的日志juju debug-log

juju debug-log --replay

但这能回答问题吗?执行命令后,需要输出命令。
内森·奥斯曼

这正是debug-log所提供的。所有代理执行的所有命令(钩子,API调用等)的输出。魅力还可以通过使用“ juju-log”来控制其输出所生成的日志级别。
SpamapS 2011年

但这是否返回我调用之前已运行的命令的输出juju debug-log
内森·奥斯曼

否,debug-log通知代理他们需要开始发送日志。如果您想查看过去的座席活动日志,则必须登录到每个部门并检查/ var / log / juju和/ var / lib / juju中的日志
SpamapS,2011年

是的,那是我问的问题,下面的答案包含了该信息。
内森·奥斯曼

1

您可以data-direnvironments.yaml文件集中找到完整的日志。

使用打开它gksudo <path_to_data-dir>,通过文件夹导航到您的units文件夹,打开您要查看的服务文件夹并查看unit.log文件。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.