PHPELK文集

ElasticSearch,LogStash,Kibana搭建实

2017-05-26  本文已影响555人  wangxiaoda

ELK由ElasticSearch、Logstash和Kiabana三个开源工具组成
ELK官网地址:https://www.elastic.co/products
最新版本5.3.1

ELK包括

image.png

在需要收集日志的所有服务上部署logstash,作为logstash agent(logstash shipper)用于监控并过滤收集日志,将过滤后的内容发送到logstash indexer,logstash indexer将日志收集在一起交给全文搜索服务ElasticSearch,可以用ElasticSearch进行自定义搜索通过Kibana 来结合自定义搜索进行页面展示。

使用ELKstack的好处

1、开发人员不能登录线上服务器查看详细日志。使用ELKstack,他们查看日志非常方便和高效。
2、各个系统都有日志,日志数据分散难以查找。使用ELKstack集中展示日志,展现和搜索更加友好和方便。
3、日志数据量大,查询速度慢,或者数据不够实时。使用ELKstack,日志可由高性能服务器集中处理和展示。
4、一个调用会涉及多个系统,难以在这些系统的日志中快速定位数据。使用ELKstack,集中管理展示日志。

image.png

Logstash进程先收集日志,把收集到的东西放转存到 Redis 里面存储,然后又一个 Logstash 进程从 Redis 里面读取数据,写入 ElasticSearch 中存储,最后 Kibana 从 ElasticSearch 里面获取日志。

安装

ElasticSearch,LogStash需要java环境。java环境安装具体过程略。
在官网下载最新应用包:

image.png

安装Logstash
安装logstash只需将它解压的对应目录即可,例如:/usr/local下:

tar –zxf logstash-1.5.2.tar.gz -C /usr/local/
image.png

使用CTRL-C命令可以退出之前运行的Logstash。

image.png

这时候,在/usr/local/logstash-5.3.2/logs目录会有日志文件

image.png

查看日志内容

vi logstash-plain.log
image.png

logstash文档地址:
http://udn.yyuap.com/doc/logstash-best-practice-cn/index.html

安装Elasticsearch
解压到对应的目录就完成Elasticsearch的安装

unzip elasticsearch-5.3.2.zip -d /usr/local/

logstash Hello World

bin/logstash -e 'input{stdin{}}output{stdout{codec=>rubydebug}}'

然后你会发现终端在等待你的输入。没问题,敲入 Hello World,回车,然后看看会返回什么结果!

{
       "message" => "Hello World",
      "@version" => "1",
    "@timestamp" => "2014-08-07T10:30:59.937Z",
          "host" => "raochenlindeMacBook-Air.local",
}
image.png

通过配置文件启动logstash

/usr/local/logstash/bin/logstash -f /usr/local/logstash/etc/central.conf
image.png

启动Elasticsearch

/usr/local/elasticsearch-5.3.2/bin/elasticsearch

确认elasticsearch的9200端口已监听,说明elasticsearch已成功运行

netstat -na |grep :9200

为了操作方便,/usl/local目录软连接下

cd /usr/local/
ln -s elasticsearch-5.3.2 elasticsearch 
ln -s logstash-5.3.2 logstash
ln -s kibana-5.3.2-darwin-x86_64 kibana

以上操作完成后,在/usr/local 目录下执行 ls -trl 命令

image.png

接下来我们在logstash安装目录下创建一个用于测试logstash使用elasticsearch作为logstash的后端的测试文件logstash-es-simple.conf,该文件中定义了stdout和elasticsearch作为output,这样的“多重输出”即保证输出结果显示到屏幕上,同时也输出到elastisearch中。
创建测试文件logstash-es-simple.conf

vi logstash-es-simple.conf

其内容:

input { stdin { } }
output {
   elasticsearch {host => "localhost" }
   stdout { codec=> rubydebug }
}

启动kibana

 /usr/local/kibana/bin/kibana
image.png

访问链接http://localhost:5601

image.png
上一篇 下一篇

猜你喜欢

热点阅读