ローカルrsyslogから中央rsyslogに、次にElasticsearchにログを転送しています。すべて正常に動作しますが、rsyslog自体によって生成された重大度error
のエントリには、Elasticsearchでの集約を中断するrsyslog-2222
またはrsyslog-2039
のようなプロパティprogramname
があります。それらの番号が何であるかについての情報を見つけることができません。それらはランダムではなく、確かにPIDでもありません。
なぜ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 ]
プロパティprogramname
は、syslogtag
を解析することによって作成されます。 syslogtag
は超標準化されていないようです。私の場合、app-name
propを使用する方が良いです。これは、IETFドラフトdraft-ietf-syslog-protocolのフィールドです。交換したばかりです
property(name="programname")
と
property(name="app-name")
これまでのところ、奇妙なプログラム名はもうありません。
あなたの例から、rsyslogd-2039
番号はエラー番号です。これが文書化されている場所が見つかりません。代替フィールドを使用するための正しい答えはすでに見つかりましたが、完全を期すために、最初のハイフン("-"
)。 property replacer を使用して、フィールド1を選択できます。フィールドは10進コード45(ASCIIハイフン)の文字で区切られます。
%programname:F,45:1%