一.版本
软件 | 版本 | 备注 |
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后台启动。
需分别指定两个配置文件启动两个服务:
./logstash -f ../conf/tomcat_agent.conf
./logstash -f ../conf/tomcat_index.conf
加上--configtest 可对配置进行测试;也可nohup后台启动。
5.启动tomcat并产生日志
6.进入kibana界面
http://192.168.14.128:5601/
创建索引,界面如下:
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