摘要

使用Elasticsearch、Logstash、Kibana与Redis(作为缓冲区)对Nginx日志进行收集


版本

elasticsearch版本: elasticsearch-2.2.0

logstash版本: logstash-2.2.2

kibana版本: kibana-4.3.1-darwin-x64

jdk版本: jdk1.8.0_65

内容

目标架构

准备工作

参考以下文章安装好ELK与Redis

ELK Stack (1) —— ELK + Redis安装

以CAS系列中的使用的Nginx负载均衡器为例

CAS (1) —— Mac下配置CAS到Tomcat(服务端)

CAS (5) —— Nginx代理模式下浏览器访问CAS服务器配置详解

ELK配置

  • Nginx

    修改nginx.conf

    log_format logstash '$http_host $server_addr $remote_addr [$time_local] "$request" '
    '$request_body $status $body_bytes_sent "$http_referer" "$http_user_agent" '
    '$request_time $upstream_response_time';

  • Elasticsearch

    修改elasticsearch.yml

    cluster.name: logstash_elasticsearch
    http.cors.allow-origin: "/.*/"
    http.cors.enabled: true

  • Logstash

    • /logstash/conf/logstash_agent.conf

      input {
      file {
      type => "nginx_access"
      path => ["/usr/share/nginx/logs/test.access.log"]
      }
      }
      output {
      redis {
      host => "localhost"
      data_type => "list"
      key => "logstash:redis"
      }
      }
    • /logstash/conf/logstash_indexer.conf

      input {
      redis {
      host => "localhost"
      data_type => "list"
      key => "logstash:redis"
      type => "redis-input"
      }
      }
      filter {
      grok {
      match => [
      "message", "%{WORD:http_host} %{URIHOST:api_domain} %{IP:inner_ip} %{IP:lvs_ip} \[%{HTTPDATE:timestamp}\] \"%{WORD:http_verb} %{URIPATH:baseurl}(?:\?%{NOTSPACE:request}|) HTTP/%{NUMBER:http_version}\" (?:-|%{NOTSPACE:request}) %{NUMBER:http_status_code} (?:%{NUMBER:bytes_read}|-) %{QS:referrer} %{QS:agent} %{NUMBER:time_duration:float} (?:%{NUMBER:time_backend_response:float}|-)"
      ]
      }
      kv {
      prefix => "request."
      field_split => "&"
      source => "request"
      }
      urldecode {
      all_fields => true
      }
      #date {
      # type => "log-date"
      # match => ["timestamp" , "dd/MMM/YYYY:HH:mm:ss Z"]
      #}
      date {
      match => ["logdate" , "dd/MMM/YYYY:HH:mm:ss Z"]
      }
      }
      output {
      elasticsearch {
      #embedded => false
      #protocol => "http"
      hosts => "localhost:9200"
      index => "access-%{+YYYY.MM.dd}"
      }
      }

    注意有些网络示例为旧版本配置,新版本下output的embedded、protocol以及filter的date都有所更新。

  • Kibana

    创建Index Pattern: access-*

测试

访问本地Kibana http://localhost:5601/

参考

参考来源:

elk+redis实现nginx日志集中化管理

ELK+redis搭建nginx日志分析平台

使用elk+redis搭建nginx日志分析平台

logstash elasticsearch redis Kibana 收集Nginx 和Tomcat日志配置

Elastic + kibana + logstash + redis 对mongodb, nginx日志进行分析

http://www.cnblogs.com/richaaaard/p/5210118.html

使用Elasticsearch、Logstash、Kibana与Redis(作为缓冲区)对Nginx日志进行收集(转)的更多相关文章

  1. 基于ELK5.1(ElasticSearch, Logstash, Kibana)的一次整合测试

    前言开源实时日志分析ELK平台(ElasticSearch, Logstash, Kibana组成),能很方便的帮我们收集日志,进行集中化的管理,并且能很方便的进行日志的统计和检索,下面基于ELK的最 ...

  2. 基于ELK5.1(ElasticSearch, Logstash, Kibana)的一次整合

    前言开源实时日志分析ELK平台(ElasticSearch, Logstash, Kibana组成),能很方便的帮我们收集日志,进行集中化的管理,并且能很方便的进行日志的统计和检索,下面基于ELK的最 ...

  3. 使用ELK(Elasticsearch + Logstash + Kibana) 搭建日志集中分析平台实践--转载

    原文地址:https://wsgzao.github.io/post/elk/ 另外可以参考:https://www.digitalocean.com/community/tutorials/how- ...

  4. (转)开源分布式搜索平台ELK(Elasticsearch+Logstash+Kibana)入门学习资源索引

    Github, Soundcloud, FogCreek, Stackoverflow, Foursquare,等公司通过elasticsearch提供搜索或大规模日志分析可视化等服务.博主近4个月搜 ...

  5. ELK6.0部署:Elasticsearch+Logstash+Kibana搭建分布式日志平台

    一.前言 1.ELK简介 ELK是Elasticsearch+Logstash+Kibana的简称 ElasticSearch是一个基于Lucene的分布式全文搜索引擎,提供 RESTful API进 ...

  6. 开源分布式搜索平台ELK(Elasticsearch+Logstash+Kibana)入门学习资源索引

    from:  http://www.w3c.com.cn/%E5%BC%80%E6%BA%90%E5%88%86%E5%B8%83%E5%BC%8F%E6%90%9C%E7%B4%A2%E5%B9%B ...

  7. Elasticsearch+Logstash+Kibana搭建分布式日志平台

    一.前言 编译安装 1.ELK简介 下载相关安装包地址:https://www.elastic.co/cn/downloads ELK是Elasticsearch+Logstash+Kibana的简称 ...

  8. Elasticsearch + Logstash + Kibana 搭建教程

    # ELK:Elasticsearch + Logstash + Kibana 搭建教程 Shipper:日志收集者.负责监控本地日志文件的变化,及时把日志文件的最新内容收集起来,输出到Redis暂存 ...

  9. CentOS 6.x ELK(Elasticsearch+Logstash+Kibana)

    CentOS 6.x ELK(Elasticsearch+Logstash+Kibana) 前言 Elasticsearch + Logstash + Kibana(ELK)是一套开源的日志管理方案, ...

随机推荐

  1. 使用Maven构建和部署J2EE应用程序的EAR文件

    这篇文章.主要是技术上的整理,用来mark一下,用的时候參考. 一.新建项目 新建一个空的Maven Project项目 二.放入依赖 注:ear部署时假设里面有entity,会错误发生.所以不要把e ...

  2. C#动态增加边框

    if (this.Width >= 600) { timer1.Enabled = false; } else { this.Width += 30; }

  3. android平板Home键的监听

    关于android4.2平板Home键的监听 1.android4.0以上的平板Home键是不能屏蔽的,至少在应用层是这样.但是可以监听Home键的触发,主要是通过广播的监听来接受Hone键的触发广播 ...

  4. BZOJ 3685: 普通van Emde Boas树( 线段树 )

    建颗权值线段树就行了...连离散化都不用... 没加读入优化就TLE, 加了就A掉了...而且还快了接近1/4.... ---------------------------------------- ...

  5. jQuery手写几个常见的滑动下拉菜单 分分秒秒学习JS

    一般的企业网站再我们再实际工作中,有些特效,用jQuery来做,显得极其简单,除非一些大的公司,需要封装自己的类. 今天,我们讲解jQuery入门知识,来写几个简单jQuery滑动下拉菜单.感受一下j ...

  6. 基于Server-Sent Event的简单聊天室 Web 2.0时代,即时通信已经成为必不可少的网站功能,那实现Web即时通信的机制有哪些呢?在这门项目课中我们将一一介绍。最后我们将会实现一个基于Server-Sent Event和Flask简单的在线聊天室。

    基于Server-Sent Event的简单聊天室 Web 2.0时代,即时通信已经成为必不可少的网站功能,那实现Web即时通信的机制有哪些呢?在这门项目课中我们将一一介绍.最后我们将会实现一个基于S ...

  7. gitflow 在windows下的安装方法

    Git flow是git的一个扩展集,它基于Vincent Driessen的分支模型,可以用来简化代码的版本发布流程. 本文讲述如何为msysgit安装git flow. 下载getopt.exe ...

  8. Thinkpad W520 完美安装Ubuntu14.04LTS

    Thinkpad W520 完美安装Ubuntu14.04LTS Ubuntu已经升级到14.04LTS,这是个长期支持的版本号.自从上次安装12.04LTS之后一直没有升级. 于是从站点上下载Ubu ...

  9. linux: 鸟哥的私房菜

    鸟哥的私房菜 http://vbird.dic.ksu.edu.tw/linux_basic/0320bash.php

  10. 基于Tire树和最大概率法的中文分词功能的Java实现

    对于分词系统的实现来说,主要应集中在两方面的考虑上:一是对语料库的组织,二是分词策略的制订. 1.   Tire树 Tire树,即字典树,是通过字串的公共前缀来对字串进行统计.排序及存储的一种树形结构 ...