rsyslog转发nginx日志(rsyslog发送到logstashh)

收集系统其它服务日志,在客户端上操作,以nginx 服务的日志为例

先修改配置文件 /etc/rsyslog.conf,内容如下:

#grep -v "^$" /etc/rsyslog.conf | grep -v "^#"

$ModLoad imuxsock # provides support for local system logging (e.g. via logger command)
$ModLoad immark  # provides --MARK-- message capability
$ModLoad imklog
$ModLoad imfile
$WorkDirectory /var/lib/rsyslog
$ActionFileDefaultTemplate RSYSLOG_TraditionalFileFormat
$template myFormat,"%timestamp% %fromhost-ip% %msg%\n"
$ActionFileDefaultTemplate myFormat
$IncludeConfig /etc/rsyslog.d/*.conf
$OmitLocalLogging on
*.info;mail.none;authpriv.none;cron.none                @@10.4.66.122
$InputFilePollInterval 1
$InputFileName /var/log/nginx/access.log
$InputFileTag nginx-info:
$InputFileStateFile state-nginx-info
$InputRunFileMonitor

在配置文件开始的位置添加了几个装载的模块,后面添加了一些配置内容,中间取消了一些系统日志的发送

$InputFilePollInterval  1                                      检查日志文件间隔(秒)

$InputFileName  /var/log/nginx/access.log    要监控的日志文件路径 

$InputFileTag  nginx-info:             定义文件标签 ,注意最后是冒号:

$InputFileStateFile  state-nginx-info       定义状态文件

$InputRunFileMonitor       激活读取,可以设置多组日志读取,每组结束时设置本参数

修改完成后,重启客户端的rsyslog服务

#service rsyslog restart

访问一下nginx,验证一下,在接收端上查看一下日志



如果rsyslog想要吧日志发送给logstash有两种方法,第一种是让系统日志落地后转发,另外一个方法是用logstash监听接收日志的端口直接转发,下面介绍两种方法:

第一种日志落地转发,在logstash配置文件内写入如下内容:

input {
    file {
        path => "/data/log/10.4.66.121/10.4.66.121_2017.log"
    }
}
output {
    elasticsearch {
        hosts => ["10.4.66.105:9200"]
        index => "nginx-access-log-%{+YYYY.MM.dd.HH}"
                }
}

通过以上配置文件内容可以将日志落地后转发到logstash服务器

第二种方法,监听接收端口直接转发,首先需要暂停rsyslog服务,防止端口冲突

input  {
   syslog  {
     port  =>"514"
            }
}
output {
    elasticsearch {
        hosts => ["10.4.66.105:9200"]
        index => "nginx-access-log-%{+YYYY.MM.dd.HH}"
    }
}

通过以上配置文件内容可以监听514端口收到的日志,直接转发到logstash

时间: 2024-08-05 21:58:40

rsyslog转发nginx日志(rsyslog发送到logstashh)的相关文章

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                              #收集其他服务器的操作

Rsyslog 实现Nginx日志统一收集功能

一.rsyslog 介绍 ryslog 是一个快速处理收集系统日志的程序,提供了高性能.安全功能和模块化设计.rsyslog 是syslog 的升级版,它将多种来源输入输出转换结果到目的地,据官网介绍,现在可以处理100万条信息. 二.Rsyslog应用 Rsyslog服务端配置 下面有一些参数没有做中文解释,是因为我也不是太了解,没办法做出解释,测试不出具体效果 需要自己去看看文档来解决了. 配置文件/etc/rsyslog.conf $ModLoad imuxsock            

搭建elk server通过rsyslog展示nginx和php日志

一.系统和所需软件版本介绍 系统版本:centos 6.5 64位 软件版本:jdk-8u60-linux-x64.tar.gz.elasticsearch-2.4.2.tar.gz.logstash-2.4.1.tar.gz.kibana-4.6.3-linux-x86_64.tar.gz 二.安装java环境 1)解压jdk软件压缩包. tar -zxvf jdk-8u60-linux-x64.tar.gz 2)在/etc/profile文件的最后边,添加下边这几行,设置一下环境变量. ex

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管理分布式日志

背景 有一个4台机器的分布式服务,不多不少,上每台机器上查看日志比较麻烦,用Flume,Logstash.ElasticSearch.Kibana等分布式日志管理系统又显得大材小用,所以想到了centos自带的rsyslog. 简介 Rsyslog可以简单的理解为syslog的超集,在老版本的Linux系统中,Red Hat Enterprise Linux 3/4/5默认是使用的syslog作为系统的日志工具,从RHEL 6 开始系统默认使用了Rsyslog. Rsyslog 是负责收集 sy

CentOS7下利用rsyslog+loganalyzer配置日志服务器及Linux和windows客户端配置

一.简介: 随着机房内的服务器和网络设备增加,日志管理和查询就成了让系统管理员头疼的事. 系统管理员遇到的常见问题如下: 1.日常维护过程中不可能登录到每一台服务器和设备上去查看日志: 2.网络设备上的存储空间有限,不可能存储日期太长的日志,而系统出现问题又有可能是很久以前发生的某些操作造成的: 3.在某些非法入侵的情况下,入侵者一般都会清除本地日志,清除入侵痕迹: 4.zabbix等监控系统无法代替日志管理,无法监控如系统登录.计划任务执行等项目. 基于上述原因,在当前的网络环境中搭建一台用于

rsyslog+loganalyze+mysql 日志集中处理

随着服务器的增多,感觉查看日志花费的时间已经越来越多,而且也各种不大方便,所以想着集中到一台服务器上来处理.害怕用过之后就忘记了,所以特此做个记录 因为我的LNMP环境很早之前就已经搭好了.所以就直接用了. 我也是参考这篇文章搭建的. http://www.cnblogs.com/mchina/p/linux-centos-rsyslog-loganalyzer-mysql-log-server.html 按照这篇文章搭建完了之后,可能会遇到 这是没有日志记录. 这个时候systemEvents

rsyslog+loganalyzer简单日志分析

rsyslog:是一个快速处理收集系统日志的程序,提供了高性能.安全功能和模块化设计.rsyslog 是syslog 的升级版,它将多种来源输入输出转换结果到目的地 loganalyzer:是一款syslog日志和其他网络事件数据的Web前端,提供对日志的简单浏览.搜索.基本分析和一些图表报告的功能 准备环境 server:192.168.242.139        (接收日志的服务器) client:192.168.242.140         (发送日志的客户端,将产生的用户登陆认证日志

CentOS6.8下使用rsyslog+ldap部署日志服务器来实现日志收集

在我们的运维工作中,常常会对系统上的日志进行收集,手动管理少量的几台服务器的日志收集没有太大难度,但是企业当中批量的管理成千上万台服务器的时候,这时候想一台台的收集日志未免太浪费时间了,这时候我们需要一个批量管理日志的系统来解决这一难题,今天我给大家带来的使用 1.syslog介绍 日志服务在Centos5上位syslog,随着系统版本的升级之后,日志服务改为rsyslog,rsyslog是syslog的升级版,提供了许多高级的特性.syslog由klogd和syslogd组成,klogd记录的