読者です 読者をやめる 読者になる 読者になる

Rsyslog8.1.0のUDPとTLS

f:id:sunrise683:20070614112521j:plain

IT系の記事になります。
先日のRsyslogの続きで、バージョン8.1.0で試してみました。

先日、RsyslogでUDPTLSのSyslog受信環境ができたのですが、バージョンが5.Xと少し古かった。ですので、バージョン8.1.0に対応するようrsyslog.confを作成しました。

rsyslog.conf
# load required modules
module(load="imudp" threads="2"
       timeRequery="8" batchSize="128")

# make gtls driver the default
$DefaultNetstreamDriver gtls
module(load="imtcp" MaxSessions="1000" StreamDriver.Mode="1" StreamDriver.AuthMode="anon")

# certificate files
$DefaultNetstreamDriverCAFile /etc/myCA/ca.pem
$DefaultNetstreamDriverCertFile /etc/myCA/machine-cert.pem
$DefaultNetstreamDriverKeyFile /etc/myCA/machine-key.pem

# listeners
# repeat blocks if more listeners are needed
# alternatively, use array syntax:
# port=["514","515",...]
input(type="imudp" port="514"
      ruleset="writeRemoteData")
input(type="imtcp" port="6514"
      ruleset="writeRemoteData")

#$InputTCPServerStreamDriverMode 1 # qual to StreamDriver.Mode in v6+
#$InputTCPServerStreamDriverAuthMode anon # client is NOT authenticated
                                         # InputTCPServerStreamDriverAuthMode

# now define our ruleset, which also includes
# threading and queue parameters.
ruleset(name="writeRemoteData"
        queue.type="fixedArray"
        queue.size="250000"
        queue.dequeueBatchSize="4096"
        queue.workerThreads="4"
        queue.workerThreadMinimumMessages="60000"
       ) {
    action(type="omfile" file="/var/log/remote.log"
           ioBufferSize="64k" flushOnTXEnd="off"
           asyncWriting="on")
}
*.* /var/log/debug.log
memo

rsyslog.confのベースは参考リンク1の「Receiving massive amounts of messages with high performance」を参考にしました。ログメッセージの中にもありますが、v6くらいでconfigファイルの記述方法が多少変わったため、ベースから参考リンク2を参考に、修正が必要です。

2016-05-08T20:55:22.289015+09:00 myrsyslog8 rsyslogd: [origin software="rsyslogd" swVersion="8.10.0" x-pid="27899" x-info="http://www.rsyslog.com"] start
2016-05-08T20:55:22.288342+09:00 myrsyslog8 rsyslogd-2222: command 'InputTCPServerStreamDriverMode' is currently not permitted - did you already set it via a RainerScript command (v6+ config)? [v8.10.0 try http://www.rsyslog.com/e/2222 ]
2016-05-08T20:55:22.288390+09:00 myrsyslog8 rsyslogd-2222: command 'InputTCPServerStreamDriverAuthMode' is currently not permitted - did you already set it via a RainerScript command (v6+ config)? [v8.10.0 try http://www.rsyslog.com/e/2222 ]
2016-05-08T21:03:33.635826+09:00 myrsyslog8 rsyslogd: [origin software="rsyslogd" swVersion="8.10.0" x-pid="29107" x-info="http://www.rsyslog.com"] start
2016-05-08T21:03:33.635023+09:00 myrsyslog8 rsyslogd-2207: error during parsing file /etc/rsyslog.conf, on or before line 4: parameter 'InputTCPServerStreamDriverAuthMode' not known -- typo in config file? [v8.10.0 try http://www.rsyslog.com/e/2207 ]
2016-05-08T21:03:33.635403+09:00 myrsyslog8 rsyslogd-2081: error: driver mode 1 not supported by ptcp netstream driver [v8.10.0 try http://www.rsyslog.com/e/2081 ]
2016-05-08T21:03:33.635415+09:00 myrsyslog8 rsyslogd-2081: Could not create tcp listener, ignoring port 6514 bind-address (null). [v8.10.0 try http://www.rsyslog.com/e/2081 ]

また、TLS関連の下記のエラーは、復号や証明書関連、及びそのパラメータが間違っている時に発生し、しばしば見られるログメッセージでした。

2016-05-08T19:24:13.774289+09:00 192.168.10.106 #026#003#002#000V#001#000#000R#003#002W/#02

最終的にパラメータを修正したら、他のrsyslog v5から飛ばしたrsyslogメッセージが出力されるようになりました。Bugでなく、よかったです。

広告を非表示にする