問題タブ [systemd-journald]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
810 参照

logging - FluentD と FluentBit の間の順序が正しくないログ

現在、ログ スタックとして JournalD + JournalBeat + Logstash を使用していますが、JournalD + FluentD の使用に切り替えたいと考えています。

https://github.com/fluent-plugin-systemd/fluent-plugin-systemdを FluentD の入力として使用してみましたが、1 秒あたり最大 1000 ログ行というスループットが低く、少なくとも 2000 をサポートする必要があります。

だから今、私はJournalD + FluentBit + FluentDで、FluentBit + FluentDの間のForwardプロトコルを使用して試しています。このスタックを使用すると、1 秒あたり 5000 ログ行のスループットに到達できますが、行が乱れます。実際、故障はチャンクにあるようです。

これが私のFluentBit設定です:

これが私のFluentD構成です:

追加の詳細:

  • 4 GB と 4096 の CPU シェアを持つ Docker コンテナで FluentD と FluentBit を実行しています
  • CPU 使用率の測定値は、両方のサービスで 20% 未満です。

私が試した他のこと:

  • FluentBit を 2MB に設定Mem_Buf_Limitすると、順不同が修正されますが、1 秒あたり 350 行のスループットしか得られません。より大きなバッファログ行を使用すると、再び順不同になります。
  • FluentBit の出力をファイルに設定すると、ログの行は順番に表示されますが、ログを別のファイルに分散する機能が失われます。
  • FlushFluentBit でより大きな間隔を使用すると、より大きなチャンクが順不同になります
  • flush_thread_count影響なしで FluentD で試した

私が試すべき他の設定/プロトコルのアイデアはありますか? Journal と FluentD を統合する他の方法はありますか?

- - - 編集 - -

DEBUG を使用して FluentBit ログを見ると、次のように表示されます。

したがって、前方出力は複数のスレッドを使用しているようです。それは期待されていますか?

0 投票する
1 に答える
315 参照

systemd - **journalctl -u test.service** と **journalctl CONTAINER_NAME=test** の違い

ログドライバーjournaldでdockerコンテナーを実行するsystemdサービスファイルがあります。

journalctl でログを確認すると、2 つの異なる_TRANSPORTが表示されます。journalctl -u test.serviceを使用すると、 _TRANSPORT=stdoutが表示されます。そして、Journalctl CONTAINER_NAME=testを使用すると、 _TRANSPORT=journalが表示されます

違いはなんですか?

0 投票する
1 に答える
260 参照

linux - sd_journal_print が正しくログに記録されない

以下でコンパイル:g++ sd-journal-test.cc -o sd-journal-test -lsystemd

ショー:

sd_journal_print は行やその他の番号のないログを出力し、sd_journal_Send はログを記録しませんでした。

何が原因で、これを修正するにはどうすればよいですか?