微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在centos7上调试rsyslog

如何解决如何在centos7上调试rsyslog

我有一个将 rsyslogs 转发到外部服务的机制。

/etc/rsyslog.d 下,我创建了一个 .conf 文件

这是文件

$ModLoad imfile
$InputFilePollInterval 1
$InputFileName /var/log/secure
$InputFileTag securelogs:
$InputFileStateFile securelogs
$InputFileFacility local0
$InputRunFileMonitor
:syslogtag,isequal,"securelogs:" {
  :msg,contains,"sshd" {
    local0.* /var/log/forward_securelogs_audit.log
    local0.* @@<server-ip>:514
  }
  stop
}

我在多台服务器上有相同的配置,但对于其中 2 台,它不起作用。

如何调试?

我尝试按照此处的说明进行操作 - https://www.rsyslog.com/how-to-use-debug-on-demand/

但是没有文件 - /etc/rc.d/init.d/rsyslog

也没有文件 - /var/run/rsyslogd.pid

获取版本 rsyslogd -v 时,我得到以下内容

0726.220297821:7f4d57c22780: Note: debug on demand turned on via configuraton file,use USR1 signal to activate.
rsyslogd 8.24.0-57.el7_9,compiled with:
        PLATFORM:                               x86_64-redhat-linux-gnu
        PLATFORM (lsb_release -d):
        FEATURE_REGEXP:                         Yes
        GSSAPI Kerberos 5 support:              Yes
        FEATURE_DEBUG (debug build,slow code): No
        32bit Atomic operations supported:      Yes
        64bit Atomic operations supported:      Yes
        memory allocator:                       system default
        Runtime Instrumentation (slow code):    No
        uuid support:                           Yes
        Number of Bits in RainerScript integers: 64

但同样,我在调试文件和终端上都看不到任何内容

任何帮助将不胜感激。

解决方法

您链接的文档很旧,RedHat 和 CentOS 现在使用 systemd 来启动守护程序,因此这些文件不再存在。如果你这样做

systemctl status rsyslog 

您应该看到包含类似内容的行

   Active: active (running) since ...
 Main PID: 738 (rsyslogd)

您可以将 USR1 信号发送到此编号进程以切换调试。在这种情况下,它将是:

sudo kill -USR1 738

默认情况下,我认为调试输出应该在 stdout 上,在我的 Fedora systemd 上,它被定向到 /dev/null 用于 rsyslogd,所以这可能无济于事。 我没有 CentOS,但它可能是类似的。 您可以使用以下命令查看 systemd 单元:

systemctl cat rsyslog

就我而言,这包括以下几行:

EnvironmentFile=-/etc/sysconfig/rsyslog
StandardOutput=null

如果是这种情况,您可以向文件 /etc/sysconfig/rsyslog 添加选项,例如:

RSYSLOG_DEBUGLOG=/tmp/rsyslogdebug

然后重新启动 rsyslogd 并尝试再次向它发出信号以切换调试。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。