rsyslogを使用して入力ファイル(imfileモジュールを使用)からログを読み取り、モジュールomrelp(RELP)を使用してログをリモートサーバーに送信します。これにはジョブキューを使用しています。これはディスク補助キューです。 rsyslogはバックグラウンドプロセスとして実行され、ドキュメントが推奨するようにデバッグモードではrsyslogを実行しませんでした。 rsyslogがメッセージを削除するたびに(リモートサーバーに長い間接続できない場合)、クライアント側からデバッグメッセージを受け取りたいと思います。デフォルトでは、デバッグログを有効にせずにこれを行う方法はありますか?サーバーが再び動作するたびに、rsyslogはサーバーに追加のメッセージ(おそらくログに追加されます)を送信できますか?これにより、一部のメッセージが削除されたことをサーバーに通知します。これは私のrsyslog設定です。
module(load="omrelp")
module(load="imfile")
global(workDirectory="/tmp/rsyslog")
input(type="imfile"
File="/srv/myapp/logs/test.log"
Tag="test-"
Ruleset="sendToLogserver"
addMetadata="on")
ruleset(name="sendToLogserver") {
action(type="omrelp"
Target=<server-IP> Port=<>
queue.type="LinkedList"
queue.size="10000"
queue.filename="q_sendToLogserver"
queue.highwatermark="9000"
queue.lowwatermark="50"
queue.maxdiskspace="1g"
queue.saveonshutdown="on"
action.resumeRetryCount="-1"
action.reportSuspension="on"
action.reportSuspensionContinuation="on"
action.resumeInterval="10")
}
答え1
これは次のことで達成できます。統計rsyslogのモジュール。このモジュールはrsyslog内部カウンタの周期的な出力を提供します。
定期的な間隔でさまざまなキューやジョブに関するメッセージを表示します。期間は設定可能です。 impstatsがエクスポートした統計は、他の一般的なメッセージと同じです。
ここですべての情報を得ることができるので、さらに説明する必要はありませんが、
http://www.rsyslog.com/doc/v8-stable/configuration/modules/impstats.html
以下はrsyslogの所有者の使い方の記事です。