利用Rsyslog向ElasticSearch推送nginx access日志

原创 2016年08月29日 16:48:20
1> 重新配置 nginx access 日志格式为 json 格式;

log_format ngx_accss_json '{ "@timestamp": "$time_iso8601", '
                         '"@fields": { '
                         '"remote_addr": "$remote_addr", '
                         '"server_name": "$server_name", '
                         '"server_port": "$server_port", '
                         '"scheme": "$scheme", '
                         '"server_protocol": "$server_protocol", '
                         '"body_bytes_sent": "$body_bytes_sent", '
                         '"request_time": "$request_time", '
                         '"status": "$status", '
                         '"request": "$request", '
                         '"uri": "$uri", '
                         '"request_method": "$request_method", '
                         '"http_referrer": "$http_referer", '
                         '"host": "$host", '
                         '"http_user_agent": "$http_user_agent" } }';


access_log syslog:server=127.0.0.1:514,facility=local7,tag=nginx,severity=info ngx_accss_json;

2> 配置 rsyslog 推送到ElasticSearch, 这里我们启用了 DA 模式;

# 原始消息已为json格式
$template rawmsg,"%msg%"


# ElasticSearch 索引
template(name="nginx-index"
  type="list") {
    constant(value="nginx-")
    property(name="timereported" dateFormat="rfc3339" position.from="1" position.to="4")
    constant(value=".")
    property(name="timereported" dateFormat="rfc3339" position.from="6" position.to="7")
    constant(value=".")
    property(name="timereported" dateFormat="rfc3339" position.from="9" position.to="10")
}


# 
if $syslogfacility-text == "local7" and $syslogtag == "nginx:" then {
    local7.* action(
                type="omelasticsearch"
                template="rawmsg"
                searchIndex="nginx-index"
                dynSearchIndex="on"
                server="127.0.0.1"
                bulkmode="on"
                action.resumeretrycount="-1"
                queue.fileName="nginx_access"
                queue.maxDiskSpace="5g"
                queue.saveOnShutdown="on"
                )
    stop
}

3> 配置 Kibana 



注:

nginx  error_log 无法直接配置格式需修改代码;


Nginx日志配置远程Syslog采集

本文将指引你:如何对Nginx日志进行采集,并通过Syslog协议,自动实时的发送到远程的集中日志分析中心,便于集中式的日志存储和管理,提高网站的运维效率。 第一步:初始化日志采集环境 先确保系统...

部署nginx+rsyslog补丁

nginx 配置: user nginx; worker_processes 1; syslog local5 nginx; error_log /var/log/nginx/nginx_...

rsyslog 同时发生nginx 访问日志和错误日志

input(type="imfile" File="/var/log/nginx/access.log" Tag="zjzc-frontend01-access" Severity="info" Fa...

nginx 1.4.7 发送日志到rsyslog

tar -xzf nginx-1.4.7.tar.gz # cd nginx-1.4.77 # ./configure --user=www --group=www --prefix=/usr/loc...

rsyslog收集nginx日志配置

rsyslog日志收集配置 rsyslog服务器收集各服务器的日志,并汇总,再由logstash处理 请查看上一篇文章  http://bbotte.blog.51cto.com/6205...
  • dxm2025
  • dxm2025
  • 2015年03月12日 11:18
  • 667

rsyslog收集nginx日志配置

rsyslog日志收集配置 rsyslog服务器收集各服务器的日志,并汇总,再由logstash处理 请查看上一篇文章 http://bbotte.blog.51cto.com/6205307/1...

nginx 日志和监控

原文地址:http://nginx.com/resources/admin-guide/logging-and-monitoring/ 交流地址:http://lingang.me/blog/view...

Logstash+Redis+Elasticsearch+Kibana 快速搭建Nginx日志查询系统

Logstash+Redis+Elasticsearch+Kibana Nginx日志查询系统 环境 elasticsearch-0.90.5.zip kibana-latest.zip redis...

Tutorial: 使用rsyslog向kafka, elasticsearch推送日志

本文介绍了一种简单易行的使用rsyslog向kafka,elasticsearch推送日志的方法;rsyslog的omkafka插件的安装、使用方法;rsyslog的omelasticsearch插件...

Flume采集rsyslog日志并发送到elasticsearch上

centos 6.4通过flume采集rsyslog发送的linux secure日志,并发送到ES中,通过kibana来展现。...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:利用Rsyslog向ElasticSearch推送nginx access日志
举报原因:
原因补充:

(最多只允许输入30个字)