Ubuntu 18.04 LTS部署Rsyslog日志服务

Rsyslog 是一个 syslogd 的多线程增强版。它提供高性能、极好的安全功能和模块化设计。虽然它基于常规的 syslogd,但 rsyslog 已经演变成了一个强大的工具,可用于:

接收来自各种来源的输入
转换它们
将结果输出到不同的目的地

准备

两个运行Ubuntu 18.04 LTS版本的虚拟机下载地址:http://mirror.freethought-internet.co.uk/ubuntu-releases/18.04.3/ubuntu-18.04.3-live-server-amd64.iso
在Rsylog服务端配置静态IP地址192.168.0.101,在Rsylog客户端配置192.1680.102。
在两个服务器上都设置root密码。

安装Rsyslog

默认情况下,Rsyslog安装在Ubuntu 18.04服务器上。如果没有安装,您可以通过运行以下命令来安装它:

linuxprobe@ubuntu-18-04-lts:~$ apt-get install rsyslog -y

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

linuxprobe@ubuntu-18-04-lts:~$ 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

See http://www.rsyslog.com for more information.

还可以用这个命令检查Rsyslog的状态:

linuxprobe@ubuntu-18-04-lts:~$ systemctl status rsyslog
? rsyslog.service - System Logging Service
  Loaded: loaded (/lib/systemd/system/rsyslog.service; enabled; vendor preset: enabled)
  Active: active (running) since Thur 2020-01-16 11:20:32 CST; 1min 31s ago
    Docs: man:rsyslogd(8)
Main PID: 724 (rsyslogd)
   Tasks: 4 (limit: 1114)
  CGroup: /system.slice/rsyslog.service
          ??724 /usr/sbin/rsyslogd -n

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

配置Rsyslog服务端

linuxprobe@ubuntu-18-04-lts:~$ vim /etc/rsyslog.conf

取消这几行前面的注释,同事使用UDP和TCP协议的514端口

$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配置信息是否有语法错误:

linuxprobe@ubuntu-18-04-lts:~$ 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:

linuxprobe@ubuntu-18-04-lts:~$ systemctl restart rsyslog

验证Rsyslog正在使用以下命令监听TCP/UDP:

linuxprobe@ubuntu-18-04-lts:~$ 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客户端来向远程服务端发送系统日志消息。登录客户端,打开/etc/rsyslog.conf添加如下信息:

linuxprobe@ubuntu-18-04-lts:~$ vim /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:

linuxprobe@ubuntu-18-04-lts:~$ systemtcl restart rsyslog

查看日志

此时,Rsyslog客户端被配置为将它们的日志发送到Rsyslog服务端。 现在,登录到Rsyslog服务器并检查/var/log目录。看到客户端机器的主机名,包括几个日志文件:

linuxprobe@ubuntu-18-04-lts:~$ ls /var/log/rsyslog-client/
CRON.log  kernel.log  rsyslogd-2039.log  rsyslogd.log  sudo.log  wpa_supplicant.log

总结

在上面的文章中,我们学习了如何在Ubuntu 18.04服务器上安装和配置RysLogServer。我们还学习了如何配置rsyslog客户端 向rsyslog服务端发送日志。

原创文章,作者:晴川运维,如若转载,请注明出处:https://baike.qcidc.com/5844.html

(0)
晴川运维晴川运维
上一篇 2025年6月8日
下一篇 2025年6月8日

相关推荐

  • 详解TCP长连接和短连接

    HTTP的长连接和短连接本质上是TCP长连接和短连接。HTTP属于应用层协议,在传输层使用TCP协议,在网络层使用IP协议。IP协议主要解决网络路由和寻址问题,TCP协议主要解决如…

    Linux系统 2025年6月8日
  • SVN版本回退

    SVN是一款版本控制工具。相对于GitHub而言,SVN在使用上更为简化些,本篇文章重点为大家讲解一下SVN版本回退。 当我们想放弃对文件的修改,可以使用 SVN revert 命…

    Linux系统 2025年6月21日
  • 详解Spring中AOP

    AOP (Aspect Orient Programming),直译过来就是 面向切面编程。AOP 是一种编程思想,是面向对象编程(OOP)的一种补充。面向对象编程将程序抽象成各个…

    Linux系统 2025年6月28日
  • 如何使用 Linux anacron 命令

    与其手动执行重复性的任务,不如让 linux 为你做。 在 2021 年,人们有更多的理由喜欢 Linux。在这个系列中,我将分享使用 Linux 的 21 个不同理由。自动化是使…

    Linux系统 2025年6月8日
  • Linux中与用户账号相关的重要文件

    完成用户管理的工作有许多种方法,但是每一种方法实际上都是对有关的系统文件进行修改。 与用户和用户组相关的信息都存放在一些系统文件中,这些文件包括/etc/passwd, /etc/…

    Linux系统 2025年6月9日
  • 详解Linux内核之脏页跟踪

    Linux内核由于存在page cache, 一般修改的文件数据并不会马上同步到磁盘,会缓存在内存的page cache中,我们把这种和磁盘数据不一致的页称为脏页,脏页会在合适的时…

    Linux系统 2025年7月10日
  • Linux部署AutoFs挂载服务

    Autofs非常方便,主要有两点: 1、设置开机不一定要挂载的目录,当用的时候才实现自动挂载。 2、用户不使用自动挂载的目录一段的时间,会自动卸载。(默认时间为5分钟) [root…

    Linux系统 2025年6月8日
  • 详解HTTPS

    HTTPS其实是有两部分组成:HTTP SSL / TLS,也就是在HTTP上又加了一层处理加密信息的模块。服务端和客户端的信息传输都会通过TLS进行加密,所以传输的数据都是加密后…

    Linux系统 2025年7月8日
  • Linux下快速挂载U盘

    Linux下如何挂载U盘?在Linux系统中挂载U盘的方法非常简单,下面为大家分享一下Linux下快速挂载U盘具体方法。 1、 插入U盘 2、 #sudo fdisk –l 查看所…

    Linux系统 2025年6月19日
  • 通过mergefs增加虚拟存储

    如果您有多个磁盘或分区要用于一个媒体项目,而又不想丢失任何现有数据,但又想将所有文件都放置或安装在一个驱动器下,该怎么办?这时mergefs可以助您一臂之力!mergefs是一个联…

    Linux系统 2025年6月8日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注