您的位置:首页 > 其它

ELK搭建记录

2016-06-17 15:05 225 查看

一.版本

软件
版本
备注
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指定key;index用于到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/ 
创建索引,界面如下:



切换到Discover界面,并搜索数据:



常用资料地址: http://www.chepoo.com/elasticsearcharticles http://es.xiaoleilu.com/index.html https://www.elastic.co/guide/en/elasticsearch/client/java-api/current/index.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: