Rysyslog 不使用短主机名,而是使用 FQDN

Rysyslog 不使用短主机名,而是使用 FQDN

我有一个在 Ubuntu (22.04.2) 上运行的 ryslog 服务器 (V8.2112.0),它具有非常基本的设置,用于接收来自 Cisco 交换机的日志。该服务器和所有交换机都在同一个域中。

我尝试使用%hostname%变量来指定日志文件位置,特别是使用短主机名。从我在网上找到的信息来看,如果 rsyslog 服务器与客户端位于同一域中,则应该使用短主机名。

hostname当我在服务器上运行命令时,我得到rsyslogserver,而当我运行hostname --fqdn我得到rsyslogserver.domain.local

所有向服务器发送日志的设备都在同一个 中.domain.local,并在其 FQDN 中使用它。

由于我的所有客户端都在同一个域中,因此我希望服务器使用短主机名,因为我不需要.domain.local,但它始终使用 FQDN。

我进行了一些搜索,但我能找到的唯一相关内容与我遇到的问题完全相反。

答案1

要将 rsyslog 服务器配置为在保存日志时使用短主机名而不是完全限定域名 (FQDN),请按照以下步骤操作:

  1. 编辑Rsyslog配置文件:打开 Rsyslog 配置文件进行编辑。在 Ubuntu 上,默认配置文件通常位于/etc/rsyslog.conf/etc/rsyslog.d/50-default.conf

    sudo nano /etc/rsyslog.conf
    
  2. 修改模板:在配置文件中,找到定义日志模板的部分。您可以创建一个使用%hostname%所需格式的变量的自定义模板。例如:

    $template MyCustomTemplate, "%HOSTNAME:1:$%\t%msg%\n"
    

    在此示例中,%HOSTNAME:1:$%将使用短主机名。

  3. 配置日志文件:更新您的日志文件定义以使用自定义模板:

    local0.*    /var/log/myapp.log;MyCustomTemplate
    

    用您的实际日志设施和文件路径替换local0.*和。/var/log/myapp.log

  4. 重启 Rsyslog:进行这些更改后,重新启动 Rsyslog 服务以应用新配置:

    sudo systemctl restart rsyslog
    

相关内容