基于ELK的简单数据分析
原文链接: 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的简单数据分析的更多相关文章
- 基于ELK的传感器数据分析练习
目录 Sensor Data Analytics Application 数据构成 数据模型设计 Logstash配置 Kibana可视化 Sensor Data Analytics Applicat ...
- (数据科学学习手札74)基于geopandas的空间数据分析——数据结构篇
本文对应代码已上传至我的Github仓库https://github.com/CNFeffery/DataScienceStudyNotes 1 简介 geopandas是建立在GEOS.GDAL.P ...
- (数据科学学习手札77)基于geopandas的空间数据分析——文件IO
本文对应代码和数据已上传至我的Github仓库https://github.com/CNFeffery/DataScienceStudyNotes 1 简介 在上一篇文章中我们对geopandas中的 ...
- (数据科学学习手札78)基于geopandas的空间数据分析——基础可视化
本文对应代码和数据已上传至我的Github仓库https://github.com/CNFeffery/DataScienceStudyNotes 1 简介 通过前面的文章,我们已经对geopanda ...
- (数据科学学习手札79)基于geopandas的空间数据分析——深入浅出分层设色
本文对应代码和数据已上传至我的Github仓库https://github.com/CNFeffery/DataScienceStudyNotes 1 简介 通过前面的文章,我们已经对geopanda ...
- (数据科学学习手札82)基于geopandas的空间数据分析——geoplot篇(上)
本文示例代码和数据已上传至我的Github仓库https://github.com/CNFeffery/DataScienceStudyNotes 1 简介 在前面的基于geopandas的空间数据分 ...
- (数据科学学习手札83)基于geopandas的空间数据分析——geoplot篇(下)
本文示例代码.数据及文件已上传至我的Github仓库https://github.com/CNFeffery/DataScienceStudyNotes 1 简介 在上一篇文章中我们详细学习了geop ...
- (数据科学学习手札84)基于geopandas的空间数据分析——空间计算篇(上)
本文示例代码.数据及文件已上传至我的Github仓库https://github.com/CNFeffery/DataScienceStudyNotes 1 简介 在本系列之前的文章中我们主要讨论了g ...
- 从0搭建一个基于 ELK 的日志、指标收集与监控系统
为了使得私有化部署的系统能更健壮,同时不增加额外的部署运维工作量,本文提出了一种基于 ELK 的开箱即用的日志和指标收集方案. 在当前的项目中,我们已经使用了 Elasticsearch 作为业务的数 ...
随机推荐
- 使用go,基于martini,和websocket开发简易聊天室
一.首先,需要了解一下websocket基本原理:here 二.go语言的websocket实现: 基于go语言的websocket也有不少,比如github.com/gorilla/websocke ...
- 小程序中监听textarea或者input输入的值动态改变data中数组的对象的值
Page({ data: { todoLists:[ { detail:"", date:"", location:"", priority ...
- getIsDebuggable
/* * if set android:debuggable="true" in Manifest, return true. * if set android:debugga ...
- Hessian资料
introduction http://www.cnblogs.com/hzmark/archive/2012/11/27/Hessian.html 超时时间设置 http://www.tuicool ...
- MyBatis踩坑记录
在线文档: 动态SQL http://www.mybatis.org/mybatis-3/zh/dynamic-sql.html 1. Error setting null for paramete ...
- Java使用选择排序法对数组排序
编写程序,实现将输入的字符串转换为一维数组,并使用选择排序法对数组进行排序. 思路如下: 点击"生成随机数"按钮,创建Random随机数对象: 使用JTextArea的setTex ...
- _DataStructure_C_Impl:图的邻接矩阵存储
//_DataStructure_C_Impl:邻接矩阵 #include<stdio.h> #include<stdlib.h> #include<string.h&g ...
- Python中的类(中)
上一篇介绍了Python中类相关的一些基本点,本文看看Python中类的继承和__slots__属性. 继承 在Python中,同时支持单继承与多继承,一般语法如下: class SubClassNa ...
- 服务端测试之接口测试工具——postman
今天跟大家分享一个非常常见大家也非常熟悉的测试工具——postman. 1.安装postman postman是一款功能强大的网页调试与发送网页HTTP请求的Chrome插件.打开chrome浏览器, ...
- 【代码审计】CLTPHP_v5.5.3 前台任意文件上传漏洞分析
0x00 环境准备 CLTPHP官网:http://www.cltphp.com 网站源码版本:CLTPHP内容管理系统5.5.3版本 程序源码下载:https://gitee.com/chich ...