ELK搭建记录

一.版本

软件

版本

备注

jdk

1.8

至少1.8

elasticsearch

2.3.2

 

logstash

2.3.2

 

kibana

4.5.0

 

redis

3.3.0


二. 整体介绍

logstash分为agent(也称shiping)index(也称indexing),是两种角色。agent用于收集日志,将日志写入redis指定keyindex用于到redis读取指定key数据,读完将数据删除(注:消息的数据源写入量大于logstash处理速度时,会导致消息丢失,此时才需要将logstash拆分为两个角色,一个用作读,一个用作写。如果日志量不大,完整可以直接输出到ES)。

es用于搜索日志信息,提供搜索服务。

kibana提供可视图形分析界面。


三.安装

各软件安装过程略,后续介绍启动命令。


四.启动redis

1.编辑redis的配置文件,主要修改里面“daemonize yes”,后台启动。
2.启动redis:
# ./redis-cli ../conf/redis.conf

五.启动es

es不能用root启动,参数-d为后台启动:
$ ./elasticsearch -d

六.启动kibana

nohup /home/edianzu/kibana-4.5.0/bin/kibana & 
或直接启动,观察日志(kibana比较容易宕)


七.logstash配置与启动

1.在es/bin同级目录创建conf目录,用于放置配置文件。
2.创建tomcat_agent.conf,用于写日志到redis,内容如下:

input {
    file {
        type => "tomcat_error"
        tags => [ "tomcat_error", "log4j" ]  # 只是个标签名称
        path => "/home/centos/tomcat-erp/logs/catalina.out" # tomcat错误日志存放路径 自行定义
    }
}

output {
    stdout {
            codec => rubydebug     # 标准输出插件的输出类型
        }
    redis {
        host => "127.0.0.1"
        port => 6379
        data_type => "list"
        key => "logstash-redis"
     #   password => "123456"
        db => 0
    }
}

3.创建tomcat_index.conf,用于读取redis数据到es,内容如下:
input {
    redis {
        host => "127.0.0.1"
        port => 6379
        data_type => "list"
        key => "logstash-redis"
        db => 0
    }
}

output {
elasticsearch {
    hosts  => "127.0.0.1:9200"     # ElasticSearch地址与端口,可以为array.
    index => "logstash-erp"     # 指定logstash进行索引的名称
    }
}

注:key内容需与agent中一致。

4.启动服务
需分别指定两个配置文件启动两个服务:
./logstash -f ../conf/tomcat_agent.conf 
./logstash -f ../conf/tomcat_index.conf 
加上--configtest 可对配置进行测试;也可nohup后台启动。

5.启动tomcat并产生日志
6.进入kibana界面
http://192.168.14.128:5601/ 
创建索引,界面如下:
ELK搭建记录_第1张图片

切换到Discover界面,并搜索数据:
ELK搭建记录_第2张图片


常用资料地址:
http://www.chepoo.com/elasticsearcharticles
http://es.xiaoleilu.com/index.html
https://www.elastic.co/guide/en/elasticsearch/client/java-api/current/index.html

你可能感兴趣的:(架构设计)