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. go-web程序的热更新

    前言: 一直编译累死人啊,该偷懒就得偷懒 当使用go开发web程序时,修改点代码就得编译,虽然编译速度很快,但是也累啊,想起java的spring-boot有热更新插件, php根本都不需要重启,go ...

  2. git 如何实现进行多人协作开发(远程仓库)

    第一.Git作为分布式的版本控制系统,你是你本地仓库的主人,但是想要实现多人的协作开发,你就要将你本地的开发推送到远程共享仓库中供大家下载,本篇主要以github作为远程服务器来介绍有关远程仓库这块内 ...

  3. 手把手教你用深度学习做物体检测(六):YOLOv2介绍

    本文接着上一篇<手把手教你用深度学习做物体检测(五):YOLOv1介绍>文章,介绍YOLOv2在v1上的改进.有些性能度量指标术语看不懂没关系,后续会有通俗易懂的关于性能度量指标的介绍文章 ...

  4. cogs1709. [SPOJ 705] 不同的子串(后缀数组

    http://cogs.pro:8080/cogs/problem/problem.php?pid=vyziQkWaP 题意:给定一个字符串,计算其不同的子串个数. 思路:ans=总共子串个数-相同的 ...

  5. Period UVALive - 3026

    For each prefix of a given string S with N characters (each character has an ASCII code between 97 a ...

  6. hdu2586 How far away ?(lca模版题)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2586 题意:给出一棵树还有两个点然后求这两个点的最短距离. 题解:val[a]+val[b]-2*va ...

  7. Java 网络编程:必知必会的 URL 和 URLConnection

    java.net.URL 类将 URL 地址进行了封装,并提供了解析 URL 地址的基本方法,比如获取 URL 的主机名和端口号.java.net.URLConnection 则代表了应用程序和 UR ...

  8. 【Offer】[61] 【扑克牌中的顺子】

    题目描述 思路分析 测试用例 Java代码 代码链接 题目描述 从扑克牌中随机抽5张牌,判断是不是一个顺子,即这5张牌是不是连续的.2~10 为数字本身,A为1, J为11, Q为12,K为13,而大 ...

  9. m6A甲基化及预测方法工具总结

    DNA.RNA和蛋白三个层面的可逆修饰示意图(Fu et al. Nature Reviews Genetics, 2014) DNA和蛋白存在各种修饰,RNA也不例外,目前已知的RNA修饰已经超过上 ...

  10. volatile的工作原理

    volatile的特性: volatile可见性:对一个volatile的读,总可以看到对这个变量最终的写: volatile原子性:volatile对单个读/写具有原子性(32位Long.Doubl ...