最近ELK(elasticsearch+logstash+kibana)学习小结

前提:处理大数据日志收集分析,随着搜索集群的快速膨胀,大量日志处理及情况反馈滞后带来一系列问题,亟需一个工具能快速分析定位集群中那种日志或那个机器出现了异常。运维的日志分析系统定制化较重,分析不够实时。故找一个RTF工具可以直接即上手。

1、简介:

logstash日志收集分发到elastic集群,elasticsearch进行数据索引,kibana进行结构化查询展示,redis做缓存队列。

2、安装:

logstash,新版下载即可用,需加配置文件agent.conf和index.conf,当然最好途径是官网sample即得即用。

网址:http://logstash.net/

elasticsearch,下载新版,有个wrapping下载解压到bin/servic目录即可使用,中文版需要下载rtf版本或安装插件。

网址:附上高人git://github.com/medcl/elasticsearch-rtf.git 的集成版,or官网

kibana,查询结果图形展示分析

Visit Elasticsearch.org for the full Kibana documentation.无须多说,这句就够了。

3、配置:

logstash,通过agent方式收集到中心服务,并通过index doc方式发送数据给elasticsearch,故可以配置多个一对一日志收集或多c到s的日志收集模式,即客户端到服务端收集模式

配置简介:http://langke.name/tag/kibana

本人试用配置:agent.conf

input {
        file {
                type => "ses_access"
                path => ["/log/demo.log"]
        }
}
output {
        redis {
                host => "localhost"
                data_type => "list"
                key => "logstash:redis"
        }
}

index.conf

input {
    redis {
        host => '127.0.0.1'
        data_type => 'list'
        port =>  '6379'
        key => 'logstash:redis'
        type => 'redis-input'
        }
}
output {
    elasticsearch {
        embedded => false
        protocol => "http"
        host => "localhost"
        port => "9200"
        }
}

elasticsearch下载安装后,即可直接使用,默认配置已开启

注意:config/elasticsearch.yml通常需添加http的配置:kibana才能通过http接口访问

http.cors.enabled: true
http.cors.allow-origin: "*"

kibana查看配置config/kibana.yml,elas的端口是否正确

ok,基础配置已有

4、启动测试

bin/service/elasticsearch console

bin/logstash -f agent.conf --verbose -l log-ag.log

bin/logstash agent -f indexer.conf --verbose -l log-es.log

默认logstash已经安装kibana插件可以直接享用了

查看:http://localhost:9292/index.html#/dashboard/file/logstash.json

UTC时间问题:

logstash:

修改logstash/lib/logstash/event.rb 可以解决这个问

.withZone(org.joda.time.DateTimeZone::UTC)

修改为

.withZone(org.joda.time.DateTimeZone.getDefault())

看到数据恭喜你已经迈出了成功的一步!!

参考:http://langke.name/tag/kibana

展开阅读全文

没有更多推荐了,返回首页