开始在公司实施的小应用,慢慢完善之~~~~~~~~文档制作 了好作运维同事之间的前期普及。。

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

软件下载地址:

https://www.elastic.co/downloads

在实际部署中,根据服务器的性能配置,ELK可部署在同一个机器上,也可以分别安装在不同的机器上,只要能保证网络连通。但建议ElasticSearch和Kibana部署在同一个机器上,这样可以加快检索速度。

Shipper: 分布式部署在各应用服务器,收集并转发日志。

Broker:将日志集中收集、排队并转发。

Indexer:收集和转发数据至ElasticSearch。在ElasticSearch建立索引并存储日志数据。

Web interface:基于nginx的Kibana3 http访问接口,提供UI搜索ElasticSearch的数据。

一,ElasticSearch

1,解压elasticsearch-1.4.4.tar.gz

2,启动命令bin/elasticsearch

3,通过http://ip:9200/验证

二,Logstash

1,解压logstash-1.4.2.tar.gz

2.a 作为indexer文件的logstash.conf(样例,从REDIS里获取数据)

input {

redis {

host => '10.x.x.x'(REDIS的地址)

data_type => 'list'

port => "6379"

key => 'logstash:redis'

type => 'redis-input'

}

}

  • output {

elasticsearch {

host => "10.x.x.x"(elasticsearch的地址)

}

}

2.b 作为shipper的logstash.conf配置(样例,将日志注入REDIS,可作过滤)

input {

file {

type => "app_ip_java_debug"

path => "/var/logs/tomcat/*.out"

}

}

#filter {

#       grep {

#       match => [ "@message", "freshclam" ]

#            }

#       }

  • output {

redis {

host => '10.x.x.x'(送出到REDIS的地址)

data_type => 'list'

key => 'logstash:redis'

}

}

3,启动命令bin/logstash agent -f logstash.conf

三,Redis

1,  下载redis-2.8.18.tar.gz

2,  安装参考http://blog.csdn.net/testcs_dn/article/details/39756477

四,Kibana

1,  解压kibana-4.0.0-linux-x64.tar.gz

2,  编辑conf/kibana.yml文件(将elasticseach服务地址定位)

elasticsearch_url: "http://localhost:9200"

3,  启动命令bin/kibana

4,  通过http://ip:5601/验证

五,附录(网上其它类似配置和搜索条件)

以nginx访问日志为例,配置如下:

1)Shipper.conf

input {

file {

type => "nginx"

path => [ "/nginx/path/logs/access.log" ]

start_position => "beginning"

sincedb_path => "/some/place/sincedb_nginx"

}

}

filter {

grok {

match => [ "message", "%{IP:client} (%{USER:indent}|-) (%{USER:auth}|-) \[%{HTTPDATE:local_time}\] \"%{WORD:method} (?<request_url>%{URIPATH})(?<request_params>%{URIPARAM}) HTTP/%{NUMBER:protocol}\" %{NUMBER:status} %{NUMBER:bytes_sent} %{QS:http_referer} %{QS:user_agent}" ]

}

date {

locale => "en"

match => [ "local_time", "dd/MMM/YYYY:HH:mm:ss Z" ]

timezone => "Asia/Shanghai"

}

}

output {

redis {

host => "192.168.1.130"

port => 6379

data_type => "list"

key => "nginx"

}

}

2) Indexer.conf

input {
    redis {
        host => "192.168.1.130"
        port => 6379
        # these settings should match the output of the agent
        data_type => "list"
        key => "nginx"
        codec => json
    }
}
 
output {
    elasticsearch_http {
        host => "192.168.1.130"
        index => "%{type}-%{+YYYY.MM.dd}"
        index_type =>"%{type}"
        flush_size => 1000
    }
}

Kibana查询介绍

Kibana查询语法遵循Lucene的语法规范

常用的有以下几种

1)逻辑查询

操作符:AND(&&), OR(||), NOT(!)
优先级:! > && > ||
默认情况下是或操作,如:field:(hello world)匹配field值为hello或world的事件

2)范围查询

支持类型:date,数值,字符串
闭区间:[min to max]  等价于 >=min && <= max
开区间:{min to max} 等价于 >min && <max
半开闭区间: [min to max} {min to max]
 
NOTE: 对于date和数值类型,min或max可以使用*

3)子查询

使用(),如: field:(hello world),(hello world)为一子查询

4)通配符

?:匹配一个字符
*: 匹配0个或多个字符
 
NOTE:通配符会导致使用大量内存,从而降低响应速度,要慎用

5)保留字符转义

保留字符有:+ - && || ! ( ) { } [ ] ^ " ~ * ? : \ /
如果搜索条件中含有保留字符,使用\转义

ELK( ElasticSearch+ Logstash+ Kibana)分布式日志系统部署文档的更多相关文章

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

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

  2. Centos6.5使用ELK(Elasticsearch + Logstash + Kibana) 搭建日志集中分析平台实践

    Centos6.5安装Logstash ELK stack 日志管理系统 概述:   日志主要包括系统日志.应用程序日志和安全日志.系统运维和开发人员可以通过日志了解服务器软硬件信息.检查配置过程中的 ...

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

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

  4. 基于CentOS6.5或Ubuntu14.04下Suricata里搭配安装 ELK (elasticsearch, logstash, kibana)(图文详解)

    前期博客 基于CentOS6.5下Suricata(一款高性能的网络IDS.IPS和网络安全监控引擎)的搭建(图文详解)(博主推荐) 基于Ubuntu14.04下Suricata(一款高性能的网络ID ...

  5. 键盘侠Linux干货| ELK(Elasticsearch + Logstash + Kibana) 搭建教程

    前言 Elasticsearch + Logstash + Kibana(ELK)是一套开源的日志管理方案,分析网站的访问情况时我们一般会借助 Google / 百度 / CNZZ 等方式嵌入 JS ...

  6. ELk(Elasticsearch, Logstash, Kibana)的安装配置

    目录 ELk(Elasticsearch, Logstash, Kibana)的安装配置 1. Elasticsearch的安装-官网 2. Kibana的安装配置-官网 3. Logstash的安装 ...

  7. ELK(elasticsearch+logstash+kibana)入门到熟练-从0开始搭建日志分析系统教程

    #此文篇幅较长,涵盖了elk从搭建到运行的知识,看此文档,你需要会点linux,还要看得懂点正则表达式,还有一个聪明的大脑,如果你没有漏掉步骤的话,还搭建不起来elk,你来打我. ELK使用elast ...

  8. 【linux】【ELK】搭建Elasticsearch+Logstash+Kibana+Filebeat日志收集系统

    前言 ELK是Elasticsearch.Logstash.Kibana的简称,这三者是核心套件,但并非全部. Elasticsearch是实时全文搜索和分析引擎,提供搜集.分析.存储数据三大功能:是 ...

  9. 【转】ELK(ElasticSearch, Logstash, Kibana)搭建实时日志分析平台

    [转自]https://my.oschina.net/itblog/blog/547250 摘要: 前段时间研究的Log4j+Kafka中,有人建议把Kafka收集到的日志存放于ES(ElasticS ...

随机推荐

  1. D - Constructing Roads - 2421

    题意:有一些村庄需要修一些道路是所有村庄都可以连接,不过有些道路已经修好了,问题最少还需要修建的道路长度是多少. 输入的第一行是一个N代表N个村庄,下面是一个N*N的矩阵,代表着q->j的距离, ...

  2. 给Eclipse提速的7个技巧(转载的)

      大约一个月前,我发表了一篇博客,其中介绍了对Eclipse的爱与恨. 有些人问我如何给Eclipse提速,这篇文章就来讨论这个问题.顺带提一下,这篇文章不是比较IDE,所以不要说你讨厌某个IDE而 ...

  3. 适配ios7

    if ([self respondsToSelector:@selector(edgesForExtendedLayout)]) { self.edgesForExtendedLayout = UIR ...

  4. AssertValid函数学习

    转自http://tsitao.blog.163.com/blog/static/29795822006914105840496/ VC的调试中,AssertValid和Dump函数的应用 CObje ...

  5. A+B问题(java)

    import java.util.Scanner; public class Main { public static void main ( String args[] ) { Scanner in ...

  6. Android应用程序安装与Launcher启动机制

      以下资料摘录整理自老罗的Android之旅博客,是对老罗的博客关于Android底层原理的一个抽象的知识概括总结(如有错误欢迎指出)(侵删):http://blog.csdn.net/luoshe ...

  7. 矩阵快速幂(入门) 学习笔记hdu1005, hdu1575, hdu1757

    矩阵快速幂是基于普通的快速幂的一种扩展,如果不知道的快速幂的请参见http://www.cnblogs.com/Howe-Young/p/4097277.html.二进制这个东西太神奇了,好多优秀的算 ...

  8. 计算方法(三)C#矩阵类库

    测量平差以及工科中常常用到矩阵的相关运算,因此自己写了一个,同时考虑到了类库的可用性,这次又重载了比较匀运算符,修正了一些问题 using System; using System.Collectio ...

  9. 菜鸟学习Ado.net笔记一:Ado.net学习之SqlHelper类

    using System; using System.Collections.Generic; using System.Text; using System.Data.SqlClient; usin ...

  10. mongodb的java客户端的设计思想

    链接见http://api.mongodb.org/java/current/?_ga=1.111551751.200271495.1409034486 整体结构分为