ELK搭建实时日志分析平台

导言

ELK由ElasticSearch、Logstash和Kiabana三个开源工具组成,ELK平台可以同时实现日志收集、日志搜索和日志分析的功能。对于生产环境中海量日志信息的分析处理无疑不是一个好的解决方案。

官方网站:https://www.elastic.co/

1).Elasticsearch是个开源分布式搜索引擎,它的特点有:分布式,零配置,自动发现,索引自动分片,索引副本机制,restful风格接口,多数据源,自动搜索负载等。

2).Logstash是一个接收,处理,转发日志的工具。

3).Kibana是一个开源的分析与可视化平台,设计出来用于和Elasticsearch一起使用的。你可以用kibana搜索、查看、交互存放在Elasticsearch索引(index)里的数据,使用各种不同的图表、表格、地图等来进行数据的可视化。

先上一个原理图:



上图来自“摆渡者”

我相信,了解大数据的小伙伴们都对于上面这张图片应该不陌生,一看就会明白。类似我们的webserver=>flume=>kafka这么一条线。这里Logstash收集app、webServer产生的日志,并存放到ES集群中,而Kibana则从ES集群中定义的index生成图表,再返回给Browser。

ELK平台搭建

组件版本选择:

Centos6.4+

Jre1.7+[我原来就安装了jdk1.8,这个就没有管了]

ElasticSearch: 2.1.1

Logstash: 2.1.1[运行依赖于Java环境]

Kibana: 4.3.1

下载地址:

官网下载:https://www.elastic.co/downloads/,官网速度慢的话,你也可以从我们分享的百度云盘中下载,里面包含了所有软件

链接:http://pan.baidu.com/s/1eROKwDk 密码:w7uy

下载完成之后,就开始安装

说明:elk似乎是不能够使用root用户的,所以我们得新建一个用户

[root@hadoop000 ~]# useradd liuge

我一般是喜欢把下载的软件放在当前用户家目录下的softwares下,软件的下载存放位置看你习惯就好

[liuge@hadoop000 ~]$ cd software/
[liuge@hadoop000 software]$ ls
elasticsearch-2.1.1.zip logstash-2.1.1.zip
kibana-4.3.1-linux-x64.tar.gz
[liuge@hadoop000 software]$

接着就开始一个一个的解压安装

ElasticSearch

解压:

[liuge@hadoop000 software]$ tar -zxvf elasticsearch-2.1.1.zip -C ../app/

安装head插件:

[liuge@hadoop000 app]$ cd elasticsearch/
[liuge@hadoop000 elasticsearch]$ ./bin/plugin install mobz/elasticsearch-head

查看是否安装成功:

[liuge@hadoop000 elasticsearch]$ cd plugins/
[liuge@hadoop000 plugins]$ ls
head
[liuge@hadoop000 plugins]$
#看见head就说明没有什么问题了

接下来,就是开始简单的配置啦

[liuge@hadoop000 elasticsearch]$
[liuge@hadoop000 elasticsearch]$ vim config/elasticsearch.y
#只需要修改以下几条信息就好
#名称任意取
cluster.name=liuge_cluster
node.name=node0000
#这里的data/logs目录需要自己创建
path.data=/home/liuge/elasticsearch/data
path.logs=/home/liuge/elasticsearch/logs
#主机设置为自己的主机名就好
network.host=hadoop000
network.port=9200

上面的配置设置好了之后,就是可以开始启动啦:

[liuge@hadoop000 elasticsearch]$ ./bin/elasticsearch

查看是否正常启动,jps查看一下

[liuge@hadoop000 ~]$ jps
9954 Elasticsearch
10086 Jps
[liuge@hadoop000 ~]$
#可以看见,是有进程的

同时,也是可以通过web端访问的,主机+9200:

我这里是http://hadoop000:9200

上面显示了配置的name,cluster_name以及安装的版本等信息。

刚刚安装的head插件,它是一个用浏览器跟ES集群交互的插件,可以查看集群状态、集群的doc内容、执行搜索和普通的Rest请求等。访问地址:http://hadoop000:9200/_plugin/head

Logstash

Logstash是一个接收,处理,转发日志的工具。

下面,开始安装,其实logstash解压出来就可以使用了,比较简单。

[liuge@hadoop000 software]$ unzip logstash-2.1.1.zip

解压出来,之后,就可以编写我们的配置文件了,这里我的配置文件是放在解压目录下的config目录下,没有这个目录可以自己创一个

[liuge@hadoop000 logstash]$ vim config/test1.conf

然后再里面,书写我们的代码,我这里就先直接把代码贴进去了,可以看着理解一下,

说明,我们的目的是从nginx服务器获取日志文件,然后,把文件output到es.就是这么简单:

input {
file {
#这个是你自己的nginx日志的文件位置
path => "/home/hadoop/data/project/logs/access.log"
start_position => beginning
}
}
filter { }
output {
elasticsearch {
#我们的es的地址
hosts => "hadoop000:9200"
#设置一个es的索引,用于kibana使用
index => "python-logstash-elasticsearch-kibana"
}
stdout { codec => rubydebug }
}

说明一下,我这个是依据官网上的案例自己修改的,基本上就是最简单的例子了。ps:官网是一个好的学习资源,希望大家不要浪费

分析:从上面的例子中,可以看出,写配合文件,基本上就是写inout,filter,output这三部分

这一点也是很像我们flume里面的agent的三个组件

接下来,我们就来启动我们的配置文件,开始日志的收集

[root@hadoop000 logstash]# ./bin/logstash agent -f config/test1.conf
Settings: Default filter workers: 1
Logstash startup completed
#看见上面的startup就说明ok啦

Kibana

Kibana是一个开源的分析与可视化平台,是一个用来做日志可视化的工具

同样,kibana的安装也是直接解压就好

[liuge@hadoop000 software]$ unzip kibana-4.3.1-linux-x64.tar.gz

来到,解压后的目录,修改默认的配合文件

[liuge@hadoop000 kibana]$ cd config/
[liuge@hadoop000 config]$ ls
kibana.yml
[liuge@hadoop000 config]$ vim kibana.yml #这里修改以下几条
server.port: 5601
server.host: "hadoop"
elasticsearch.url: http://hadoop000:9200
kibana.index:".kibana" #:wq保存退出

启动,

[liuge@hadoop000 ~]$ cd app/kibana/

使用浏览器访问web界面,地址:

到这里,我们已经成功安装好了ELK这个平台在我们自己的机器上

接下来,就是开始实时日志的统计:

任务需求:统计日志中404记录的条数,并且在页面上实时更新

开始

1.在kibana中的setting页面中new一个index

2.来到我们的发现页面

3.这里写我们的筛选条件,然后保存



设置名称:

4.来到可视化选项



在可视化中,我们可以创建各类图表

这里我们选一个饼图

5.对我们的图形进行设计

6.保存为仪表盘的

7.来到仪表盘

8.设置图表数据的更新周期

设置更新周期之后,我们的就可以看见数据在动态变化了,还是很有意思的,如果,感兴趣,不妨一试哟

由于我也只是初学者,只能先做这么一个简单的东西,不过,这个示例,起码,是把整个流程走通了,后面还会不断学习的

ELK搭建实时日志分析平台的更多相关文章

  1. ELK搭建实时日志分析平台之二Logstash和Kibana搭建

    本文书接前回<ELK搭建实时日志分析平台之一ElasticSearch> 文:铁乐与猫 四.安装Logstash logstash是一个数据分析软件,主要目的是分析log日志. 1)下载和 ...

  2. ELK搭建实时日志分析平台之一ElasticSearch搭建

    文:铁乐与猫 系统:CentOS Linux release 7.3.1611 (Core) 注:我这里为测试和实验方便,ELK整套都装在同一台服务器环境中了,生产环境的话,可以分开搭建在不同的服务器 ...

  3. 【转】ELK(ElasticSearch, Logstash, Kibana)搭建实时日志分析平台

    [转自]https://my.oschina.net/itblog/blog/547250 摘要: 前段时间研究的Log4j+Kafka中,有人建议把Kafka收集到的日志存放于ES(ElasticS ...

  4. 【Big Data - ELK】ELK(ElasticSearch, Logstash, Kibana)搭建实时日志分析平台

    摘要: 前段时间研究的Log4j+Kafka中,有人建议把Kafka收集到的日志存放于ES(ElasticSearch,一款基于Apache Lucene的开源分布式搜索引擎)中便于查找和分析,在研究 ...

  5. [Big Data - ELK] ELK(ElasticSearch, Logstash, Kibana)搭建实时日志分析平台

    ELK平台介绍 在搜索ELK资料的时候,发现这篇文章比较好,于是摘抄一小段: 以下内容来自: http://baidu.blog.51cto.com/71938/1676798 日志主要包括系统日志. ...

  6. ELK(ElasticSearch+Logstash+ Kibana)搭建实时日志分析平台

    一.简介 ELK 由三部分组成elasticsearch.logstash.kibana,elasticsearch是一个近似实时的搜索平台,它让你以前所未有的速度处理大数据成为可能. Elastic ...

  7. 13: ELK(ElasticSearch+Logstash+ Kibana)搭建实时日志分析平台

    参考博客:https://www.cnblogs.com/zclzhao/p/5749736.html 51cto课程:https://edu.51cto.com/center/course/less ...

  8. 手把手教你搭建 ELK 实时日志分析平台

    本篇文章主要是手把手教你搭建 ELK 实时日志分析平台,那么,ELK 到底是什么呢? ELK 是三个开源项目的首字母缩写,这三个项目分别是:Elasticsearch.Logstash 和 Kiban ...

  9. asp.net core结合NLog搭建ELK实时日志分析平台

    0.整体架构 整体架构目录:ASP.NET Core分布式项目实战-目录 一.介绍ELK 1.说明(此篇ELK采用rpm的方式安装在服务器上)-牛刀小试 承接上一篇文章的内容准备部署ELK来展示asp ...

随机推荐

  1. [WPF自定义控件库] 关于ScrollViewr和滚动轮劫持(scroll-wheel-hijack)

    1. 什么是滚动轮劫持 这篇文章介绍一个很简单的继承自ScrollViewer的控件: public class ExtendedScrollViewer : ScrollViewer { prote ...

  2. jqGrid根据数据动态设置rowList

    superme.rowList = [10,20,50,100]; superme.rowNum = 20; 全局属性 loadComplete : function (data) { if(data ...

  3. ASP.NET Core实现对象自动映射-AgileMapper

    我们为什么要在对象之间做映射 处于耦合性或者安全性考虑或者性能考虑我们不希望将Model模型传递给他们,我们会在项目中创建一些DTO(Data transfer object数据传输对象),进行数据的 ...

  4. 持续集成高级篇之Jenkins Pipeline git拉取

    系列目录 PipeLine中拉取远程git仓库 前面讲自由式任务的时候,我们可以看到通过自由式job里提供的图形界面配置git拉取非常方便的,实际上使用PipeLine也并不复杂.这一节我们展示一下如 ...

  5. 【社群话题分享】当 Bug 引发事故时,是否应该追究责任呢?

    每周三下午的话题活动是又拍云技术社群的优良传统- 大家一起来看看这周都聊了些啥吧- 看看之前大家还聊了些什么,点击下方你感兴趣的话题~ [社群话题分享]是世界上最_语言? [社群话题分享]IDE 技术 ...

  6. SpringBoot第二十四篇:应用监控之Admin

    作者:追梦1819 原文:https://www.cnblogs.com/yanfei1819/p/11457867.html 版权声明:本文为博主原创文章,转载请附上博文链接! 引言   前一章(S ...

  7. 007 Linux系统优化进阶

    一.更改 ssh 服务远程登录的配置 windows:默认远程端口和管理员用户 管理员:administrator port :3389 Linux:远程连接默认端口和超级用户 管理员:root   ...

  8. 悲观锁 vs 乐观锁 vs Redis

    企业面对高并发场景采用的方案. 比如 产品抢购高并发时的超发现象. 1 悲观锁悲观锁 需要数据库本身提供支持(Oracle和MySQL都是支持的).实现细节:当前 数据库事务 读取到产品后, 就将目标 ...

  9. 【selenium】- 常见浏览器的启动

    本文由小编根据慕课网视频亲自整理,转载请注明出处和作者. 1. Firefox启动 webdriver自带了firefox浏览器的驱动,所以不需要设置它的驱动. 如果firefox没有安装在默认路径, ...

  10. HDU4348To the moon主席树,区间修改

    题意: 一个长度为n的数组,4种操作 : (1)C l r d:区间[l,r]中的数都加1,同时当前的时间戳加1 . (2)Q l r:查询当前时间戳区间[l,r]中所有数的和 . (3)H l r ...