ELK平台的搭建
ELK是指Elasticsearch + Logstash + Kibaba三个组件的组合。本文讲解一个基于日志文件的ELK平台的搭建过程,有关ELK的原理以及更多其他信息,会在接下来的文章中继续研究。
在这个系统中,Elasticsearch主要充当一个全文检索和分析引擎,Logstash是一款分布式日志收集系统,Kibana可以为这个平台提供可视化的Web界面。
一、环境准备
三台虚拟机:m000,m001,m002,操作系统版本为Ubuntu-14.04
Elasticsearch-2.3.2
Logstash-2.3.2
Kibana-4.5.1
JDK-1.7.0_79
在该系统中ELK的关系如下图所示:
二、各组件的部署
ELK的运行依赖于Java环境,JDK可自行安装,本节主要讲Elasticsearch,Logstash和Kibaba的安装和配置过程。
1、Elasticsearch
(1)elasticsearch
下载地址:https://www.elastic.co/downloads/elasticsearch
下载好后,上传到m000:/usr/local/elk路径下解压缩,设置/usr/local/elasticsearch软连接指向该路径。进入ES_HOME/config目录中编辑elasticsearch.yml文件。设置network.host: m000,http.port: 9200设置访问地址和端口号,否则不能在浏览器中访问。设置cluster.name: es_cluster,node.name: m000,这两个参数主要设置ES集群的集群名称,以及这台机器在集群中的名称。设置path.data: /usr/local/elasticsearch/data,path.logs: /usr/local/elasticsearch/logs,这两个参数主要设置ES存储data和log的路径。
配置好后启动输入ES_HOME/bin/elasticsearch命令启动es(加入参数-d,es会在后台运行),正常启动如下图:
在另外一个命令窗口中检查启动状态,
也可在页面上查看,输入m000:9200,
经过上述操作检查无误后,可以将m000上的elasticsearch分发到m001和m002机器上,记得分发后修改各自的node.name以及network.host两个属性。网上很多关于Elasticsearch的安装中都说道,保持每台机器上的cluster.name属性一致时,如果将各自的es服务都启动,系统会自动将cluster name相同的机器组成一个集群。但是在本次操作中发现,这个描述对Elasticsearch-2.3.3版本无效,集群需要手动指定。分别修改m000, m001, m002三台机器上的elasticsearch.yml文件,在其中加入discovery.zen.ping.unicast.hosts: ["m000", "m001", "m002"]和discovery.zen.minimum_master_nodes: 2参数后,将m000-003上的elasticsearch服务启动才能组成一个集群。
(2)head插件
Elasticsearch可以安装很多插件,接下来我们安装一个head插件,用于查看集群相关信息。往往大多数生产环境中服务器都不能联外网,所以我们采取下载安装的方式。
Head插件的下载地址:https://github.com/mobz/elasticsearch-head
下载后,在ES_HOME/plugins路径下解压缩,重命名成head,并删除压缩包。这样,在启动m000, m001和m002上的ES服务后,在http://m000:9200/_plugin/head/可以在页面上看到如下信息:
在这个页面上可以看到有三台机器,其中m000是master节点,在该页面上可以查看各节点的其他信息。
(3)marvel插件
Marvel是Elasticsearch的管理和监控工具,它提供了一个叫做Sense的交互式控制台供用户通过浏览器直接与Elasticsearch进行交互。有关这个插件的联网安装方式,网上也有很多介绍,本文仍然以Offline方式安装marvel插件。
下载以下三个文件:
- https://download.elastic.co/elasticsearch/release/org/elasticsearch/plugin/license/2.3.3/license-2.3.3.zip
- https://download.elastic.co/elasticsearch/release/org/elasticsearch/plugin/marvel-agent/2.3.3/marvel-agent-2.3.3.zip
https://download.elasticsearch.org/elasticsearch/marvel/marvel-2.3.3.tar.gz
将这三个文件上传到m000:/usr/local/elk
hadoop@m000:/usr/local/elasticsearch/bin$ ./plugin install file:///usr/local/elk/license-2.3.3.zip
hadoop@m000:/usr/local/elasticsearch/bin$ ./plugin install file:///usr/local/elk/marvel-agent-2.3.3.zip
将m000:/usr/local/elasticsearch/plugins目录分发到m001和m002上。
第三个文件marvel-2.3.3.tar.gz会在Kibana部分用到。有关marvel的配置,可以参考官方网站:https://www.elastic.co/guide/en/marvel/current/configuration.html
关于使用,会在下面Kibana中讲解。
2、Logstash
下载地址:https://www.elastic.co/downloads/logstash
下载好后,上传到m000:/usr/local/elk路径下解压缩,设置/usr/local/logstash软连接指向该路径。
接下来用Logstash将Hadoop的yarn日志加载进来,进入LS_HOME,新建一个config_file目录存储自定义配置文件log.conf。
input {
file {
type => "hadoop-yarnlog"
path => "/usr/local/hadoop/logs/yarn-hadoop-resourcemanager-m000.log"
}
}
output {
elasticsearch {
hosts => "m000:9200"
index => "logstash-%{type}-%{+YYYY.MM.dd}"
template_overwrite => true
}
}
启动Logstash,LS_HOME/bin/logstash agent -f config_file/log.conf在ES的head页面可以看到多了一个logstash-hadoop-yarnlog的文件,下图中前面两个是marvel相关数据。
可以在数据浏览,基本查询,复合查询中对该文件进行相关的查询操作。比如输入时间参数查看最近4分钟的日志文件:
更多的查询操作,可以在对Elasticsearch进一步学习中讲解到。
3、Kibana
下载地址:https://www.elastic.co/downloads/kibana
下载好后,上传到m000:/usr/local/elk路径下解压缩,设置/usr/local/kibana软连接指向该路径。进入KB_HOME/config文件夹,编辑kibana.yml文件,设置server.port: 5601, server.host: "m000, elasticsearch.url: "http://m000:9200"。
启动kibaba,KB_HOME/bin/kibana, 正常启动可以在控制台中看到如下信息:
在浏览器中输入m000:5601,可以看到如下页面:
看到上图中的界面,表示ELK已经正常配置了,点击Create–>Discover
可以看到加载的日志文件中的一些数据。
最后继续在Kibana中把marvel插件安装完成。输入KB_HOME/bin/kibana plugin --install marvel --url file:///usr/local/elk/marvel-2.3.3.tar.gz如下图
启动kibana,浏览器访问m000:5601,点击选图中的红色方框,
在新窗口中选择Marvel,可以看到Elasticsearch集群的监控信息,
点击上图中的es_cluster,可以看到es_cluster集群中各节点详细监控信息,
有关Elasticsearch,Logstash,Kibana更多细节,后面继续补充。
ELK平台的搭建的更多相关文章
- Windows环境下ELK平台的搭建
.背景 日志主要包括系统日志.应用程序日志和安全日志.系统运维和开发人员可以通过日志了解服务器软硬件信息.检查配置过程中的错误及错误发生的原因.经常分析日志可以了解服务器的负荷,性能安全性,从而及时采 ...
- Windows环境下ELK(5.X)平台的搭建
一.Windows环境下ELK平台的搭建(2.*) 1.安装配置Java环境 在Oracle官网获取最新版的Java版本,由于只是运行不是开发,所以也可以只下载JRE.官网:http://www.or ...
- ELK平台搭建(下)
1. 目的 为指导在Centos6.8系统下搭建标准ELK平台的工作,特编写本施工文档. 2. 定义 Elasticsearch Logstash Kibana结合Redis协同工作. 3. 适用范围 ...
- ELK平台搭建(上)
一.目的 为指导在Centos6.8系统下搭建标准ELK平台的工作. 二.定义 Elasticsearch Logstash Kibana结合Redis协同工作. 三.适用范围 适用于运营维护组运维工 ...
- 搭建ELK日志分析平台(上)—— ELK介绍及搭建 Elasticsearch 分布式集群
笔记内容:搭建ELK日志分析平台(上)-- ELK介绍及搭建 Elasticsearch 分布式集群笔记日期:2018-03-02 27.1 ELK介绍 27.2 ELK安装准备工作 27.3 安装e ...
- elk平台搭建
很多时候我们需要对日志做一个集中式的处理,但是通常情况下这些日志都分布到n台机器上面,导致一个结果就是效率比较低,而ELK平台可以帮助我们解决这么一件事情: ELK下载:https://www.ela ...
- elk实时日志分析平台部署搭建详细实现过程
原文:http://blog.csdn.net/mchdba/article/details/52132663 1.ELK平台介绍 在搜索ELK资料的时候,发现这篇文章比较好,于是摘抄一小段:以下内容 ...
- ELK平台介绍
在搜索ELK资料的时候,发现这篇文章比较好,于是摘抄一小段: 以下内容来自:http://baidu.blog.51cto.com/71938/1676798 日志主要包括系统日志.应用程序日志和安全 ...
- 【转】flume+kafka+zookeeper 日志收集平台的搭建
from:https://my.oschina.net/jastme/blog/600573 flume+kafka+zookeeper 日志收集平台的搭建 收藏 jastme 发表于 10个月前 阅 ...
随机推荐
- postgresql 定时任务备份及恢复
编写 脚本文件 如bak.sh,内容如下: ls_date=`date "+%Y%m%d%H%M%S"` pg_dump -U postgres -Ft yourdbname &g ...
- python3进阶之推导式之列表(list)推导式(comprehensions)
1.前言 推导式,英文名字叫comprehensions,注意与comprehension(理解)只有s字母之差.推导式又可以叫解析式,推导式可以从一种数据序列构建新的数据序列的结构体.推导式分为,列 ...
- 持久化 XSS:ServiceWorkers 利用
来源:http://www.mottoin.com/95058.html 来源:https://www.owasp.org/images/3/35/2017-04-20-JSONPXSS.pdf Se ...
- Centos常用命令之:文件操作
在centos中,常用的文件操作命令有: ◇touch:建置新文件或者修改文件时间◇cat:从第一行开始显示文件内容◇tac:从最后一行开始显示文件内容,和cat相反◇nl:显示的时候,顺道输出行号◇ ...
- [Codeforces 946G]Almost Increasing Array
Description 题库链接 给你一个长度为 \(n\) 的序列 \(A\) .现在准许你删除任意一个数,删除之后需要修改最小的次数使序列单调递增.问最小次数. \(1\leq n\leq 200 ...
- [HNOI2007]分裂游戏
Description 聪聪和睿睿最近迷上了一款叫做分裂的游戏. 该游戏的规则试: 共有 n 个瓶子, 标号为 0,1,2.....n-1, 第 i 个瓶子中装有 p[i]颗巧克力豆,两个人轮流取豆子 ...
- [SDOI2010]地精部落
题目描述 传说很久以前,大地上居住着一种神秘的生物:地精. 地精喜欢住在连绵不绝的山脉中.具体地说,一座长度为N的山脉H可分为从左到右的N段,每段有一个[b][u]独一无二[/u][/b]的高度Hi, ...
- 2015 多校联赛 ——HDU5372(树状数组)
Sample Input 3 0 0 0 3 0 1 5 0 1 0 0 1 1 0 1 0 0 Sample Output Case #1: 0 0 0 Case #2: 0 1 0 2 有0, ...
- [BZOJ]1042 硬币购物(HAOI2008)
失踪OJ回归. 小C通过这道题mark一下容斥一类的问题. Description 硬币购物一共有4种硬币.面值分别为c1,c2,c3,c4.某人去商店买东西,去了tot次.每次带di枚ci硬币,买s ...
- Spring学习笔记6——注解方式测试
需要下载junit-4.12.jar和hamcrest-all-1.3.jar,将下载好的包导入到项目当中. 修改TestSpring, 并运行1. @RunWith(SpringJUnit4Clas ...