001-ELKStack之Elasticearch

ELKStack 之 Elasticsearch

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介绍

Elasticsearch首先须要Java环境,因此须要提早安装好JDK,能够直接使用yum安装。也能够从Oracle官网下载JDK进行安装。开始以前要确保JDK正常安装而且环境变量也配置正确: 准备两台服务器node

Java安装

yum install -y javapython

配置安装ElasticSearch

yum 安装
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

配置es

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插件介绍

Head插件

插件做用:主要是作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/编程

Bigdesk插件

插件做用:性能监控 Github下载:https://github.com/lukas-vlcek/bigdesk 提示:由于咱们使用yum安装的最新版本,bigdesk暂时不支持最新版本 正常访问地址:http://localhost:9200/_plugin/bigdesk/json

Kopf插件

插件做用:kopf是一个简单的网络管理工具 Kopf再也不维护。已经开发了替代品(cerebro),目前维护在https://github.com/lmenezes/cerebro。在这一点上,cerebro应该有至关于kopf的功能,顶部有一些新的功能 Github地址:https://github.com/lmenezes/elasticsearch-kopf 正常访问地址:http://localhost:9200/_plugin/kopf/

相关文章
相关标签/搜索