技术教程 · 2019年12月10日 0

如何在Ubuntu 18.04 LTS上设置Rsyslog服务器

日志对于分析和排除与Linux中的系统和应用程序有关的任何问题非常有用。默认情况下,所有日志文件都位于基于Linux的操作系统中的/ var / log目录中。日志文件有几种类型,包括cron,内核,用户,安全性,其中大多数文件由Rsyslog服务控制。

Rsyslog是用于日志处理的功能强大且安全的系统。Rsyslog服务器通过网络从多个物理或虚拟服务器接收日志,并监视不同服务的运行状况。使用Rsyslog服务器,您可以从集中位置监视其他服务器,网络设备和远程应用程序的日志。

在本教程中,我们将说明如何在Ubuntu 18.04服务器上配置Rsyslog服务器。

先决条件

  • 两台服务器运行Ubuntu 18.04。
  • 在Rsyslog服务器计算机上配置了静态IP地址192.168.0.101,在Rsyslog客户端计算机上配置了192.168.0.102。
  • 在两台服务器上都配置了root密码。

安装Rsyslog

默认情况下,Rsyslog安装在Ubuntu 18.04服务器中。如果未安装,则可以通过运行以下命令进行安装:

apt-get install rsyslog -y

安装Rsyslog后,可以使用以下命令检查Rsyslog的版本:

rsyslogd -v

您应该获得以下输出:

rsyslogd 8.32.0, compiled with:
	PLATFORM:				x86_64-pc-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
	systemd support:			Yes
	Number of Bits in RainerScript integers: 64
有关更多信息,请参见http://www.rsyslog.com。

您还可以使用以下命令检查Rsyslog的状态:

systemctl status rsyslog

您应该看到以下输出:

? rsyslog.service - System Logging Service
   Loaded: loaded (/lib/systemd/system/rsyslog.service; enabled; vendor preset: enabled)
   Active: active (running) since Tue 2019-10-22 04:28:55 UTC; 1min 31s ago
     Docs: man:rsyslogd(8)
           http://www.rsyslog.com/doc/
 Main PID: 724 (rsyslogd)
    Tasks: 4 (limit: 1114)
   CGroup: /system.slice/rsyslog.service
           ??724 /usr/sbin/rsyslogd -n

Oct 22 04:28:53 ubuntu1804 systemd[1]: Starting System Logging Service...
Oct 22 04:28:54 ubuntu1804 rsyslogd[724]: imuxsock: Acquired UNIX socket '/run/systemd/journal/syslog' (fd 3) from systemd.  [v8.32.0]
Oct 22 04:28:54 ubuntu1804 rsyslogd[724]: rsyslogd's groupid changed to 106
Oct 22 04:28:54 ubuntu1804 rsyslogd[724]: rsyslogd's userid changed to 102
Oct 22 04:28:54 ubuntu1804 rsyslogd[724]:  [origin software="rsyslogd" swVersion="8.32.0" x-pid="724" x-info="http://www.rsyslog.com"] start
Oct 22 04:28:55 ubuntu1804 systemd[1]: Started System Logging Service.

配置Rsyslog服务器

Rsyslog现在已安装并正在运行。接下来,您将需要配置它以在服务器模式下运行。您可以通过编辑文件/etc/rsyslog.conf来完成。

nano /etc/rsyslog.conf

首先,您将需要定义UDP或TCP或两者的协议。

要同时使用UDP和TCP连接,请搜索并取消注释以下行:

$ModLoad imudp
$UDPServerRun 514
$ModLoad imtcp
$InputTCPServerRun 514

接下来,定义特定的子网,IP或域以限制访问,如下所示:

$AllowedSender TCP, 127.0.0.1, 192.168.0.0/24, *.example.com
$AllowedSender UDP, 127.0.0.1, 192.168.0.0/24, *.example.com

接下来,您将需要创建一个模板来告诉Rsyslog服务器如何存储传入的syslog消息。在GLOBAL DIRECTIVES部分之前添加以下行:

$template remote-incoming-logs,"/var/log/%HOSTNAME%/%PROGRAMNAME%.log" 
*.* ?remote-incoming-logs
& ~

 

完成后保存并关闭文件。然后,使用以下命令检查Rsyslog配置是否存在语法错误:

rsyslogd -f /etc/rsyslog.conf -N1

您应该看到以下输出:

rsyslogd: version 8.32.0, config validation run (level 1), master config /etc/rsyslog.conf
rsyslogd: End of config validation run. Bye.

最后,使用以下命令重新启动Rsyslog服务:

systemctl restart rsyslog

现在,使用以下命令验证Rsyslog是否正在侦听TCP / UDP:

netstat -4altunp | grep 514

您应该获得以下输出:

tcp        0      0 0.0.0.0:514             0.0.0.0:*               LISTEN      1332/rsyslogd       
udp        0      0 0.0.0.0:514             0.0.0.0:*                           1332/rsyslogd

配置Rsyslog客户端

Rsyslog服务器已安装并配置为接收来自远程主机的日志。

现在,您将需要配置Rsyslog客户端以将syslog消息发送到远程Rsyslog服务器。

登录到客户端计算机并打开Rsyslog配置文件,如下所示:

nano /etc/rsyslog.conf

在文件末尾添加以下行:

##Enable sending of logs over UDP add the following line:

*.* @192.168.0.101:514


##Enable sending of logs over TCP add the following line:

*.* @@192.168.0.101:514

##Set disk queue when rsyslog server will be down:

$ActionQueueFileName queue
$ActionQueueMaxDiskSpace 1g
$ActionQueueSaveOnShutdown on
$ActionQueueType LinkedList
$ActionResumeRetryCount -1

保存并关闭文件。然后,重新启动Rsyslog服务器以应用配置更改:

systemtcl restart rsyslog

查看客户端日志

此时,Rsyslog客户端已配置为将其日志发送到Rsyslog服务器。

现在,登录到Rsyslog服务器并检查/ var / log目录。您应该看到带有客户端计算机主机名的条目,包括几个日志文件:

ls /var/log/rsyslog-client/

输出:

CRON.log kernel.log rsyslogd-2039.log rsyslogd.log sudo.log wpa_supplicant.log

结论

在以上文章中,我们学习了如何在Ubuntu 18.04服务器上安装和配置Rsyslog服务器。我们还学习了如何配置Rsyslog客户端以将日志发送到Rsyslog服务器。如有任何问题,随时问我。

原文:https://www.howtoforge.com/how-to-setup-rsyslog-server-on-ubuntu-1804/