今天接着《ElasticSearch实战-日志监控平台》一文来给你们分享后续的学习,在《ElasticSearch实战-日志监控平台》中给你们介绍一个日志监控平台的架构方案,接下来给你们分享如何去搭建部署这样一个平台,给你们作一个入门介绍。下面是今天的分享目录:html
下面开始今天的内容分享。java
搭建 Elastic 套件较为简单,下面咱们开始去搭建部署相关套件,首先咱们准备必要的环境。node
你们能够 Elastic 的官方网站下载对应的安装包,地址以下所示:redis
[下载地址]json
另外,一个基础环境就是须要用到 JDK,ES 集群依赖 JDK,地址以下所示:架构
[下载地址]oracle
这里咱们将 Logstash 的服务部署在中心节点中,其核心配置文件以下所示:elasticsearch
input { redis { host => "10.211.55.18" port => 6379 type => "redis-input" data_type => "list" key => "key_count" } } filter { grok { match => ["message", "%{IPORHOST:client} (%{USER:ident}|-) (%{USER:auth}|-) \[%{HTTPDATE:timestamp}\] \"(?:%{WORD:verb} %{NOTSPACE:request}(?: HTTP/%{NUMBER:http_version})?|-)\" %{NUMBER:response} %{NUMBER:bytes} \"(%{QS:referrer}|-)\" \"(%{QS:agent}|-)\""] } kv { source => "request" field_split => "&?" value_split => "=" } urldecode { all_fields => true } } output { elasticsearch { cluster => "elasticsearch" codec => "json" protocol => "http" } }
其代理节点,分别部署在日志生产节点之上,核心配置文件以下所示:ide
input { file { type => "type_count" path => ["/home/hadoop/dir/portal/t_customer_access.log"] exclude => ["*.gz", "access.log"] } } output { stdout {} redis { host => "10.211.55.18" port => 6379 data_type => "list" key => "key_count" } }
接着,咱们部署 ES 集群,配置较为简单,其配置内容以下所示:工具
node.name: "node1"
这里我只配置了其节点名称信息,集群名称使用默认的,若你们须要配置其余信息可自行处理,须要注意的是,这里在实用 scp 命令分发到其余节点时,须要修改其属性值,保持每一个节点的 node.name 值不同便可。
另外,在安装插件 ES 集群的相关插件时,可使用如下命令:
sudo elasticsearch/bin/plugin -install mobz/elasticsearch-head
sudo elasticsearch/bin/plugin -install lukas-vlcek/bigdesk
其对应的 Web UI 界面以下图所示:
关于其余的 ES 集群的插件,搭建能够根据实际业务需求进行选择性的安装,这里就很少赘述了。
这里咱们须要安装一个可以去可视化 ES 集群数据的工具,这里咱们选择 Kibana 工具去可视化咱们的数据,其安装较为简单,只需配置对应的核心文件便可,配置以下:
kibana.yml
elasticsearch_url: "http://10.211.55.18:9200"
这里去可视化 node1 节点 ES 集群中数据。
接着,咱们启动整个系统,启动步骤以下所示:
[hadoop@dn1 ~]$ redis-server &
bin/logstash agent --verbose --config conf/shipper.conf --log logs/stdout.log &
bin/logstash agent --verbose --config conf/central.conf --log logs/stdout.log &
bin/elasticsearch start
bin/kibana
这里,咱们能够预览收集的日志,日志信息我只抽取了几条,截图以下:
咱们还可使用筛选功能,选取咱们须要观察的数据结果,这里咱们筛选了 IP 和 AppName 属性进行观察,以下图所示:
这里须要注意的是,如果咱们首次启动 Kibana 服务,收集日志信息为空的状况下,在咱们建立索引时,Settings 模块下的界面中 Create 按钮会是灰色状态,致使没法建立,这里你们在建立的时候须要保证咱们有日志已被收集存储到 ES 集群。以下图,因为我已收集存储日志到 ES 集群,因此按钮呈现绿色状态,供点击建立。以下图所示:
这篇博客就和你们分享到这里,若是你们在研究学习的过程中有什么问题,能够加群进行讨论或发送邮件给我,我会尽我所能为您解答,与君共勉!