Linux 之 rsyslog

Linux 之 rsyslog 系统日志转发

一、rsyslog 介绍

  ryslog 是一个快速处理系统日志的程序,提供了高性能、安全功能和模块化设计。rsyslog 是syslog 的升级版,它将多种来源输入输出转换结果到目的地,据官网介绍,现在可以处理100万条信息。

  特性:1.多线程

     2.支持加密协议:ssl,tls,relp

     3.mysql、oracle、postgreSQL

     4.等等..

二、实践部署()

2.1 环境图

  

2.2.rsyslog server上部署操作

安装rsyslog 程序(rsyslog默认已经在各发行版安装,如果系统中没有的话,可以用yum 进行安装,如下:)

[[email protected] ~]# yum install rsyslog -y

编辑rsyslog配置文件,路径 /etc/rsyslog.conf,修改前最好先备份一份,修改后的文件内容如下

 

a.$AllowedSender tcp, 192.168.30.0/24 允许 30.0网段内的主机以tcp协议来传输

b.$template Remote,"/data/log/%fromhost-ip%/%fromhost-ip%_%$YEAR%-%$MONTH%-%$DAY%.log"  定义模板,接受日志文件路径,区分了不同主机的日志

c.:fromhost-ip, !isequal, "127.0.0.1" ?Remote 过滤server 本机的日志。

d.$InputTCPServerRun 514 开启tcp,tcp和udp 可以共存的

创建日志目录,尽量选择系统内比较大的区域创建,因为考虑到要存放很多服务器的日志文件。

[[email protected] ~]# mkdir -pv /data/log

修改完成无误后,重启rsyslog服务,并查看监听端口,514 是否是tcp协议

[[email protected] ~]# systemctl restart rsyslog
[[email protected] ~]# netstat -aulntp | grep rsyslog
tcp        0      0 0.0.0.0:514             0.0.0.0:*               LISTEN      20228/rsyslogd
tcp6       0      0 :::514                  :::*                    LISTEN      20228/rsyslogd
udp        0      0 0.0.0.0:514             0.0.0.0:*                           20228/rsyslogd
udp6       0      0 :::514                  :::*                                20228/rsyslogd      

2.3 客户端上操作:

node1 上进行配置

打开配置文件,老样子,先备份下在进行修改 /etc/rsyslog.conf,修改完记得要重启程序

 

ceph1 上进行配置,重启rsyslog程序

打开配置文件/etc/rsyslog.conf

 

最后重启客户端上的rsyslog程序

2.4 验证,在服务器上进到 /data/log 目录下,进行查看,会发现以下类似的文件结构

[[email protected] ~]# tree /data/log/
/data/log/
├── 192.168.30.56
│ └── 192.168.30.56_2016-05-05.log
├── 192.168.30.57
│ └── 192.168.30.57_2016-05-05.log
└── messages

2 directories, 3 files

messages:server 端的系统日志
文件夹192.168.30.56: node1 客户端的日志
文件夹192.168.30.57: ceph1 客户端的日志

我们这里只查看node1 的系统日志吧。server 上进行操作

[[email protected] ~]# tail -f /data/log/192.168.30.56/192.168.30.56_2016-05-05.log
May  5 20:50:45 node1 rsyslogd: [origin software="rsyslogd" swVersion="7.4.7" x-pid="9296" x-info="http://www.rsyslog.com"] exiting on signal 15.
May  5 20:50:45 node1 rsyslogd: [origin software="rsyslogd" swVersion="7.4.7" x-pid="9334" x-info="http://www.rsyslog.com"] start
May  5 20:50:45 node1 systemd: Stopping System Logging Service...
May  5 20:50:45 node1 systemd: Starting System Logging Service...
May  5 20:50:45 node1 systemd: Started System Logging Service.

这里还可以在node1上在命令行里输入 logger “this is test ” 发送消息,server上进行查看下

[[email protected] ~]# tail -1f /data/log/192.168.30.56/192.168.30.56_2016-05-05.log
May  5 20:52:46 node1 root: this is test

三、总结

  以前不知道,总以为很难,现在感觉rsyslog还是挺简单的。不过简单是因为我们只是用了最简单方法,而且功能也是只用了转发,后续会尝试如何记录转发其它服务的日志,比如mysql、zabbix、以及nova 服务的日志。这些才是最终的目的。

本文章属于原创,转载引用时请注明出处

时间: 2024-10-16 16:43:49

Linux 之 rsyslog的相关文章

Linux 之rsyslog+LogAnalyzer 日志收集系统

一.LogAnalyzer介绍 LogAnalyzer工具提供了一个易于使用,功能强大的前端,用于搜索,查看和分析网络活动数据,包括系统日志,事件日志和其他许多日志源.由于它只是将数据展示到我们用户的面前,所以数据本身需要由另一个程序收集,比如syslogd,rsyslog(现在是发行版的默认的syslogd),WinSyslog或MonitorWare代理.LogAnalyzer同样适用于Linux和Windows.它主要是用PHP编写的自由软件,基于GPL的开源应用程序.数据可以从数据库,也

Linux通过Rsyslog搭建集中日志服务器

(一)Rsyslog简介ryslog 是一个快速处理收集系统日志的程序,提供了高性能.安全功能和模块化设计.rsyslog 是syslog 的升级版,它将多种来源输入输出转换结果到目的地.rsyslog是一个开源工具,被广泛用于Linux系统以通过TCP/UDP协议转发或接收日志消息.rsyslog守护进程可以被配置成两种环境,一种是配置成日志收集服务器,rsyslog进程可以从网络中收集其它主机上的日志数据,这些主机会将日志配置为发送到另外的远程服务器.rsyslog的另外一个用法,就是可以配

Linux 之 rsyslog 系统日志转发

一.rsyslog 介绍 ryslog 是一个快速处理系统日志的程序,提供了高性能.安全功能和模块化设计.rsyslog 是syslog 的升级版,它将多种来源输入输出转换结果到目的地,据官网介绍,现在可以处理100万条信息. 特性:1.多线程 2.支持加密协议:ssl,tls,relp 3.mysql.oracle.postgreSQL 4.等等.. 二.实践部署() 2.1 环境图 2.2.rsyslog server上部署操作 安装rsyslog 程序(rsyslog默认已经在各发行版安装

Linux 实现rsyslog日志里面的IP地址记录 未测试

之前我是在bashrc中添加了一句,让系统操作日志时向rsyslog发送一份内容,现在只要在发送的时候,自己再获取下当前的远程登录IP加进去就可以,像这样 /etc/bashrc 1 sshClientIP=`w | tail -n +3 | awk 'BEGIN {ip="local"}{if ($5=="0.00s" || $3 != "-") ip=$3 fi} END {print ip}'` 2 PROMPT_COMMAND='hist

Linux 之 rsyslog 系统日志转发(转载)

一.rsyslog 介绍 ryslog 是一个快速处理收集系统日志的程序,提供了高性能.安全功能和模块化设计.rsyslog 是syslog 的升级版,它将多种来源输入输出转换结果到目的地,据官网介绍,现在可以处理100万条信息. 特性:1.多线程 2.支持加密协议:ssl,tls,relp 3.mysql.oracle.postgreSQL 4.等等.. 二.实践部署() 2.1 环境图 2.2.rsyslog server上部署操作 安装rsyslog 程序(rsyslog默认已经在各发行版

linux开启Rsyslog服务收集日志

一.查看是否安装了rsyslog服务 [[email protected]1 ~]# yum install -y rsyslog 已加载插件:fastestmirror Loading mirror speeds from cached hostfile * base: mirrors.aliyun.com * extras: mirrors.aliyun.com * updates: mirrors.aliyun.com base | 3.6 kB 00:00:00 dell-system-

rsyslog

为了使得应用程序不需要自身实现日志记录的功能,linux实现了系统日志服务.Rsyslog是syslog的升级版本, 其在RHEL5的版本中, 名称为syslog.在RHEL6/7其升级为Rsyslog. Rsyslog的特性:支持多线程 支持加密的方式记录传输远程主机日志同时支持tcp/udp将日志可存储在mysql,pgsql,oracle等数据库管理系统中,便于筛选查询强大的自定义过滤器,实现过滤日志信息中任何部分内容,实现选择性记录自定义输出格式 syslog中含有两个服务进程,sysy

linux 系统简单的优化

简单的优化,大概从以下几个方面来优化 1.ssh服务的优化 2.selinux/iptables 3.字符集调整 4.开机自启动服务优化 5.时间优化(定时任务) ssh服务的优化 A.修改默认的端口 修改方法. vim /etc/ssh/sshd_config(修改配置文件) 修改配置文件的13行把默认的22成其他的.注意改完后把注释去掉 B.禁止root用户远程登陆 修改配置文件的42行把yes改成no C.禁止无密码登陆 通过ssh登陆的时候要不要密码.当然要密码所以yes默认的也是yes

linux系统基础优化

1.Linux系统基础优化 一.关闭SELinux功能 Selinux是什么? 安全工具,控制太严格,生产环境不用它,使用其他安全手段. 简介: SELinux带给Linux的主要价值是:提供了一个灵活的,可配置的MAC机制. Security-Enhanced Linux (SELinux)由以下两部分组成: 1) Kernel SELinux模块(/kernel/security/selinux) 2) 用户态工具 SELinux是一个安全体系结构,它通过LSM(Linux Security