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日

相关推荐

  • Linfo:实时显示你的 Linux 服务器运行状况

    Linfo 是一个自由开源的跨平台的服务器统计 UI 或库,它可以显示大量的系统信息。Linfo 是可扩展的,通过 composer,很容易使用 php5 库以程序化方式获取来自 …

    Linux系统 2025年6月8日
  • Linux下more命令高级用法

    我们在 Linux 环境下工作时,每天肯定会跟各种各样的文本文件打交道。这些文件,有时候会非常长,无法在一屏的空间内显示完全。所以,在查看这种文件时,我们需要分页显示。这时,我们就…

    Linux系统 2025年6月10日
  • 详解SQLite关键字AUTOINCREMENT

    autoincrement的中文意思就是自动递增的意思,在SQLite 中T是一个关键字,用于表中的字段值自动递增。可以在创建表时在特定的列表名称上使用AUTOINCREMENT关…

    Linux系统 2025年7月4日
  • Vsphere中ESXi主机开启ssh详细步骤

    由于ESXi主机是创建虚拟机的基础,非常重要,所以默认安装了ESXi后,默认ssh服务是关闭着的,而且一旦开启,在vCenter里面也会出现ssh已开启的警告,以说明目前ESXi主…

    Linux系统 2025年10月10日
  • Linux下使用JMeter进行压力测试

    JMeter是Apache组织的开放源代码项目,它是功能和性能测试的工具,100%的用java实现,本篇文章重点为大家讲解一下Linux下运行JMeter具体方法。 准备工作 1.…

    Linux系统 2025年6月8日
  • Aria2下载提速具体方法

    Aria2 是一个多平台轻量级,支持 HTTP、FTP、BitTorrent 等多协议、多来源的命令行下载工具。Aria2 可以从多个来源、多个协议下载资源,最大的程度上利用了你的…

    Linux系统 2025年10月9日
  • Shell脚本习题:MySQL分库分表备份

    脚本详细内容 [root@db02 scripts]# cat /server/scripts/Store_backup.sh  &nbsp…

    Linux系统 2025年6月8日
  • SELinux默认安全上下文的查询和修改(semanage命令)

    前面讲到,restorecon 命令可以将文件或目录恢复成默认的安全上下文,这就说明每个文件和目录都有自己的默认安全上下文,事实也是如此,为了管理的便捷,系统给所有的系统默认文件和…

    Linux系统 2025年10月23日
  • 详解日志分析工具GoAccess

    GoAccess 是一款开源的且具有交互视图界面的实时 Web 日志分析工具,通过你的 Web 浏览器或者 *nix 系统下的终端程序(terminal)即可访问。能为系统管理员提…

    Linux系统 2025年6月4日
  • 简单介绍一下kafka常用命令

    Kafka是一个分布式、分区的、多副本的、多订阅者,基于zookeeper协调的分布式日志系统(也可以当做MQ系统),常见可以用于web/nginx日志、访问日志,消息服务等等,本…

    Linux系统 2025年6月8日

发表回复

登录后才能评论