syslog(3)
中央ロガーにアプリケーションログを記録するために使用したいと思います。アプリケーションは同じサブネット上のコンピュータグループで実行されます。
(まだ)システム(非アプリケーション)ログを中央サーバーにキャプチャすることに興味はありません。各ローカルシステムのシステムログにアプリケーションログをキャプチャすることに興味はありません。
目的は、syslog(3)
「local0」-「local7」を使用してシステムロギングをスキップし、代わりにUDP(ポート514)を介してロガーに書き込むことです。
これは一般的な質問(アプリケーションログをシステムログにリダイレクトする方法)とは反対のようです。
現在私はCentos systemd / rsyslogラッシュアップの重要性について考えています。明らかに申し上げますが、今後数日以内にこの問題が解決されることを願っています。
私のように答えを探していましたが、すぐに幸運を得られなかった次の人に質問しました。 :)
答え1
目的は、
syslog()
「local0」-「local7」を使用してシステムログをスキップすることです。
あなたはそれを達成できません。ライブラリsyslog()
機能はsystemdログに記録されます。ライブラリとの通信のためによく知られているソケットを受信する/dev/log
サーバーはrsyslogd
。これはsystemd-journald
。 rsyslogd
はい反対側に付いている、ライブラリ機能はこれについて話しませんsystemd-journald
。構成をいくら変更しても、rsyslog
この内容は変更されません。
経由せずに何かを送る唯一の方法は、systemd-journald
いくつかを使用することです。その他目的地までのルート、いいえsyslog()
よく知られたソケットと通信するためのライブラリ関数
皮肉なことに、アプリケーションログの正確で簡単な場所はおそらく標準エラーです。標準エラーをネットワーク経由でリモートログコレクタに送信するプログラムと通信するパイプに接続します。
このようなタスクに対して私が好む設定は、daemontools Service Managerスイートから「デフォルト」サービスとしてアプリケーションを実行することです。
- アプリケーションは標準エラーに記録されます。
- 一般的なdaemontoolsスタイルのサービス管理には、標準入力がアプリケーションの標準エラーにパイプされるロギングサービスがあります。サービス管理者は、「基本」サービスと「ログ」サービスの間にこれらのパイプを設定することを担当します。
- これらのログサービスは
cyclog
、、、、またはこれらのサービスの一部を実行し、ログをmultilog
ローカル(厳密に制限されたサイズ、自動回転、アプリケーションから分離)ログディレクトリにダンプします。s6-log
svlogd
- 追加サービスは、これらのログディレクトリを監視し、ネットワークを介してlogstashまたは同様の機能を実行する集中型ログサーバーに新しい情報を提供します。私の
export-to-rsyslog
ツールはそのために設計されています。
これには次の利点があります。
- ローカル、即時アクセス可能、アプリケーション別、別々の最近のログ(他の項目と混在または圧倒されない)があります。
- ログサーバーへの不安定なネットワーク接続はアプリケーションに逆圧をかけません(アプリケーション標準エラーがネットワーク経由で配信されるか、ネットワークを介して即座に中継されるサーバーに直接配信される、より直接的なモデルと同様)。プロセス);
- ネットワーク転送はローカルロギングに比べて完全に非侵害的で、後で設定することができ(中央集中型Logstashなどの必要なポイントまでデータボリュームが増加する場合)、影響を与えずにネットワークを再構成(転送アプリケーションログを追加/削除)することができます。それと;
- 極端な場合は、最近のログデータを不安定にしたり、誤って消去したログサーバーで再生したりすることもできます。
追加読書
- https://unix.stackexchange.com/a/294206/5132
- ジョナサンデボインポラード(2015)。 」記録」。デーモンツールシリーズ。一般的な答え。
- ジョナサンデボインポラード(2019)。 」記録」。スナックガイド。ソフトウェア。
- ジョナサンデボインポラード(2019)。
export-to-rsyslog
。 「注文する」。 スナックガイド。ソフトウェア。 - ジョナサンデボインポラード(2019)。
follow-log-directories
。 「注文する」。 スナックガイド。ソフトウェア。 - ジョナサンデボインポラード(2019)。
udp-socket-connect
。 「注文する」。 スナックガイド。ソフトウェア。