logstash结合rsyslog,收集系统日志

rsyslog是日志收集工具。如今非常多Linux都自带rsyslog,用其替换掉syslog。怎样安装rsyslog就不讲了。大概讲下原理。然后讲logstash的相关配置。

rsyslog本身有一个配置文件 /etc/rsyslog.conf,里面定义了日志文件。以及对应保存的地址。下面述语句为例:

local7.*                                                /var/log/boot.log

他表明全部以local17.开头的日志文件都记录到 /var/log/boot.log。

上面提到它是日志收集工具,体如今,不只能够收集本机的日志,还能够收集其它机器的日志。那么怎样让它收集呢?

去掉/ect/rsyslog.conf以下两行的凝视:

#$ModLoad imudp
#$UDPServerRun 514

然后启动时。加入-r,这样,它就用514port监听。

当然,这和我们这里logstash没有什么必定的关系。

以下讲logstash的配置:

非常easy,配置文件的input增加syslog:

syslog{

   port = "5514"

}

logstash是配置好了,但rsyslog怎么知道要发给你呢?也非常easy,在/etc/rsyslog.conf中增加例如以下一行:

*.*  @@ip:5514

注意,@@和前面的*,要用Tab分隔。

Ok。

假设你想检验的话。在shell中输入例如以下命令:

logger "Hello world!"

logstash能接收到就表示Ok了。

时间: 2024-10-10 04:05:24

logstash结合rsyslog,收集系统日志的相关文章

ELK之六-----logstash结合redis收集系统日志和nginx访问日志

一.logstash结合redis收集系统日志 架构图: 环境准备: A主机:elasticsearch主机     IP地址:192.168.7.100 B主机:logstash主机            IP地址:192.168.7.102 C主机:redis主机                IP地址:192.168.7.103 D主机:logstash主机/nginx主机          IP地址:192.168.7.101 1.安装并配置redis 1.安装并配置redis服务,并启

logstash通过rsyslog对nginx的日志收集和分析

logstash通过rsyslog对nginx的日志收集和分析 http://bbotte.blog.51cto.com/6205307/1613571 logstash&elasticsearch&kibana的安装和配置 http://bbotte.blog.51cto.com/6205307/1614453  这一篇文章里面是以nginx打补丁的方式实现rsyslog把nginx的日志同步到logstash做分析,不过线上环境种种不一样,下面是把nginx的日志直接通过rsyslog

rsyslog收集nginx日志配置

rsyslog日志收集配置 rsyslog服务器收集各服务器的日志,并汇总,再由logstash处理 请查看上一篇文章 http://bbotte.blog.51cto.com/6205307/1613571 客户端/发送端  web服务器 # yum install rsyslog -y # vim /etc/rsyslog.conf *.* @192.168.10.1:514 # vim /etc/bashrc                              #收集其他服务器的操作

ELK之八----Logstash结合kafka收集系统日志和nginx日志

一.logstash结合kafka收集系统日志和nginx日志 架构图: 环境准备: A主机:kibana.elasticsearch,有条件可以将两个服务器分开:192.168.7.100 B主机:logstash主机:192.168.7.101/nginx服务器也在此主机上 C主机:logstash主机:192.168.7.102 D主机:kafka/zookeeper:192.168.7.104 E主机:kafka/zookeeper:192.168.7.105 1.使用logstash-

logstash收集系统日志配置

查看官方文档 https://www.elastic.co/guide/en/logstash/current/plugins-inputs-file.html 找个路径 /home/data/logstash/logstash/config 创建 vi file.config input {    file {     path => "/var/log/messages"     type => "system"     start_position

Syslog-ng+Rsyslog收集日志:写入数据库MySQ, MS-SQL,SQLite, mSQL(六)

为了统计方便,我们要从日志中选择一些消息放到数据库.对数据库读写支持要在编译时就要加上参数,还要在配置文件中开启对应的模块.模块如果很多监控都需要到数据库模块,可以放到/etc/rsyslog.conf全局配置文件里,如果只是某个监控收集用到那就放到/etc/rsyslog.d/的对应局部配置文件里. 1.编译. ./configure --enable-mysql 2.模块.生成的模板. ommysql # mysql输出模块 ompgsql # PostgreSQL的输出模块 omlibdb

巧用rsyslog收集多套日志并做单套日志的过滤分离

日志是supervisor打出来的python日志,且把不同格式的日志打印到了同一批文件里,需求是把带post和ERROR关键字的日志分离,并进入两个不同kafka的topic队列,目前的情况是rsyslog已经收集了nginx的访问日志,不能相互影响,就是说不能直接用if判断做分离,因为可能会日志混掉.要收集的日志格式如下: ERROR:root:requeue {"withRefresh": false, "localPath": "/data1/ms

Syslog-ng+Rsyslog收集日志:收集SSH用户命令(四)

有些时候需要用到堡垒机,但要知道用户都用那些命令操作过. rsyslog属性的名称中以$开头的是从本地系统获得的变量.不带$是从消息中获得变量 一.先配置系统变量记录SSH命令,并生成文件,位置/var/log/ssh.log. #vi /etc/profile.d/ssh.sh  //创建一个文件ssh.sh脚本去存放变量 export HISTORY_FILE=/var/log/ssh.log export PROMPT_COMMAND='{ date "+%Y-%m-%d %T #####

Syslog-ng+Rsyslog收集日志:RELP可靠传输,替代UDP、TCP(五)

在传输过程中TCP虽然比UDP可靠,但是是明文传输,Rsyslog提供了一个比TCP更可靠的传输,RELP.RELP传输,不会丢失信息,但只在rsyslogd 3.15.0及以上版本中可用. 使用RELP需要两部,开启omrelp模块,在传输时将TCP的@,替换成":omrelp:"(黄颜色部分) 用法: *.* :omrelp:server:port 例子: *.* :omrelp:192.168.0.1:514 vi /etc/rsyslog.d/ssh-log.conf # rs