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. 为什么建议大家使用 Linux 开发?

    关注「开源Linux」,选择"设为星标" 回复「学习」,有我为您特别筛选的学习资料~ Linux 能用吗? 我身边还有些朋友对 linux 的印象似乎还停留在黑乎乎的命令行界面上. ...

  2. go convert slice to struct

    Question: in golang how to convert slice to struct scene 1:use reflect convert slice to struct func ...

  3. VS.NET启动显示ID为XXXX的进程当前未运行

    解决办法:在启动项目根目录下用文本编辑器打开Web项目下的{X}.csproj文件,然后查找 <WebProjectProperties>,将这一对标签之间的内容全部删除,然后再打开项目就 ...

  4. 455. Assign Cookies - LeetCode

    Question 455. Assign Cookies Solution 题目大意:数组g的大小表示有几个小孩,每个元素表示小孩的食量,数组s的大小表示有多少个饼干,每个元素的大小表示每个饼干的大小 ...

  5. 设计并实现大数类 BigNum

    学习任务:设计并实现大数类 BigNum 代码示例: import java.util.Scanner; public class BigNum { private double num; publi ...

  6. python之数据类型的内置方法(str, list)

    目录 字符串的内置方法 移除首尾指定字符 字母大小写相关操作 判断字符串的开头或结尾是否是指定字符 字符串特殊的输出方法 拼接字符串 替换指定字符 判断是否是纯数字 查找指定字符对应的索引值 文本位置 ...

  7. Java ES 实现or查询

    es mapping里有三个字段: A:Integer B:Integer C:TEXT 现在想实现一个查询,来检索  (  (A =1 and B=2)  or (c like "test ...

  8. Ceph集群搭建记录

    环境准备 基础环境 node00 192.168.247.144 node00 node01 192.168.247.135 node01 node02 192.168.247.143 node02 ...

  9. Java 进阶路线图

    前言 个人的从事Java开发行业已经也有一段时间,提升自己的Java水平,特整理下学习路线图,以备日后使用. 路线图资料收集 图片打不开,建议使用复制链接打开:或者私信告诉我. Java架构师学习路线 ...

  10. 从零开始实现lmax-Disruptor队列(二)多消费者、消费者组间消费依赖原理解析

    MyDisruptor V2版本介绍 在v1版本的MyDisruptor实现单生产者.单消费者功能后.按照计划,v2版本的MyDisruptor需要支持多消费者和允许设置消费者组间的依赖关系. 由于该 ...