ELK Stack 是 Elasticsearch、Logstash、Kibana 三个开源软件的组合。在实时数据检索和分析场合,三者一般是配合共用,并且又都前后归于 Elastic.co 公司名下,故有此简称。 ELK Stack 在最近两年迅速崛起,成为机器数据分析,或者说实时日志处理领域,开源界的第一选择。和传统的日志处理方案相比,ELK Stack 具备以下几个优势: ELKStack简介 ELK Stack 是 Elasticsearch、Logstash、Kibana 三个开源软件的组合。在实时数据检索和分析场合,三者一般是配合共用,并且又都前后归于 Elastic.co 公司名下,故有此简称。 ELK Stack 在最近两年迅速崛起,成为机器数据分析,或者说实时日志处理领域,开源界的第一选择。和传统的日志处理方案相比,ELK Stack 具备以下几个优势:html
• 处理方式灵活。Elasticsearch 是实时全文索引,不须要像 storm 那样预先编程才能使用; • 配置简易上手。Elasticsearch 所有采用 JSON 接口,Logstash 是 Ruby DSL 设计,都是目前业界最通用的配置语法设计; • 检索性能高效。虽然每次查询都是实时计算,可是优秀的设计和实现基本能够达到全天数据查询的秒级响应; • 集群线性扩展。无论是 Elasticsearch 集群仍是 Logstash 集群都是能够线性扩展的; • 前端操做炫丽。Kibana 界面上,只须要点击鼠标,就能够完成搜索、聚合功能,生成炫丽的仪表板。 ELK地址:https://www.elastic.co/ Logstash 最佳实践:http://udn.yyuap.com/doc/logstash-best-practice-cn/index.html Elasticsearch 权威指南:http://www.learnes.net/index.html ELKStack中文社区:https://kibana.logstash.es/content/
对于日志来讲,最多见的需求就是收集、存储、查询、展现,开源社区正好有相对应的开源项目:logstash(收集)、elasticsearch(存储+搜索)、kibana(展现),咱们将这三个组合起来的技术称之为ELKStack,因此说ELKStack指的是Elasticsearch(java)、Logstash(jruby)、Kibana技术栈的结合,一个通 用的架构以下图所示:前端
图片解释:elk 前面主要靠logstash来进行收集日志,logstash将日志上传到broker上,后面还有一个logstash用来读取broker中的日志,在将日志存储到es里面,最后用kibana练到es上进行展现java
Elasticsearch首先须要Java环境,因此须要提早安装好JDK,能够直接使用yum安装。也能够从Oracle官网下载JDK进行安装。开始以前要确保JDK正常安装而且环境变量也配置正确: 准备两台服务器node
yum install -y javapython
1.下载并安装GPG key rpm --import https://packages.elastic.co/GPG-KEY-elasticsearch 2.添加yum仓库 [root@linux-node1 ~]# cat /etc/yum.repos.d/elasticsearch.repo [elasticsearch-2.x] name=Elasticsearch repository for 2.x packages baseurl=http://packages.elastic.co/elasticsearch/2.x/centos gpgcheck=1 gpgkey=http://packages.elastic.co/GPG-KEY-elasticsearch enabled=1 3.安装elasticsearch yum install -y elasticsearch
wget https://download.elastic.co/elasticsearch/elasticsearch/elasticsearch-1.7.2.tar.gz tar xf elasticsearch-1.7.2.tar.gz -C /usr/local/ ln -s /usr/local/elasticsearch-1.7.2 /usr/local/elasticsearch
vim /etc/elasticsearch/elasticsearch.yml cluster.name: myes #ES集群名称 node.name: node-1 #节点名称 path.data: /data/es-date #数据存储的目录(多个目录使用逗号分隔) path.logs: /var/log/elasticsearch #日志格式 bootstrap.memory_lock: true #锁住es内存,保证内存不分配至交换分区 network.host: 192.168.83.20 #设置本机IP地址 http.port: 9200 #端口默认9200
mkdir -p /data/es-date/ chown -R elasticsearch:elasticsearch /data/es-date/ systemctl start elasticsearch.service #这个是咱们存放数据的目录,手动建立
es默认发现有组播和单播,组播就是都加入到一个组里面,单播就是一对一通讯 提示: yum安装时会少了许多配置,若是编译安装就会产生不少。linux
两台都配置 Elasticsearch提供了很是多的插件,还可使用curl进行通信git
[root@3 data]# curl -i -XGET 'http://192.168.83.30:9200/_count?' HTTP/1.1 200 OK Content-Type: application/json; charset=UTF-8 Content-Length: 59 {"count":0,"_shards":{"total":0,"successful":0,"failed":0}}
插件做用:主要是作es集群管理的插件 Github下载地址:https://github.com/mobz/elasticsearch-headgithub
[root@test2 data]# /usr/share/elasticsearch/bin/plugin install mobz/elasticsearch-head -> Installing mobz/elasticsearch-head... Trying https://github.com/mobz/elasticsearch-head/archive/master.zip ... Downloading ....................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................DONE Verifying https://github.com/mobz/elasticsearch-head/archive/master.zip checksums if available ... NOTE: Unable to verify checksum for downloaded plugin (unable to find .sha1 or .md5 file to verify) Installed head into /usr/share/elasticsearch/plugins/head
访问:http://ip地址:9200/_plugin/head/编程
插件做用:性能监控 Github下载:https://github.com/lukas-vlcek/bigdesk 提示:由于咱们使用yum安装的最新版本,bigdesk暂时不支持最新版本 正常访问地址:http://localhost:9200/_plugin/bigdesk/json
插件做用:kopf是一个简单的网络管理工具 Kopf再也不维护。已经开发了替代品(cerebro),目前维护在https://github.com/lmenezes/cerebro。在这一点上,cerebro应该有至关于kopf的功能,顶部有一些新的功能 Github地址:https://github.com/lmenezes/elasticsearch-kopf 正常访问地址:http://localhost:9200/_plugin/kopf/