提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
实验目的:
1、掌握rsyslog配置方法
2、配置rsyslog服务收集其他Linux服务器日志
实验环境:
1.安装
linux_Centos7虚拟机两台,一台作为客户端,一台作为服务器端。
虚拟机安装可以参考:安装Linux实验环境与了解centOS系统日志,注意在同一时刻一个镜像文件只能被一台虚拟机独占,不过不在同一时刻的话任意的虚拟机都能打开。
因此之前如果下载过centOS7的iso镜像文件,无需再次下载,但需要复制一下,然后创建虚拟机引用复制的文件即可。
2.测试
查看两台虚拟机的ip并使其能相互ping通:
ifconfig
ping
服务器ip:192.168.119.140
客户端ip: 192.168.119.142
互相ping通:
前情提要
rsyslog是一个开源工具,被广泛用于Linux系统,它的作用是通过TCP/UDP协议转发或接收日志消息。rsyslog守护进程可以被配置成两种环境,一种是配置成日志收集服务器,即从网络中收集其它主机上的日志数据,这些主机会被配置为将日志发送到另外的远程服务器。另一种环境是配置为客户端,用来过滤和发送内部日志消息到本地文件夹(如/var/log)或一台可以路由到的远程rsyslog服务器上。在这种环境下,假定网络中已经有一台已经配置好并启动的rsyslog服务器,系统可以将其内部日志消息路由到一台远程rsyslog服务器上,这将大大改善系统磁盘空间的使用,尤其是当系统没有一个用于/var目录的独立的大分区。
一、配置rsyslog服务器
①在CentOS 7上,rsyslog守护进程已经预先安装了。要验证rsyslog是否已经安装,请执行如下命令:
rpm -qa | grep rsyslog
rsyslogd -v
②确定rsyslog服务器IP地址:192.168.122.1
ifconfig
③修改rsyslog服务器配置文件:
vim /etc/rsyslog.conf
将部分#号删除(i
进入插入模式,修改后esc
退出插入模式),保存退出(:wq
保存并退出):
# Provides UDP syslog reception
$ModLoad imudp #删
$UDPServerRun 514 #删
# Provides TCP syslog reception
$ModLoad imtcp #删
$InputTCPServerRun 514 #删
删除前两行的注释会使得rsysolog守护进程能够在UDP端口514上接受日志消息了,UDP比TCP速度快,但是并不具有TCP一样的对数据流的可靠性。所以如果需要使用可靠的传送机制,就可以通过取消后两行的注释实现。
需要注意的是,TCP和UDP可以被同时生效来监听TCP/UDP 连接,此处就采用这种方式。
④重启rsyslog服务:
systemctl restart rsyslog.service
二、配置rsyslog客户端
①查看rsyslog守护进程是否已经安装,执行如下命令:
rpm -qa | grep rsyslog
rsyslogd -v
配置前提:所有Linux均默认安装rsyslog服务。
②修改rsyslog客户端配置文件:
输入命令:
vim /etc/rsyslog.conf
在文件最底部添加以下配置(i
进入插入模式,修改后esc
退出插入模式)后,保存退出(:wq
保存并退出):
*.*@192.168.122.1
*.*@@192.168.122.1
第一行的声明告诉rsyslog守护进程,将系统上各个设备的各种日志消息路由到远程rsyslog服务器(192.168.122.1)的UDP端口514。如果出于某种原因,需要更为可靠的协议,如TCP,rsyslog服务器也可以被配置为监听TCP连接,此时须在远程主机的IP地址前添加一个额外的@字符,如第二行。
③重启rsyslog服务:
systemctl restart rsyslog.service
三、验证rsyslog配置
登录服务器端,打开/var/log/secure文件,查看服务器是否能收集到客户机日志。正常收集后,应该能看到客户机登录日志。
①重新登录客户端:
②查看服务器的/var/log/secure文件,可以查看到客户机登录日志,实验成功: