基于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
  • 编写如下配置文件

    alt text

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

简单的数据分析

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

    alt text

  • 设备型号分布

    alt text

转载于:https://www.cnblogs.com/beautiful-code/p/6264507.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/402327.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Linux 系统应用编程——网络编程(高级篇)

一、网络超时检测 在网络通信过程中,经常会出现不可预知的各种情况。例如网络线路突发故障、通信一方异常结束等。一旦出现上述情况,很可能长时间都不会收到数据,而且无法判断是没有数据还是数据无法到达。如果使用的是TCP协议,可…

[win10] 在桌面上显示计算机、控制面板、网络

1. 右击桌面,选择个性化 2. 选择”主题", 点击“桌面图标设置” 3. 把想要放桌面的图标给钩上

linux下共享文件夹(windows可访问,linux也可访问)

2019独角兽企业重金招聘Python工程师标准>>> 本文是转字网上的两段,如果是菜鸟,想懂有点难度,我这里给点注释 在linux上共享文件夹windows下看 ******************************************* 首先给linux设一个ip,要和…

用nginx做了一下反向代理,得到的ip地址都是127.0.0.1

nginx反向代理配置时,一般会添加下面的配置: proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header REMOTE-HOST $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; loc…

【windows】 设置开机启动程序

开始 -> 运行,输入:shell:startup 将要启动的“快捷方式”放入此目录下。重启生效!

ssh时,密码输入框(密码输入提示)很晚才出现的解决方法

新配置了一台server(centos6.2),发现从windows使用putty登录时,在输入用户名后总是很慢才提示输入密码[rootFDFS-1 ~]# ssh -V OpenSSH_5.3p1, OpenSSL 1.0.0-fips 29 Mar 2010发现ssh的版本较高了使用另一台linux服务器连接&…

Linux time()函数解析

time() 函数语法如下&#xff1a; 所需头文件#include <time.h>函数原型time_t time(time_t * timer)参数说明timerNULL时得到机器日历时间&#xff1b; timer时间数值时&#xff0c;用于设置日历时间&#xff1b;函数返回值机器日历时间 功能: 获取当前的系统时间&#…

开源|LightGBM:三天内收获GitHub 1000+ 星

原创 2017-01-05 LightGBM 微软研究院AI头条【导读】不久前微软DMTK(分布式机器学习工具包)团队在GitHub上开源了性能超越其他boosting工具的LightGBM&#xff0c;在三天之内GitHub上被star了1000次&#xff0c;fork了200次。知乎上有近千人关注“如何看待微软开源的LightGBM&a…

【phpstudy】在windows上开启后访问php页面显示502

phpstudy在windows上安装好后&#xff0c;会默认创建一个网站&#xff0c;而且使用了php7.3.4版本&#xff0c;但是当你把这个网站删除&#xff0c;再自己去手动(不利用它这个工具)创建一个php网站&#xff0c;会发现访问php页面会出现502错误&#xff0c;纠其原因&#xff0c;…

重设MYSQL数据库ROOT用户的密码

一、 在已知MYSQL数据库的ROOT用户密码的情况下&#xff0c;修改密码的方法&#xff1a;1、 在SHELL环境下&#xff0c;使用mysqladmin命令设置&#xff1a;mysqladmin –u root –p password “新密码” 回车后要求输入旧密码2、 在mysql>环境中,使用update命令&#xff0c…

Linux---进程调度相关命令解析

进程相关命令 1、ps 查看系统中的进程 使用方式&#xff1a;ps [options] [--help] 说明&#xff1a;显示瞬间进程 (process) 的动态 参数&#xff1a;ps的参数非常多, 在此仅列出几个常用的参数并大略介绍含义 ps命令常用用法&#xff08;方便查看系统进程&#xff09; 1&a…

随机数的扩展--等概率随机函数的实现

【转载】 Hackbuteer1的专栏 思想&#xff1a;就是先生成范围足够容纳扩展后随机数的一个随机数&#xff0c;然后忽略扩展过头的部分。 比如&#xff0c;已知random_n&#xff0c;要求random_m&#xff0c;最简单方法可以先生成random_n2()n*(random_n()-1)random_n(); 至于怎么…

js前台数据校验

1.脚本 Validator {exp:{numWord:/^[A-Za-z0-9]$/, //数字或字母numWordM:/^[\-]*[A-Za-z0-9]$/, //数字或字母可为负数letter:/^[A-Za-z]$/, //字母chinese:/^[\u4E00-\u9FA5\uF900-\uFA2D]$/,numberReg:/^[0-9]$/,//数字格式 只能是0到9的数字 eg:92wordReg:/^(\w|[\u4E00-\…

Linux 系统应用编程——多线程经典问题(生产者-消费者)

“生产者——消费者”问题是Linux多线程编程中的经典问题&#xff0c;主要是利用信号量处理线程间的同步和互斥问题。 “生产者——消费者”问题描述如下&#xff1a; 有一个有限缓冲区&#xff08;这里用有名管道实现 FIFO 式缓冲区&#xff09;和两个线程&#xff1a;生产者和…

Linux 文件服务---------- nfs Server

Linux 文件服务nfs &#xff08;Network file system&#xff09;#网络文件系统 ---> 远程文件调用samba #文件共享&#xff08;unix /linux /windows &#xff09; ,只能适用于局域网。ftp #远程文件存取.(跨网络&#xff0c; 跨平台&#xff0c; 文件存取)。 nfs Server r…

VC命令行编译参数介绍

From: http://blog.csdn.net/zhangxinrun/article/details/5797122 CL.exe是控制Microsoft C和C编译器与链接器的32位工具。编译器产生通用对象文件格式(COFF)对象(.obj)文件。链接器产生可执行文件(.exe)或动态链接库文件(DLL)。 注意&#xff0c;所有编译器选项都区分大小写。…

在linux 5上配置戴尔MD3220i

http://zh.community.dell.com/techcenter/storage/f/150/t/2773.aspx转载于:https://blog.51cto.com/xs2013/1298568

Linux 系统应用编程——进程间通信(下)

在前面&#xff0c;我们学习了传统的进程间通信方式——无名管道&#xff08;pipe&#xff09;、有名管道&#xff08;fifo&#xff09;和信号&#xff08;signal&#xff09;。 下面我们来学习 System V IPC 对象&#xff1a; 1、共享内存&#xff08;share memory&#xff0…

VC程序员常用工具篇

1. IDE&#xff1a;钟情于VC6.0&#xff0c;但是也感觉Visual Studio2008和2010的强大,可能迟早得转到VS高版本上来。在安装VC6.0的时候记得安装sp6补丁和msdn&#xff08;MSDN_1.5_精简安装版 &#xff09;2. 辅助&#xff1a; Visual Assist&#xff0c;喜欢它代码自动补全&a…

Hibernate的批量操作

批量插入 Hibernate强制开启了一级缓存&#xff0c;缓存空间是有限的&#xff0c;如果批量操作的SQL语句太多&#xff0c;就会运行失败&#xff08;内存溢出&#xff09;&#xff0c; 因此在批量操作的时候&#xff0c;每执行一批SQL语句&#xff0c;都需要刷新缓存&#xff0c…