ローカルrsyslogのログを中央rsyslogに渡し、Elasticsearchに渡します。すべてがうまく機能しますが、error
rsyslog自体によって生成された重大度エントリには、またはprogramname
などの属性があり、Elasticsearchの集計が中断されます。この図では情報が見つかりません。ランダムでもPIDでもありません。rsyslog-2222
rsyslog-2039
rsyslogがこれを行う理由は何ですか?
この番号をrsyslogレベルから削除できますか?
ログの例:
2019-08-07T19:48:00+02:00 rsyslogd-2039 err Could not open output pipe '/dev/xconsole':: No such file or directory [v8.16.0 try http://www.rsyslog.com/e/2039 ]
2019-08-07T19:48:00+02:00 rsyslogd-2007 warning action 'action 10' suspended, next retry is Wed Aug 7 19:48:30 2019 [v8.16.0 try http://www.rsyslog.com/e/2007 ]
2019-08-07T19:00:39+02:00 rsyslogd-2222 err command 'KLogPermitNonKernelFacility' is currently not permitted - did you already set it via a RainerScript command (v6+ config)? [v8.16.0 try http://www.rsyslog.com/e/2222 ]
2019-08-07T19:00:39+02:00 rsyslogd-2039 err Could not open output pipe '/dev/xconsole':: No such file or directory [v8.16.0 try http://www.rsyslog.com/e/2039 ]
2019-08-07T19:00:39+02:00 rsyslogd-2007 warning action 'action 10' suspended, next retry is Wed Aug 7 19:01:09 2019 [v8.16.0 try http://www.rsyslog.com/e/2007 ]
答え1
属性はprogramname
解析によって生成されますsyslogtag
。非常に標準化されているようには見えませんsyslogtag
。私の場合は、app-name
IETFドラフトDraft-ietf-syslog-protocolのフィールドであるpropを使用することをお勧めします。変更したばかり
property(name="programname")
そして
property(name="app-name")
これまでは、もはや奇妙なプログラム名はありません。
答え2
rsyslogd-2039
あなたの例を見ると、番号にエラー番号があるようです。これがどこに文書化されているかが見つかりません。代替フィールドを使用する正解をすでに見つけましたが、完全性のために最初のハイフン("-"
)でプログラム名を切り捨てる方法は次のとおりです。あなたはそれを使用することができます不動産代替品フィールドが10進コード45(ASCIIハイフン)文字で区切られたフィールド1を選択します。
%programname:F,45:1%