原文链接: http://www.open-open.com/lib/view/open1455673846058.html

环境

  • CentOS 6.5 64位
  • JDK 1.8.0_20
  • Elasticsearch 1.7.3
  • LogStash 1.5.6
  • Kibana 4.1.4

介绍

  • ElasticSearch是有名的开源搜索引擎,现在很多公司使用ELK技术栈做日志分析,比如新浪使用ELK处理每天32亿条记录,详细的介绍可以查看这里

  • 我们的数据量没有新浪那么大,一天正常水平在6千万条左右,多的时候有一个亿条记录,受到新浪案例的启发我们基于ELK搭建自己的简单数据分析系统,刚开始选择这个的原因:(1)就我一个人折腾东西, (2)我不会前端,但是ELK中的kibana可以直接利用,(3)Hadoop/Hbase、Storm等大数据栈需要学习成本,短期内上手难度太大。(4)可用的机器数也是相当屌丝。

环境搭建

  • 需要安装好Java,配置JAVA_HOME,bin目录添加到PATH环境变量

ElasticSearch

  • 下载ElasticSearch,然后解压到/opt
  • 执行/opt/elasticsearch-1.7.3/bin/elasticsearch -d 就可以在后台启动,但是为了同时管理ELK三个进程,我选择了supervisor做统一管理
  • 启动ElasticSearch之后,我们需要关闭字符串的分词,对于数据分析的需求是不需要的,同时会存在问题,但是当作为搜索引擎的时候,这又是必须的。
    关闭字符串的分词
    
    curl -XPUT http://localhost:9200/_template/template_1 -d '{
    "template": "*",
    "settings": {
    "index.refresh_interval": "5s"
    },
    "mappings": {
    "_default_": {
    "_all": {
    "enabled": true
    },
    "dynamic_templates": [
    {
    "string_fields": {
    "match": "*",
    "match_mapping_type": "string",
    "mapping": {
    "index": "not_analyzed",
    "omit_norms": true,
    "type": "string"
    }
    }
    }
    ],
    "properties": {
    "@version": {
    "type": "string",
    "index": "not_analyzed"
    }
    }
    }
    }
    }'

Kibana

  • 下载Kibana,然后解压到/opt
  • 运行/opt/kibana-4.1.4-linux-x64/bin/kibana,同样适用supervisor管理
  • 访问http://YourIP:5601即可

Logstash

  • 到目前为止我们还没有数据源
  • 下载LogStash,解压到/opt
  • 编写如下配置文件

我们的数据来源于kafka中的一个topic,格式是json,输出到elasticsearch的索引,按天变化

简单的数据分析

  • 跑了四个多小时,差不多有890w数据
  • 我们先来看看设备的操作系统版本号(android 4.4.4的设备最多,差不多有300万)

  • 设备型号分布

基于ELK的简单数据分析的更多相关文章

  1. 基于ELK的传感器数据分析练习

    目录 Sensor Data Analytics Application 数据构成 数据模型设计 Logstash配置 Kibana可视化 Sensor Data Analytics Applicat ...

  2. (数据科学学习手札74)基于geopandas的空间数据分析——数据结构篇

    本文对应代码已上传至我的Github仓库https://github.com/CNFeffery/DataScienceStudyNotes 1 简介 geopandas是建立在GEOS.GDAL.P ...

  3. (数据科学学习手札77)基于geopandas的空间数据分析——文件IO

    本文对应代码和数据已上传至我的Github仓库https://github.com/CNFeffery/DataScienceStudyNotes 1 简介 在上一篇文章中我们对geopandas中的 ...

  4. (数据科学学习手札78)基于geopandas的空间数据分析——基础可视化

    本文对应代码和数据已上传至我的Github仓库https://github.com/CNFeffery/DataScienceStudyNotes 1 简介 通过前面的文章,我们已经对geopanda ...

  5. (数据科学学习手札79)基于geopandas的空间数据分析——深入浅出分层设色

    本文对应代码和数据已上传至我的Github仓库https://github.com/CNFeffery/DataScienceStudyNotes 1 简介 通过前面的文章,我们已经对geopanda ...

  6. (数据科学学习手札82)基于geopandas的空间数据分析——geoplot篇(上)

    本文示例代码和数据已上传至我的Github仓库https://github.com/CNFeffery/DataScienceStudyNotes 1 简介 在前面的基于geopandas的空间数据分 ...

  7. (数据科学学习手札83)基于geopandas的空间数据分析——geoplot篇(下)

    本文示例代码.数据及文件已上传至我的Github仓库https://github.com/CNFeffery/DataScienceStudyNotes 1 简介 在上一篇文章中我们详细学习了geop ...

  8. (数据科学学习手札84)基于geopandas的空间数据分析——空间计算篇(上)

    本文示例代码.数据及文件已上传至我的Github仓库https://github.com/CNFeffery/DataScienceStudyNotes 1 简介 在本系列之前的文章中我们主要讨论了g ...

  9. 从0搭建一个基于 ELK 的日志、指标收集与监控系统

    为了使得私有化部署的系统能更健壮,同时不增加额外的部署运维工作量,本文提出了一种基于 ELK 的开箱即用的日志和指标收集方案. 在当前的项目中,我们已经使用了 Elasticsearch 作为业务的数 ...

随机推荐

  1. [WPF打印]WPF 文档元素(Run TextBlock Paragraph)的文字对齐方式

    最近开发WPF程序,需要打印,用到了FlowDocument(这相当于有了打印模版,而且可以随时修改,真的是挺方便的).可是在输出表格形数据(这种情况恐怕是大多数~)时遇到了点儿麻烦. 由于Table ...

  2. slab着色,可以减少cache conflict miss概率么?

    以内部slab为例,管理区 + object总大小+left_over size = 1page,我们做个极端假设,cache为 direct-mapped caches. 1.没有采用slab着色: ...

  3. Greenplum-cc-web监控软件安装时常见错误

     错误error: 1.no pg_hba.conf entry for host “::1”, user “gpmon”, database “gpperfmon”, SSL off 解决: vi ...

  4. EF跨库查询,DataBaseFirst下的解决方案

    出于各种原因,有时需要跨数据库访问某些数据表,有同学已经给出了解决方案,比如  http://blog.csdn.net/hanjun0612/article/details/50475800 已经解 ...

  5. libstdc++.so.5: undefined reference to `memcpy@GLIBC_2.14'

    没有别的原因: 找正确的 libstdc++.so.5 包就成. 我这儿有,需要的可以下载奥!

  6. SpringBoot------Eclipce配置Spring Boot

    步骤一: 步骤二: 点击左下角Eclipse图标下的“Popular”菜单,选择Spring安装(已安装的插件在Installed中显示),一直按步骤确定就好了,如果中途下载超时什么的,就看看自己的网 ...

  7. python中交换两个值的方法

    a = 4b = 5 #第1种c = 0c = aa = bb = c #第2种a = a+bb = a-ba = a-b #第3种a,b = b,a 第三种办法本质上是元组之间的赋值 print(& ...

  8. OpenGL资料

    苹果官方文档:OpenGL ES for iOS苹果官方文档:OpenGL for OS X OpenGL是源自SGI IRIS GL library,并不是SUN开发的.SGI提供了一个OPENGL ...

  9. UnicodeEncodeError: ‘gbk’ codec can’t encode character u’\u200e’ in position 43: illegal multib

    [问题] 在执行代码时,提示上述错误,源码如下: # 下载小说... def download_stoy(crawl_list,header): # 创建文件流,将各个章节读入内存 with open ...

  10. vux 使用 loading 组件

    1)声明引入Loading import { Loading } from 'vux' 2)在模版底部添加 组件(需要添加到 template>div 标签里) <template> ...