大数据实时日志系统搭建

距离全链路跟踪分析系统第二个迭代已经有一小阵子了,由于在项目中主要在写ES查询\Storm Bolt逻辑,都没有去搭建实时日志分析系统,全链路跟踪分析系统采用的开源产品组合为FileBeat、Kafka、LogStash、Elastic、Storm,外加自主前端、自定义日志。今天挤出时间,选用FileBeat、ElasticSearch、Kibana搭建了一个实时日志系统。搭建之前,看了一下Elastic Stack产品组织中的LogStash,一般建议FileBeat输出到LogStash,再由LogStash到ElasticSearch,今天的实操并没有使用到kafka、LogStash、Storm,这是明天的主餐,感兴趣的可以关注公众号,明天接着看。

看完本篇文章,您可以有以下收获:

a)您能够搭建一个实时的日志分析系统,并能知道如何处理遇到的问题。

b)您将了解Elastic+Kibana在日志分析、商业大屏、航空看板、商业分析的应用,并能结合自身公司的业务情况,有选择的为公司实施大数据,提升公司的数据价值挖掘能力。

c)看不懂,包教包会

作为一篇有态度的技术文章,先把本次实操感受写在前面。

一、ElasticSearch-head揪心之作

1.1 揪心之作

部署完ElasticSearch,没有UI界面,这跟很多开源产品的现状很像,apache出品的不少开源产品,好多UI也是丑丑的。elasticsearch-head作为ElasticSearch UI的空白,算是一个惊喜,在Github上获得了5000多个星星,梦想中的星星数量啊。揪心的是,用起来,就是有点不爽啊,滚动条拖到尾部才能找到,也是丑丑的~复杂查询也是不够好用~

1.2 部署经验

npm install跑不成功,yarn install成功跑起来。最好将源改为国内大厂源,不然,应该是直接失败吧。

1.3 开源收获粉丝还是存在很多机会

ElasticSearch-head弥补了ElasticSearch UI确实,还有优化空间。kibana也有完善空间。

二、安全问题也许就是网上教程传出来的

ElasticSearch默认不允许跨域,网上查到的解决处理是

http.cors.enabled: true

http.cors.allow-origin: “*”

对于正式使用的话,还是有些风险的。自己玩弄着完是可以,真正使用的话,要限定一下。这招防君子不防小人。

三、完美的不可用产品kibana

这么说可能会引起kibana粉丝的不爽,对于一个全链路跟踪系统来讲,kibana真的是满足不了,kibana有着非常漂亮的UI,灵活的可视化呈现,却无法适应我们的业务场景,或者说,就着kibana的话,会付出更多的二次开发成本。kibana有着丰富的可视化组件,却没有我们所需的调用图。全链路跟踪分析系统没有使用kibana,而是自主研发的前端。

kibana有对于现有产品IIS\Apache\Mysql\服务器等等,都有数据采集组件,可以对系统所采用的软件进行监控。对于特定的业务,需要二次开发,比较复杂的业务的话,需要在kibana基础上进行二次开发,会比较麻烦。

四、FileBeat只是Beat产品中的一个

今天看资料才发现,Beat产品组中还有很多,FileBeat只是其中一个,目前完整组合是Filebeat,Metricbeat,Packetbeat,Winlogbeat,Auditbeat,Heartbeat,Functionbeat!全方位收集日志,监控无所不及。我们只用FileBeat~

五、跑开源产品不要怕报错

虽然会吓一跳,但是仔细看提示,还是能看到错误提示中给出的解决办法。

5-1. 跑FileBeat收集IIS Log时,会发现,ElasticSearch中查到的结果显示正则解析失败!

因为默认的grok规则配置是记录所有IIS字段,而IIS默认的log没有输入所有的字段,打造IIS站点日志配置,将其他没有输出的字段都勾选上。

尴尬:grok的正则写法丢到Match Tracer(一个正则调试工具)中,直接懵圈了,放一条日志进去匹配不到。字段对不上。

配置现场:

filebeat-6.5.4-windows-x86_64\module\iis\access\ingest\default.json

除了iis module,还有很多丰富的module备选,apache2,auditd,elasticsearch,haproxy,icinga,iis,kafka,kibana,logstash,mongodb,mysql,nginx,osquery,postgresql,redis,suricata,system,traefik

5-2.使用IIS module,要开启相应的插件

不要慌,报错上面有提示,跑2条命令。玩开源啊,要有看报错的准备,从报错中看答案。看不出来再去搜索~

六、where is Ambari

Apache Ambari能傻瓜式的部署安装Hadoop,Elastic系列产品少了一个类似的产品。对于开源届来讲,不了一个统一的傻瓜式部署平台。如果有的话,请留言告诉我哈~

七、where is  智能调优

一堆产品组合成一个解决方案,人肉调优好心碎,也不专业。

八、 Kibana机器学习初感

初看,是看不出什么内涵,就罗列了一堆维度,看不出什么机器学习的能力。好像一个营销噱头,也可能我没有看到kibana的机器学习功力。

能坚持看完吐槽的小伙伴,真的是铁丝。接下来会将本次实验的步骤截图展示出来。很多都是网上可以查到的!也不要太失望,我截了不少效果图,对于不想动手搭建环境的老铁,可以直接看效果图,再决定要不要玩起来。

部署说明,本次搭建的实时日志分析系统用到了FileBeat,ElasticSearch,Kibana,都可以从官方网站www.elastic.co直接下载。elasticsearch-head请从github上下载。基本上都是开箱即用的,只有少部分要调整,依据我的部署说明来,应该能通关,如有遇到解决不了的问题,也要可以在公众号中留言提问,我会解救你。

部署步骤:

前置:安装jdk,我用的1.8版本,自行安装解决。

  1. 安装elasticsearch-6.5.4
  2. elasticsearch-head
  3. kibana-6.5.4-windows-x86_64
  4. filebeat-6.5.4-windows-x86_64

不要怕,都是解压出来就能跑

大数据实时日志系统搭建文件目录

1.安装elasticsearch-6.5.4

解压出来,跑 elasticsearch-6.5.4\bin\elasticsearch.bat

跑完,可以查看localhost:9200,能查看到类似以下界面!纯接口,人类表示无法看,于是要安装一个elasticsearch-head,类似一个管理查看的。

elasticsearch_9200安装成功效果图

2.安装elasticsearch-head

将https://github.com/mobz/elasticsearch-head

克隆或者下载到本店,下载一个node.js,安装好

因为这个东东需要用到node.直接到node.js上下载一个,一路next,就安装好了node.js。

cmd进入到elasticsearch-head的目录

依次输入

yarn install

yarn start

命令说明:yarn install是恢复elasticsearch-head引用到的包,yarn start是用于启动。当然,也可以使用npm install,npm start,最终效果是一样的,如果你没有安装yarn的话,可以用npm。因为资源可能在国外,所以执行命令会慢,等一等,如果失败的话,请更换成国内的源。(可以搜索,也可以来问我哈)

见证奇迹的时刻来了:

elastic-header-cors_problem

报错了,提示跨域了。解决方案:修改elasticsearch-6.5.4\config\elasticsearch.yml,增加:

http.cors.enabled: true

http.cors.allow-origin: “*”

备注:这里用的是*,如果用于生产环境,建议写具体的URI

处理完的效果图

elastic-header-cors_ok

3.安装kibana-6.5.4-windows-x86_64

解压后执行命令  kibana-6.5.4-windows-x86_64\bin\kibana.bat

进入http://localhost:5601/ 查看kibana,进入是空白的,kibana自带了一些示例数据,在里面点点点就找到了,进入Dashboards

  • eCommerce
  • Logs
  • Flights

官方示例数据是三大领域,商业、日志、航班,覆盖了多数场景,可以照着官方的示例完成自身的业务需求。

4.filebeat-6.5.4-windows-x86_64

Filebeat收集IIS有点小插曲,不碍事。

将filebeat-6.5.4-windows-x86_64\modules.d\iis.yml.disabled 改名为 iis.yml

跑不起来,但是有提示。就像问道游戏,每个任务都会有明确的提示,不会晕菜。

小插曲来了,elaticsearch中的抓到的日志,message中显示解析失败,日志没有按一个一个字段存下来,而是一整条,看起来怪怪的。怎么破?

到IIS中,选择站点,右则会有日志,点开,选择字段,全部选上。

配置完,就能正确收到IIS日志信息了。

这就是我选这个图当封面的原因,坑啊。

怎么不断产生访问日志?

写一个.bat文件,多点开几个,跑着就好了。

:S

echo hello world

curl http://www.yue.ma

goto S

效果图

安装部署流程讲完了,不懂的地方可以随时留言!喜欢看效果图的小伙伴有福了,我截了不少kibana的效果图,一起来看看吧!效果图后面,还会分析一下,为什么kibana效果也不差,而且还是开源的,我们为什么不用kibanan

Kibana用来全方位监控服务器、数据库、网络状态、商业数据等等都是不错的选择,但是我们的全链路跟踪分析系统需求有些特殊,需要对各站点日志请求进行分析,归到不同的业务上,并依据日志生成调用关系图。这就是实时日志系统搭建从入门到放弃的来源,因为明天会升级方案!

明天将介绍FileBeat+Kafka+LogStash+ElasticSearch+Storm,全链路分析系统的大数据日志环境搭建!敬请关注明天的大数据日志分析实战图文直播!

小白玩大数据日志分析系统经典入门实操篇FileBeat+ElasticSearch+Kibana 实时日志系统搭建从入门到放弃相关推荐

  1. Linux【实操篇】—— 用户管理、linux系统root密码找回方式

    目录 一.用户管理 1. 添加用户 2. 设置/修改用户密码 3. 删除用户 4. 查询用户信息 5. 切换用户 6. 查看当前用户信息 7. 用户组 8. 注销用户 9. 用户和用户组的相关文件介绍 ...

  2. 【计算机专业毕设之基于python猫咪网爬虫大数据可视化分析系统-哔哩哔哩】 https://b23.tv/jRN6MVh

    [计算机专业毕设之基于python猫咪网爬虫大数据可视化分析系统-哔哩哔哩] https://b23.tv/jRN6MVh https://b23.tv/jRN6MVh

  3. 大数据系统开发综合实践(淘宝双11大数据批处理分析系统、NBA 、淘宝购物大数据实时展示、Spark GraphX)

    cqupt || xmu--大数据系统开发综合实践 代码放在了GitHub上 链接 task01 大数据批处理系统 淘宝双11大数据批处理分析系统 task02 大数据查询分析计算系统 NBA 统计大 ...

  4. 基于Neo4j中医方剂药材知识图谱大数据可视化分析系统的设计与开发

    基于Neo4j中医方剂药材知识图谱大数据可视化分析系统的设计与开发 设计背景 这个系统的开发初衷是笔者希望通过这个系统来学习一下Neo4j的相关技术,包括与python.java的对接.可视化等方面, ...

  5. TOOM大数据舆情监控系统方案,如何做好舆情大数据监测分析?

    大数据舆情监控是指通过对大量数据的收集.分析和处理,了解舆论的发展趋势和活动,并对舆论风险进行预警和评估,以保障企业的舆论安全.TOOM大数据舆情监控系统方案,如何做好舆情大数据监测分析? 一.大数据 ...

  6. 毕业设计 - 地铁大数据客流分析系统 设计与实现

    文章目录 1 前言 1.1 实现目的 2 数据集 2.2 数据集概况 2.3 数据字段 3 实现效果 3.1 地铁数据整体概况 3.2 平均指标 3.3 地铁2018年9月开通运营的线路 3.4 客流 ...

  7. ByteV智能电网大数据可视化分析系统

    ByteV智能电网大数据可视化分析系统是一个面向电力行业管理部门的综合辅助决策平台,旨在通过大数据技术和系统全方位时空动态感知能力,为电力行业管理决策者提供及时.准确的多维数据分析结果信息,直观展现数 ...

  8. 基于Python的微博大数据舆情分析,舆论情感分析可视化系统

    运行效果图 基于Python的微博大数据舆情分析,舆论情感分析可视化系统 系统介绍 微博舆情分析系统,项目后端分爬虫模块.数据分析模块.数据存储模块.业务逻辑模块组成. 先后进行了数据获取和筛选存储, ...

  9. 推荐零基础学习大数据的10本经典图书

    学习大数据并不是一蹴而就的事情,及时工作多年的开发工程师都需要不断的补充新鲜的知识内容.目前学习大数据知识可以通过视频和图书两种方式学习,视频的优势在于能够将老师的个人开发经验传授给学习者,而图书的优 ...

最新文章

  1. pandas dataframe缺失值(np.nan)处理:识别缺失情况、删除、0值填补、均值填补、中位数填补、加缺失标签、插值填充详解及实例
  2. 点击空白 键盘消失 (待续……)
  3. 【转】全排列算法非递归实现和递归实现
  4. 基于Vue项目打包上线配置
  5. 1、Linux命令随笔
  6. k8s 组件介绍-API Server
  7. python删除重复元素_Python-删除列表中重复元素的方法
  8. MySQL innosetup_jdk,tomcat,mysql,innosetup封装
  9. 超赞!机器学习画图模板ML Visuals更新了
  10. Swift设计模式: 观察者模式(发布-订阅模式)
  11. AutoCAD 2008中文版实用自学手册•机械设计篇
  12. Gröbner基方法入门第II部分:Gröbner基和Buchberger算法
  13. Android addr2line 工具使用
  14. [转载]“有教无类”是孔子的招生口号
  15. 【零基础小白的华丽蜕变】AIX 操作系统 + ODM 库 + SMIT 工具
  16. 初创企业购买企业邮箱_应用创意可为2019年及以后的初创企业带来收入
  17. html文本框中有一个叉号标志,html 输入框显示“小叉叉”的清空图标
  18. iOS 高仿美图定制
  19. STM32 之六 USB IP(USB模块)、官方驱动版本 详解
  20. 18-----BBS论坛

热门文章

  1. Java第一课学习,开启学习之旅!
  2. Qt源码分析--QImage(8)
  3. 金仓数据库KingbaseES运维工具参考手册(5. 辅助运维工具)
  4. python批量搜索关键字_python – 搜索多个关键字的字符串列表
  5. 一对一直播软件源码开发,iOS视频采集的实现过程
  6. 【笨木头Unity】入门之旅009:Demo之四处找死(四)_在代码里操作物体
  7. arcgis中python坡度计算_ArcGIS坡度计算
  8. gr java ch,Apache POI 快速指南.pdf
  9. 计算折叠多少次纸能不低于珠穆朗玛峰
  10. 全志H616高画质芯片香橙派Orange Pi Zero2开发板音频测试说明