替代 logstash 默认 web 的 Kibana

Kibana 是跟 logstash 配套的一个 web 前端,比 logstash 默认的 9292 端口提供的 web 更为强大。

使用的前提是 logstash 已经能运行,配置很简单,按照官网提供的做就可以了:

1. 在 KibanaConfig.rb 修改 ES 的地址、端口
2. 安装 bundler 来解决依赖问题:
# apt-get install libcurl4-openssl-dev
# curl -L https://get.rvm.io | bash -s stable --ruby
# gem install bundler
# bundle install

除了上面这些,还可以修改 Kibana port、host 等,包括每页的条数等,都可以在 KibanaConfig.rb 中找到。
这里是 Kibana 的 infrastructure,可以参考下。另外,对于 ES 来说,也有一个第三方的前端可以用来监控查询,叫 elasticsearch-head,应该能满足基本的要求。

logstash 初体验

logstash 是用 JRuby 的,但是打包成了 jar 的包,下载即用。
下面这个是在单机上运行 LS:
# java -jar logstash-1.1.1-monolithic.jar agent -f logstash-simple.conf --log /var/log/logstash
注意:需要给机器分配足够的内存,否则会出现 HEAP 用完的错误,造成程序直接被 kill 退出。

这个可以附带一个 web:
# java -jar logstash-1.1.1-monolithic.jar agent -f logstash-simple.conf -- web --backend elasticsearch:///?local
注意那个 "–",其实是个分隔符,也可以像下面这样写,不过要开两个 shell:
# java -jar logstash-1.1.1-monolithic.jar agent -f logstash-simple.conf
# java -jar logstash-1.1.1.-monolithic.jar web --backend elasticsearch:///?local

默认开启这五个端口,其中 9200, 9300 是 ES 做监听的;9301, 9302 是 ES 跟 web interface 通讯;9292 是 web UI 的监听端口。
如果不开 web,则只有 9200,9300 以及 9301 这三个端口。

LS 的命令参数很简单,只分 agent 和 web 两种,具体的请看这里

LS 的收集方式分为 standalonecentralized
Continue reading