syslog-ngを使用して特定のディレクトリにログを送信する方法はありますか?

syslog-ngを使用して特定のディレクトリにログを送信する方法はありますか?

syslog-ngを使用して各アプリケーションのログをリモートコレクタに送信したいと思います。

Apacheがある場合は、Apacheログをファイルとしてリモートコレクタに送信したいと思います/var/log/apache.log

これに関する情報が見つかりません。 rsyslogが可能であることを知っていますが、ここでできる唯一のことは、以下を使用してすべてのログを送信することです。

destination remote { network("<collector_adress>" transport("udp") port(514)); };

ベストアンサー1

syslog-ngを使用してファイルからログを収集するには、ファイルソースを作成してログステートメントに追加する必要があります。このような:

source s_apache {
    file("/var/log/apache.log");
};
log {
    source(s_apache); destination(remote);
};

別のファイルからログを収集するには、追加のソースを定義してログステートメントに追加します。アプリケーションが複数の異なるログファイルに書き込む場合(タイムスタンプ付きログファイルに書き込むなど)、ワイルドカードファイルソースを使用できます。詳しくはマニュアルをご覧ください。https://www.syslog-ng.com/technical-documents/doc/syslog-ng-open-source-edition/3.21/administration-guide/16#TOPIC-1180423

おすすめ記事