2017-05-16 3 views
3

私はKuberenetes経由で展開しています。コンバージョンはGoogle Cloud上にあります。これはdjangoプロジェクトとuwsgiで実行されています。Google StackDrive常にエラーレベルのuwsgiを持つコンテナのログレベル

私はstackdriveロギングツールを使用してロギングを表示していますが、すべてのエントリが重大度として表示されるという問題は、エラーではないと思われます。 uwsgiのログはstderrなどに書き込まれているようです。

写真では、djangoがINFOレベルを使用していますが、これはstackdriveによってERRORとして受信されています。

enter image description here

これは私がuwsgiを設定する方法です。 stderrに書き込ま

[uwsgi] master = true socket = :3031 chdir = . wsgi-file = docker.wsgi processes = 4 threads = 2 socket-timeout = 90 harakiri = 90 http = :8000 env = prometheus_multiproc_dir=multi enable-threads = yes lazy-apps = yes pidfile=/tmp/project-master.pid

答えて

3

Kubernetesログは常にERRORとしてタグ付けされている - これはハードコーディングされたのStackdriverロギング・エージェントです。同様に、stdoutに書き込まれたログには常にINFOというタグが付けられます。

エラーのないログメッセージをstdoutに書き込むようにアプリケーションを設定できる場合は、それを実行してください。別の方法としては、ログをファイルに書き込んで、そのファイルの "tail -f"コマンドを同じポッドのサイドカーコンテナとして実行し、サイドパッドコンテナの下にあるStackdriver Logs Viewerでログを探します。最後に、ログを直接Stackdriver Logging APIに書き込むことを検討すると、各エントリの内容を完全に制御できます。

+0

ああ、ありがとう、ありがとう。私はこれらのログがすべて「エラー」のように見える理由について私の頭を傷つけてきました。 –

+0

私の答えに追加するには、ログをJSON形式のstdout/stderrに書き込むことができれば、ログエージェントはそれらを構造化ペイロードに解析し、ペイロードの "severity"フィールドがハードコードされた重大度を上書きします。 –

関連する問題