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. DOM选择器之元素选择器

    DOM中元素选择器 在DOM中我们可以将元素选择器分为两类:1.元素节点选择器:2.其它节点选择器.通过选择器选择HTML中的元素以对其进行操作,以此实现用JS对页面的操作. 一.元素节点选择器 1. ...

  2. 分布式任务调度框架 Azkaban —— Flow 1.0 的使用

    一.简介 Azkaban 主要通过界面上传配置文件来进行任务的调度.它有两个重要的概念: Job: 你需要执行的调度任务: Flow:一个获取多个 Job 及它们之间的依赖关系所组成的图表叫做 Flo ...

  3. C#开发BIMFACE系列7 服务端API之获取文件信息列表

    系列目录     [已更新最新开发文章,点击查看详细] 本文详细介绍如何获取BIMFACE平台中所有上传过的文件信息列表. 请求地址:GET https://file.bimface.com/file ...

  4. 2017福建省赛 FZU 2278 YYS 数学 大数

    Yinyangshi is a famous RPG game on mobile phones. Kim enjoys collecting cards in this game. Suppose ...

  5. 牛客网暑期ACM多校训练营(第二场) I Car 思维

    链接:https://www.nowcoder.com/acm/contest/140/I来源:牛客网 White Cloud has a square of n*n from (1,1) to (n ...

  6. 天梯杯 PAT L2-013 红色警报

    战争中保持各个城市间的连通性非常重要.本题要求你编写一个报警程序,当失去一个城市导致国家被分裂为多个无法连通的区域时,就发出红色警报.注意:若该国本来就不完全连通,是分裂的k个区域,而失去一个城市并不 ...

  7. poj 2352 & Ural 1028 数星星 题解

    一道水题,由于x坐标递增y坐标也递增于是前缀和统计即可,用树状数组实现. #include<bits/stdc++.h> using namespace std; const int ma ...

  8. win、mac 设置 php上传文件大小限制

    修改php.ini win平台WAMP修改 步骤 左键点击wamp 选择php 在弹出的窗口中选择php.ini 在打开的文件中进行修改(修改步骤如下) 修改完毕,保存并重启wamp mac  MAM ...

  9. this指哪儿

    this的指向问题 一.this初识 this是javascript中最复杂的机制之一.它尤为特殊,被自动定义在所有函数的作用域中.这篇文章将浅析this与函数的关系. 二.了解this 学习this ...

  10. Kubernetes --- 详细介绍和架构详解

    Kubernetes是一个跨主机集群的开源的容器调度平台,它可以自动化应用容器的部署,扩展和操作,提供以容器为中心的基础架构 目录 一. Kubernetes用途 二. Kubernetes特点 三. ...