rsyslogを使用して、syslogメッセージを個別のMySQLテーブルに解析します
デフォルトでは、rsyslogはすべてをSystemEvents`Syslogデータベース内のテーブルにダンプします(提供されたデフォルトのスキーマを使用する場合)。正規表現を使用して、受信メッセージを個別のデータベーステーブルにフィルター処理したいと思います。 私はこれで遊んだことがありますが、これを達成するための最良の方法(または機能する方法)を理解するのに苦労しています。 私のrsyslog.confで: $template wireless, \ "insert into RogueAPs \ (ReceivedAt, DeviceReportedTime, Facility, Priority, FromHost, Message) \ VALUES('%timegenerated%', '%timereported%', '%syslogfacility%', '%syslogpriority%', '%fromhost-ip%', '%msg%');", \ stdsql if $msg contains 'subtype=wireless' then :ommysql:127.0.0.1,Syslog,dbusername,dbpassword;wireless *.* :ommysql:127.0.0.1,Syslog,dbusername,dbpassword これは私の最新の試みでしたが、行き詰まっています。 (RogueAPsテーブルは、rsyslogに付属するデフォルトのSystemEventsテーブルの単なるクローンです) バージョン情報: shell# /usr/local/sbin/rsyslogd -v rsyslogd 5.5.5, compiled with: FEATURE_REGEXP: Yes FEATURE_LARGEFILE: No FEATURE_NETZIP (message compression): …