Jujuは、実行されたすべてのコマンドと各ユニットの出力のログをどこに保存しますか?


8

Jujuチャームのサービス(より具体的には新しいユニット)をデプロイするときに、エラーが発生し、それが何であるかを正確に見つける方法がない場合があります。

ユニットが実行したすべてのコマンドの何らかの出力ログはありますか?

回答:


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

しかし、これは質問に答えますか?コマンドの実行にコマンドの出力が必要です。
Nathan Osman、

これがまさに、debug-logが提供するものです。すべてのエージェントによって実行されたすべてのコマンドの出力(フック、APIコールなど)。チャームは、「juju-log」を使用して、出力が生成されるログレベルを制御することもできます。
SpamapS

しかし、これは私が呼び出すに実行したコマンドの出力を返しますjuju debug-logか?
Nathan Osman

いいえ、debug-logはエージェントにログの送信を開始する必要があることを通知します。過去のエージェントアクティビティのログを表示するには、各ユニットにログインして、/ var / log /
juju

はい、それは私が尋ねた質問であり、以下の回答にはその情報が含まれています。
Nathan Osman、

1

data-dirセット内の完全なログはenvironments.yamlファイルにあります。

で開きgksudo <path_to_data-dir>、フォルダからフォルダに移動し、確認しunitsたいサービスフォルダを開いてunit.logファイルを確認します。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.