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. 《Head First 设计模式》笔记

    第一章 策略模式 00设计原则:找出应用中可能需要变化之处,把它们独立出来,不要和那些不需要变化的代码放在一起. 把会变化的部分取出并封装起来,好让其它部分不会受到影响.结果如何?代码变化引起的不经意 ...

  2. Liunx软件安装之Nginx

    安装 Nginx 1) 添加 Nginx 到 YUM 源 sudo rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-rele ...

  3. js中尺寸类样式

    js中尺寸类样式 一:鼠标尺寸类样式 都要事件对象的配合 Tip:注意与浏览器及元素尺寸分开,鼠标类尺寸样式都是X,Y,浏览器及元素的各项尺寸时Height,Width 1:检测相对于浏览器的位置:e ...

  4. Python 基础(二)

    输入一个字符串,以列表输出大写,如果包含整数,转为整型 str = input() list = [] for i in str: if i.isdecimal() == True: list.app ...

  5. MARTIN FOWLER谈敏捷开发

    转自:http://www.scrumcn.com/agile/scrum-knowledge-library/agile-development.html#tab-id-9 每个人都在谈论敏捷开发( ...

  6. poj2396 Budget 上下界可行流

    Budget:http://poj.org/problem?id=2396 题意: 给定一个棋盘,给定每一行每一列的和,还有每个点的性质.求一个合理的棋盘数值放置方式. 思路: 比较经典的网络流模型, ...

  7. codeforces-214(Div. 2)-C. Dima and Salad+DP恰好背包花费

    codeforces-214(Div. 2)-C. Dima and Salad 题意:有不同的沙拉,对应不同的颜值和卡路里,现在要求取出总颜值尽可能高的沙拉,同时要满足 解法:首先要把除法变成乘法, ...

  8. codeforces E. Okabe and El Psy Kongroo(dp+矩阵快速幂)

    题目链接:http://codeforces.com/contest/821/problem/E 题意:我们现在位于(0,0)处,目标是走到(K,0)处.每一次我们都可以从(x,y)走到(x+1,y- ...

  9. yzoj P1126 塔 题解

    题意:给n个积木,搭成两个高度相同的塔,问最高高度 正解是dp 答案在dp[n][0] 代码 #include<bits/stdc++.h> using namespace std; in ...

  10. jquery中的 $(function(){ .. }) 函数

    2017-04-29 在讲解jquery中的 $(function(){ .. }) 函数之前,我们先简单了解下匿名函数.匿名函数的形式为:(function(){ ... }),又如 functio ...