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日志收集)的更多相关文章

  1. 20135327郭皓--Linux内核分析第三周 构造一个简单的Linux系统MenuOS

    Linux内核分析第三周  构造一个简单的Linux系统MenuOS 前提回顾 1.计算机是如何工作的三个法宝 1.存储程序计算机 2.函数调用堆栈 3.中断 2.操作系统的两把宝剑 中断上下文的切换 ...

  2. Linux内核分析实验三----跟踪分析Linux内核的启动过程

    一.Linux内核源代码介绍 1.根目录 arch/x86目录下的代码是我们重点关注的,arch中包括支持不同CPU的源代码. init目录下包含内核启动相关的代码,如main.c(start_ker ...

  3. “Linux内核分析”实验三报告

    构造一个简单的Linux系统 张文俊+原创作品转载请注明出处+<Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-10000290 ...

  4. Linux内核分析 实验三:跟踪分析Linux内核的启动过程

    贺邦 + 原创作品转载请注明出处 + <Linux内核分析>MOOC课程 http://mooc.study.163.com/course/USTC-1000029000 一. 实验过程 ...

  5. 【MOOC EXP】Linux内核分析实验三报告

     程涵  原创博客 <Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000 [跟踪分析Linux内核的启动过程] ...

  6. linux内核分析 第三周 构造一个简单的Linux系统MenuOS

    一.计算机的三个法宝 存储程序计算机,函数调用堆栈,中断二.操作系统的两把剑:1.中断上下文的切换,保存现场和恢复现场2.进程上下文的切换. 三.linux内核源代码的分析: ·arch/目录保存支持 ...

  7. Linux内核分析第三周——构造一个简单的Linux系统MenuOS

    构造一个简单的Linux系统MenuOS 李雪琦 + 原创作品转载请注明出处 + <Linux内核分析>MOOC课程http://mooc.study.163.com/course/UST ...

  8. vss安装及服务器端、客户端配置图文教程

    安装VSS 一.双击setup. 之后点完成.就安装完了! 服务器端VSS配置 一.选择开始——所有程序——打开 一直下一步  到完成 二.然后再打开 说明:把这个enable rights and  ...

  9. Linux系统实战项目——sudo日志审计

    Linux系统实战项目——sudo日志审计   由于企业内部权限管理启用了sudo权限管理,但是还是有一定的风险因素,毕竟运维.开发等各个人员技术水平.操作习惯都不相同,也会因一时失误造成误操作,从而 ...

随机推荐

  1. 详解六大国产CPU处理器

    一个执着于技术的公众号 CPU作为计算机设备的运算和控制核心,负责指令读取.译码与执行,因研发门槛高.生态构建难,被认为是集成电路产业中的"珠穆朗玛峰". 纵观全球,Intel.A ...

  2. drf-Serializers

    What is serializers? serializers主要作用是将原生的Python数据类型(如 model querysets )转换为web中通用的JSON,XML或其他内容类型. DR ...

  3. 【算法】归并排序(Merge Sort)(五)

    归并排序(Merge Sort) 归并排序是建立在归并操作上的一种有效的排序算法.该算法是采用分治法(Divide and Conquer)的一个非常典型的应用.将已有序的子序列合并,得到完全有序的序 ...

  4. 【freertos】008-内存管理

    前言 本章主要讲解内部存储空间(RAM)的管理. 详细分析heap5方案. 参考: 李柱明博客 https://freertos.blog.csdn.net/article/details/51606 ...

  5. 深度学习可视化工具--tensorboard的使用

    tensorboard的使用 官方文档 # writer.add_scalar() # 添加标量 """ Args: tag (string): Data identif ...

  6. CF1682F MCMF?

    题意: 费用流,其实bushi 给你长为\(n\)的序列\(a\),\(b\).\(a\)单增,\(b\)有正有负. \(q\)次询问\([l,r]\),保证\(\sum\limits_{i=l}^r ...

  7. Spring Ioc源码分析系列--自动注入循环依赖的处理

    Spring Ioc源码分析系列--自动注入循环依赖的处理 前言 前面的文章Spring Ioc源码分析系列--Bean实例化过程(二)在讲解到Spring创建bean出现循环依赖的时候并没有深入去分 ...

  8. STL栈与队列

    #include<queue>// 队列 #include<stack>//栈 stack<int> s;//参数也是数据类型,这是栈的定义方式 queue< ...

  9. while循环、do..while循环

    While循环 While循环呢它是更具条件来判断是否执行大括号里的内容 ,只要条件成立就会一值执行直到不满足条件它的语法格式: while(循环条件){ 执行语句 }那么我们来做一个小测试看看: p ...

  10. .NET中如何在同步代码块中调用异步方法

    更新记录 本文迁移自Panda666原博客,原发布时间:2021年7月2日. 在同步代码块中调用异步方法,方法有很多. 一.对于有返回值的Task 在同步代码块中直接访问 Task 的 Result ...