RHEL6で新しいrsyslogテンプレート構文を使用したエラー


8

私は古いサーバーから新しいサーバーにrsyslog構成を移行しているので、この機会を利用して構成を整理すると思いました。古い構成では「レガシー」テンプレート定義を使用していましたが、テンプレートに関するrsyslog文書では、そのような定義を新しいテンプレート構文に置き換えることを推奨しているため、これを試みました。

私は単にそれを機能させることができず、rsyslogを開始しようとしたときに得られるエラーは意味がありません。だから、私はrsyslogドキュメントを根本的に誤解しているか、RHEL6に含まれているrsyslogパッケージについて何かおかしいと思われるようです。

これは私が更新しようとしているレガシーテンプレートです:

$template secureTemplate,"INSERT INTO var_log_secure (received_at, source_ip, source_hostname, logged_at, severity, service, message, severity_int, syslogtag) VALUES ('%timegenerated:::date-rfc3339%', '%fromhost-ip%', '%hostname%', '%timereported:::date-rfc3339%', '%syslogseverity-text%', '%programname%', '%msg%', '%syslogseverity%', '%syslogtag%')",STDSQL

これは、rsyslogドキュメントを読んだ新しい構文の同じテンプレートでの私の試みです。

template(name="secureTemplate" type="string" option.stdsql="on"
  string="INSERT INTO var_log_secure (received_at, source_ip, source_hostname, logged_at, severity, service, message, severity_int, syslogtag) values ('%timegenerated:::date-rfc3339%', '%fromhost-ip%', '%hostname%', '%timereported:::date-rfc3339%', '%syslogseverity-text%', '%programname%', '%msg%', '%syslogseverity%', '%syslogtag%')"
)

これらは、rsyslogの起動時に発生するエラーです。

rsyslogd: [origin software="rsyslogd" swVersion="5.8.10" x-pid="4491" x-info="http://www.rsyslog.com"] start
 rsyslogd-3000:unknown priority name "stdsql="on"" [try http://www.rsyslog.com/e/3000 ]
 rsyslogd:the last error occured in /etc/rsyslog.conf, line 49:"template(name="secureTemplate" type="string" option.stdsql="on""
 rsyslogd:warning: selector line without actions will be discarded
 rsyslogd-3000:unknown priority name "" [try http://www.rsyslog.com/e/3000 ]
 rsyslogd:the last error occured in /etc/rsyslog.conf, line 50:"  string="INSERT INTO var_log_secure (received_at, source_ip, source_hostname, logged_at, severity, service, message, severity_int, syslogtag) values ('%timegenerated:::date-rfc3339%', '%fromhost-ip%', '%hostname%', '%timereported:::date-rfc3339%', '%syslogseverity-text%', '%programname%', '%msg%', '%syslogseverity%', '%syslogtag%')""
 rsyslogd:warning: selector line without actions will be discarded
 rsyslogd-3000:unknown priority name "" [try http://www.rsyslog.com/e/3000 ]
 rsyslogd:the last error occured in /etc/rsyslog.conf, line 51:")"
 rsyslogd:warning: selector line without actions will be discarded
 rsyslogd-3003: Could not find template 'secureTemplate' - action disabled
 [try http://www.rsyslog.com/e/3003 ]
 rsyslogd:the last error occured in /etc/rsyslog.conf, line 55:"then    :ompgsql:127.0.0.1,rsyslog,rsyslog,+Without-Goodbye-22+;secureTemplate"
 rsyslogd:warning: selector line without actions will be discarded
 rsyslogd-2124:CONFIG ERROR: could not interpret master config file '/etc/rsyslog.conf'. [try http://www.rsyslog.com/e/2124 ]
 rsyslogd:EMERGENCY CONFIGURATION ACTIVATED - fix rsyslog config file!

回答:


8

まあ、答えはかなり単純です(そしておそらく不十分です)。この古いバージョンでは、新しい構文はサポートされていません。少なくともv6が必要ですが、すべての機能を使用するにはv7が必要です。これまでのところ、Red HatはこれらをRHEL用に出荷していません。別の方法として、rsyslog rpmパッケージを使用できます:http ://www.rsyslog.com/rhelcentos-rpms/

また、http: //www.rsyslog.com/docのドキュメントは、常に最新バージョン用であることに注意してください。ただし、各バージョンには独自のドキュメントセットがあります。バージョンに付属しているドキュメントセットを参照することをお勧めします。ほとんどのディストリビューションはデフォルトではインストールしませんが、通常はrsyslog-docの行に沿って名前が付けられたパッケージがあります。


7

2015年9月の時点で、RHEL6で使用可能なrsyslog7パッケージがあります。rsyslogの現在のバージョンは8.11ですが、これは少なくとも現在のバージョンに近いものです。

インストールするには、まずrsyslogパッケージを削除する必要があります。

# rpm -e --nodeps rsyslog
# yum -y install rsyslog7

0

rsyslog yum repoを追加してから、rsyslogを直接更新できるため、アンインストールする必要がありません。

cd /etc/yum.repos.d/
wget http://rpms.adiscon.com/v8-stable/rsyslog.repo
yum update rsyslog

...

Updating:
rsyslog                                    x86_64                               8.35.0-2.el6   

参照用のレポファイル:

cat rsyslog.repo 
[rsyslog_v8]
name=Adiscon CentOS-$releasever - local packages for $basearch
baseurl=http://rpms.adiscon.com/v8-stable/epel-$releasever/$basearch
enabled=1
gpgcheck=0
gpgkey=http://rpms.adiscon.com/RPM-GPG-KEY-Adiscon
protect=1

クレジット:

http://osengineer.blogspot.com/2014/01/install-rsyslog7-to-centos6.html https://www.rsyslog.com/rhelcentos-rpms/

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.