日志审计与分析实验三(rsyslog服务器端和客户端配置)(Linux日志收集)
Linux日志收集
一、实验目的:
1、掌握rsyslog配置方法
2、配置rsyslog服务收集其他Linux服务器日志:
C/S架构:客户端将其日志上传到服务器端,通过对服务器端日志的查询,来实现对其他客户端的日志进行集中管理;下面实现就是通过两套机器来实现,(server:198.168.220.134)——(client:198.168.220.137),将client上的日志传输到server上。
二、实验步骤:
配置前提:所有Linux均默认安装rsyslog服务。
1、前期配置
克隆一台虚拟机
一台当作rsyslog服务器,一台当作rsyslog客户端。本次实验中,我的rsyslog服务器名称是(CentOS7 64位),rsyslog客户端名称是(CentOS7 2)。

查看服务器端和客户端ip地址,确保在同一个网段。
本次实验中,服务器端ip地址:192.168.220.134
客户端ip地址为:192.168.220.137
ifconfig
- 1


将rsyslog服务器端和客户端清除防火墙规则和临时禁用selinux
iptables -F
- 1
setenforce 0
- 1
服务器端:

客户端:

测试rsyslog服务器端和客户端是否能够ping通

查看rsyslog服务状态
service rsyslog status
- 1

2. rsyslog的三种传输协议
(1) UDP 传输协议
基于传统UDP协议进行远程日志传输,也是传统syslog使用的传输协议;
可靠性比较低,但性能损耗最少, 在网络情况比较差,或者接收服务器压力比较高情况下,可能存在丢日志情况。在对日志完整性要求不是很高,在可靠的局域网环境下可以使用。
(2)TCP 传输协议
基于传统TCP协议明文传输,需要回传进行确认,可靠性比较高;
但在接收服务器宕机或者两者之间网络出问题的情况下,会出现丢日志情况。
这种协议相比于UDP在可靠性方面已经好很多,并且rsyslog原生支持,配置简单,同时针对可能丢日志情况,可以进行额外配置提高可靠性,因此使用比较广。
(3)RELP 传输协议
RELP(Reliable Event Logging Protocol)是基于TCP封装的可靠日志消息传输协议;是为了解决TCP 与 UDP 协议的缺点而在应用层实现的传输协议,也是三者之中最可靠的。需要多安装一个包rsyslog-relp以支持该协议。
1、udp传输方式
配置rsyslog服务器端
编辑配置文件
vim /etc/rsyslog.conf
- 1

开启传输端口监听
vim /etc/sysconfig/rsyslog
- 1

重启rsyslog服务
systemctl restart rsyslog
- 1
查看服务器运行的端口
netstat -anpu | grep 514
- 1

配置rsyslog客户端
指定日志传输方式
vim /etc/rsyslog.conf
- 1
如果是udp,则添加
*.* @192.168.220.134:514
- 1

重启rsyslog服务
systemctl restart rsyslog
- 1

服务器端实时查看日志记录
tail -f /var/log/messages
- 1
客户端进行测试
logger -t kern -p err "hello world"
- 1

2、tcp传输方式
配置rsyslog服务器端
编辑配置文件
vim /etc/rsyslog.conf
- 1
恢复对udp的注释,去掉对tcp的注释

开启传输端口监听
vim /etc/sysconfig/rsyslog
- 1

重启服务
systemctl restart rsyslog
- 1
查看服务器运行的端口
netstat -anpt | grep 514
- 1

配置rsyslog客户端
指定日志传输方式
vim /etc/rsyslog.conf
- 1
如果是tcp,则将udp的注释掉并添加
*.* @@192.168.220.134:514
- 1

重启rsyslog服务
systemctl restart rsyslog
- 1
服务器端实时查看日志记录
tail -f /var/log/messages
- 1
客户端进行测试
logger -t kern -p err "hello hello"
- 1

3、relp传输方式
配置rsyslog服务器端
安装relp服务
yum install rsyslog-relp
- 1


编辑配置文件
vim /etc/rsyslog.conf
- 1
恢复对udp,tcp的注释,添加以下两行:
$ModLoad imrelp
$InputRELPServerRun 2514
- 1
- 2

开启传输端口监听
vim /etc/sysconfig/rsyslog
- 1

重启服务
systemctl restart rsyslog
- 1
查看服务器运行的端口
netstat -anpt | grep ":2514"
- 1

配置rsyslog客户端
在客户端安装relp服务
yum install rsyslog-relp
- 1

指定日志传输方式
vim /etc/rsyslog.conf
- 1
如果是relp,则将udp,tcp的注释掉并添加
$ModLoad omrelp
*.* :omrelp:192.168.220.134:2514
- 1
- 2

重启rsyslog服务
systemctl restart rsyslog
- 1
服务器端实时查看日志记录
tail -f /var/log/messages
- 1
客户端进行测试
logger -t kern -p err "hello kitty"
- 1

日志审计与分析实验三(rsyslog服务器端和客户端配置)(Linux日志收集)的更多相关文章
- 20135327郭皓--Linux内核分析第三周 构造一个简单的Linux系统MenuOS
Linux内核分析第三周 构造一个简单的Linux系统MenuOS 前提回顾 1.计算机是如何工作的三个法宝 1.存储程序计算机 2.函数调用堆栈 3.中断 2.操作系统的两把宝剑 中断上下文的切换 ...
- Linux内核分析实验三----跟踪分析Linux内核的启动过程
一.Linux内核源代码介绍 1.根目录 arch/x86目录下的代码是我们重点关注的,arch中包括支持不同CPU的源代码. init目录下包含内核启动相关的代码,如main.c(start_ker ...
- “Linux内核分析”实验三报告
构造一个简单的Linux系统 张文俊+原创作品转载请注明出处+<Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-10000290 ...
- Linux内核分析 实验三:跟踪分析Linux内核的启动过程
贺邦 + 原创作品转载请注明出处 + <Linux内核分析>MOOC课程 http://mooc.study.163.com/course/USTC-1000029000 一. 实验过程 ...
- 【MOOC EXP】Linux内核分析实验三报告
程涵 原创博客 <Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000 [跟踪分析Linux内核的启动过程] ...
- linux内核分析 第三周 构造一个简单的Linux系统MenuOS
一.计算机的三个法宝 存储程序计算机,函数调用堆栈,中断二.操作系统的两把剑:1.中断上下文的切换,保存现场和恢复现场2.进程上下文的切换. 三.linux内核源代码的分析: ·arch/目录保存支持 ...
- Linux内核分析第三周——构造一个简单的Linux系统MenuOS
构造一个简单的Linux系统MenuOS 李雪琦 + 原创作品转载请注明出处 + <Linux内核分析>MOOC课程http://mooc.study.163.com/course/UST ...
- vss安装及服务器端、客户端配置图文教程
安装VSS 一.双击setup. 之后点完成.就安装完了! 服务器端VSS配置 一.选择开始——所有程序——打开 一直下一步 到完成 二.然后再打开 说明:把这个enable rights and ...
- Linux系统实战项目——sudo日志审计
Linux系统实战项目——sudo日志审计 由于企业内部权限管理启用了sudo权限管理,但是还是有一定的风险因素,毕竟运维.开发等各个人员技术水平.操作习惯都不相同,也会因一时失误造成误操作,从而 ...
随机推荐
- 为什么建议大家使用 Linux 开发?
关注「开源Linux」,选择"设为星标" 回复「学习」,有我为您特别筛选的学习资料~ Linux 能用吗? 我身边还有些朋友对 linux 的印象似乎还停留在黑乎乎的命令行界面上. ...
- go convert slice to struct
Question: in golang how to convert slice to struct scene 1:use reflect convert slice to struct func ...
- VS.NET启动显示ID为XXXX的进程当前未运行
解决办法:在启动项目根目录下用文本编辑器打开Web项目下的{X}.csproj文件,然后查找 <WebProjectProperties>,将这一对标签之间的内容全部删除,然后再打开项目就 ...
- 455. Assign Cookies - LeetCode
Question 455. Assign Cookies Solution 题目大意:数组g的大小表示有几个小孩,每个元素表示小孩的食量,数组s的大小表示有多少个饼干,每个元素的大小表示每个饼干的大小 ...
- 设计并实现大数类 BigNum
学习任务:设计并实现大数类 BigNum 代码示例: import java.util.Scanner; public class BigNum { private double num; publi ...
- python之数据类型的内置方法(str, list)
目录 字符串的内置方法 移除首尾指定字符 字母大小写相关操作 判断字符串的开头或结尾是否是指定字符 字符串特殊的输出方法 拼接字符串 替换指定字符 判断是否是纯数字 查找指定字符对应的索引值 文本位置 ...
- Java ES 实现or查询
es mapping里有三个字段: A:Integer B:Integer C:TEXT 现在想实现一个查询,来检索 ( (A =1 and B=2) or (c like "test ...
- Ceph集群搭建记录
环境准备 基础环境 node00 192.168.247.144 node00 node01 192.168.247.135 node01 node02 192.168.247.143 node02 ...
- Java 进阶路线图
前言 个人的从事Java开发行业已经也有一段时间,提升自己的Java水平,特整理下学习路线图,以备日后使用. 路线图资料收集 图片打不开,建议使用复制链接打开:或者私信告诉我. Java架构师学习路线 ...
- 从零开始实现lmax-Disruptor队列(二)多消费者、消费者组间消费依赖原理解析
MyDisruptor V2版本介绍 在v1版本的MyDisruptor实现单生产者.单消费者功能后.按照计划,v2版本的MyDisruptor需要支持多消费者和允许设置消费者组间的依赖关系. 由于该 ...