做Android 3年,对网络不是很关注,现在再看让我吃一惊,很多以前期望的功能都开源了,而且功能强大,就试用了一下。
简单试用
下载elasticsearch-1.4.2并启动
下载logstash-1.4.2, 运行下面的命令
bin/logstash -e ‘input { stdin { } } output { elasticsearch { host => localhost } }‘
在console 输入的数据都会被 logstash转入到 elasticsearch (所以 logstash 就是个数据 glue 或 称为 connector)
发现多了一个index ( 但也多了一个没有用的 Node ,待以后了解)
下载 kibana-3.1.0, kibana只是js,放到web app 目录下就可以了
我放到 /var/lib/tomcat6/webapps/ROOT/
而后访问 http://10.15.4.207:8080/kibana-3.1.0/index.html
但它却包错说连接不到 elasticsearch, 查多多篇资料,用下面的方法解决
改 elasticsearch.yml , 添加下面两行
http.cors.enabled: true
http.cors.allow-origin: /https?:\/\/<*your\.kibana\.host*>(:[0-9]+)?/
看到 Kibana的界面
加入 redis
下载 redis-2.8.19
make 后运行 src/redis-server 启动服务
redis就是一个类似memcached的数据储存服务接口
这个试验其实很简单,用了两个 logstash 进程
第一个 feed, 读取 stdin 而后把数据发到 redis中
第二个 给index数据, logstash 读取 redis的数据 而后把数据提交给 elasticsearch
具体步骤,编辑 logstash.feed.conf
$ cat logstash.feed.conf
input {
stdin {
}
}
output {
stdout { }
redis { host => "127.0.0.1" data_type => "list" key => "logstash" }
}
并用 bin/logstash -f logstash.feed.conf 启动
编辑 logstash.index.conf (内容如下)
input {
redis
{
host => "127.0.0.1"
data_type =>"list"
key => "logstash"
type => "redis-input"
}
}
output
{
elasticsearch {
host => "localhost"
}
}
在 feed 的console 输入数据,再到 Kibana窗口中检查
数据成功导入了。
有了强大的工具,我最近没有干互联网,但也在构思它的可用之处。
ref:
http://www.cnblogs.com/xiaouisme/p/3977721.html
http://www.cnblogs.com/buzzlight/p/logstash_elasticsearch_kibana_log.html
http://tinytub.github.io/logstash-install.html
http://blog.csdn.net/longxibendi/article/details/35237543
http://m.oschina.net/blog/179848