AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 497635
Accepted
Bart B
Bart B
Asked: 2013-04-10 05:43:44 +0800 CST2013-04-10 05:43:44 +0800 CST 2013-04-10 05:43:44 +0800 CST

在 RHEL6 上使用新的 rsyslog 模板语法时出错

  • 772

我正在将我们的 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!
rhel6
  • 3 3 个回答
  • 9203 Views

3 个回答

  • Voted
  1. Best Answer
    user168825
    2013-04-10T23:46:19+08:002013-04-10T23:46:19+08:00

    好吧,答案相当简单(而且可能并不令人满意)。此旧版本不支持新语法。您至少需要 v6,但要使用所有功能,v7 是必需的。到目前为止,Red Hat 没有为 RHEL 提供这些。作为替代方案,您可以使用 rsyslog rpm 包:http ://www.rsyslog.com/rhelcentos-rpms/

    另请注意,http ://www.rsyslog.com/doc 上的文档始终是最新版本。但是,每个版本都有自己的文档集。显然最好参考您的版本附带的文档集。大多数发行版默认情况下不安装它,但通常有一个名为 rsyslog-doc 的包。

    • 8
  2. Dan Pritts
    2015-09-18T08:02:20+08:002015-09-18T08:02:20+08:00

    截至 2015 年 9 月,RHEL6 中提供了 rsyslog7 软件包。rsyslog 的当前版本是 8.11,但这个版本至少更接近当前版本。

    要安装,您首先必须删除您的 rsyslog 包:

    # rpm -e --nodeps rsyslog
    # yum -y install rsyslog7
    
    • 7
  3. storm_m2138
    2018-05-18T10:14:37+08:002018-05-18T10:14:37+08:00

    您可以添加 rsyslog yum 存储库,然后直接更新 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/

    • 0

相关问题

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve