ELK的踩坑之旅爱咋闹

起源许多年前,一个刚结婚的名叫ShayBanon的失业开发者,跟着他的妻子去了伦敦,他的妻子在那里学习厨师。在寻找一个赚钱的工作的时候,为了给他的妻子做一个食谱搜索引擎,他开始使用Lucene的一个早期版本。直接使用Lucene是很难的,因此Shay开始做一个抽象层,Java开发者使用它可以很简单的给他们的程序添加搜索功能。他发布了他的第一个开源项目Compass。后来Shay获得了一份工作,主要是高性能,分布式环境下的内存数据网格。这个对于高性能,实时,分布式搜索引擎的需求尤为突出,他决定重写Compass,把它变为一个独立的服务并取名Elasticsearch。第一个公开版本在2010年2月发布,从此以后,Elasticsearch已经成为了Github上最活跃的项目之一,他拥有超过300名contributors(目前736名contributors)。一家公司已经开始围绕Elasticsearch提供商业服务,并开发新的特性,但是,Elasticsearch将永远开源并对所有人可用。据说,Shay的妻子还在等着她的食谱搜索引擎…

有3台机器

2台做elasticsearch的主副节点

1台做kibana和elasticsearch_head由于机器匮乏我还在这台机器上部署了logstash和nginx服务(虽然下面的架构中都提到了redis等缓存,但是暂时没有加该服务,后期会研究添加上的)

先说目的:将nginx的日志通过logstash收集后发送到ela,然后kibana进行展示

环境如下elasticsearchmaster10.5.2.175:9200elasticsearchsalve10.5.2.176:9200logstash172.17.211.153启动命令:nohup/usr/local/logstash/bin/logstash-f/usr/local/logstash/config/agent.conf-w10-l/usr/local/logstash/logs/logstash-plain.log&nginxes-head:172.16.211.143:9100kibana:172.16.211.143:5601架构如下:

加redis/kafa的原因:

在生产环境中,我们的日志可能会有瞬时高峰,而这个时候如果直接存入es,可能会导致es承受不住,从而影响日志的收集和查询。一般情况下,我们会将日志存直接放到kafka或者redis这种读写性能非常高的应用中,作为一个缓存,然后通过下游组件(例如logstash)进行消费、过滤后存入ES,然后通过可视化界面查看。

vim/etc/sysconfig/elasticsearchJAVA_HOME=/usr/java/jdk1.8.0_151elasticsearch的概念index索引相当于数据库里的“数据库”他是我们存储和索引关联数据的地方

type类数据将一类的数据放到一起相当于数据库中的“表”

id相当于数据库表中的一行

下面的命令可以查看当前节点的所有Index。

pertty在网页中格式化输出响应内容

问题解决:

在elasticsearch中没有当天的索引

头一天使用过的bj日志第二天无法收集到,原因是昨天logstash已经收集过一遍,就被打过了标签,今天再使用的话,如果这个日志是不再增加的就不会被收集,因为日志中没有新的内容进来,解决方法如下:

systemctldaemon-reload这里由于是二进制的安装方法,所以要设置一个systemctlstartkibana.service的启动方法

kibana查询语法基于Lucene

Lucene是apache软件基金会4jakarta项目组的一个子项目,是一个开放源代码的全文检索引擎工具包,但它不是一个完整的全文检索引擎,而是一个全文检索引擎的架构,提供了完整的查询引擎和索引引擎,部分文本分析引擎(英文与德文两种西方语言)。Lucene的目的是为软件开发人员提供一个简单易用的工具包,以方便的在目标系统中实现全文检索的功能,或者是以此为基础建立起完整的全文检索引擎。Lucene是一套用于全文检索和搜寻的开源程式库,由Apache软件基金会支持和提供。Lucene提供了一个简单却强大的应用程式接口,能够做全文索引和搜寻。在Java开发环境里Lucene是一个成熟的免费开源工具。就其本身而言,Lucene是当前以及最近几年最受欢迎的免费Java信息检索程序库。人们经常提到信息检索程序库,虽然与搜索引擎有关,但不应该将信息检索程序库与搜索引擎相混淆。Lucene最初是由DougCutting开发的,在SourceForge的网站上提供下载。在2001年9月作为高质量的开源Java产品加入到Apache软件基金会的Jakarta家族中kibana在ELK阵营中用来查询展示数据elasticsearch构建在Lucene之上,过滤器语法和Lucene相同

当在els中有了当天的索引,就可以到kibana中取创建索引模式了,只是这里提供了一手动创建的方式,无法自动进行,需要本地定义脚本的方式进行自动索引的创建。

等所有索引都创建完毕后,在下面就能看到了

然后在下面这个里面就能看到我们的索引里面的数据情况了,前提是你的logstash成功将切割后的日志发送到了els中

方法如下:

第一点:KB、ES版本不一致(网上大部分都是这么说的)

解决方法:把KB和ES版本调整为统一版本

第二点:kibana.yml中配置有问题(通过查看日志,发现了Error:NoLivingconnections的问题)

第三点:浏览器没有缓过来

解决方法:刷新几次浏览器。

分析的必要性:顶级

Filebeat是收集日志的另外一种方式,二者区别在于以下

Filebeat用于日志收集和传输,相比Logstash更加轻量级和易部署,对系统资源开销更小,日志流架构的话,Filebeat适合部署在收集的最前端,Logstash相比Filebeat功能更强,可以在Filebeat收集之后,由Logstash进一步做日志的解析,至于kafka也可以考虑添加,然后收集的数据都存放在elasticsearch中。

在logstash客户端的配置文件中会有这么一个配置文件

启动方法基于最基础的nohup方式nohup/usr/local/logstash/bin/logstash-f/usr/local/logstash/conf/agent.conf&>/dev/null也可以用daemontools来进行管理安装yum-yinstallsupervisord--enablerepo=epel在/etc/supervisord.conf配置文件里添加内容,定义你要启动的程序:[program:elkpro_1]environment=LS_HEAP_SIZE=5000mdirectory=/opt/logstashcommand=/opt/logstash/bin/logstash-f/etc/logstash/pro1.conf--pluginpath/opt/logstash/plugins/-w10-l/var/log/logstash/pro1.log[program:elkpro_2]environment=LS_HEAP_SIZE=5000mdirectory=/opt/logstashcommand=/opt/logstash/bin/logstash-f/etc/logstash/pro2.conf--pluginpath/opt/logstash/plugins/-w10-l/var/log/logstash/pro2.log然后启动servicesupervisordstart即可。logstash会以supervisord子进程的身份运行,你还可以使用supervisorctl命令,单独控制一系列logstash子进程中某一个进程的启停操作:supervisorctlstopelkpro_2关于grok语法官方给定的语法

如果你使用的正则语言可以将nginx日志进行匹配,就可以成功对日志进行切割,效果看下图:

解决说是要设置锚点目前不懂什么意思先放到这里

另外一种说法,暂时不会用,先放着1.if"_grokparsefailure"in[tags]{drop{}}2.match语句跟第一个一样的没啥要点,看着官网例子搞就行了3.尽量用grok吧,grep功能以后要去掉的。当时想的另外一种解决方法就是改nginx的日志格式成json形式的,但是我不想用这种方法。

THE END
1.菜肉蛋奶零食,一篇学会各类食物英文名词菜肉蛋奶零食,一篇学会各类食物英文名词美言学社 广东 1 打开网易新闻 体验效果更佳苏联咸鱼领导人勃列日涅夫,曾创下苏联巅峰时刻,却又毁掉了苏联 我的盖世摇滚英雄 1.5万跟贴 打开APP 一对夫妻,办理了离婚手续,丈夫心情沉重 以晴爱搞笑 982跟贴 打开APP 豆瓣高分励志片,如果此刻的你正值低谷,一定不能错过! https://m.163.com/v/video/VFHDG1GQP.html
2.西餐菜品英语翻译指南:从开胃菜到甜点!西餐文化博大精深,其菜式名称更是琳琅满目。从开胃菜到主菜,从配菜到甜点,每一味佳肴都拥有一个优雅且精准的英文名称。本文将从四方面详细阐述西餐菜品英文名称的表达方式,带领读者领略西餐语言的魅力。 一、开胃菜 西餐中的开胃菜,旨在刺激食欲,为之后的用餐做好准备。 https://www.coffee.cn/xican/post/482200.html
3.RamsaysUltimateCookeryCourse《戈登·拉姆齐终极烹饪教程一切尽在这套烹饪教程当中 Welcome to my Ultimate Cookery Course. 欢迎来我的终极烹饪教程 Packed with cooking tips, information 这里有烹饪窍门和知识 and 100 recipes to stake your life on. 以及让你受用一生的一百道食谱 Now for the perfect way to ease yourself into the day. 这将给你的一天带来https://max.book118.com/html/2021/1206/5311340143004132.shtm
4.英文原版Tartine面包甜点食谱烹饪美味面包烘培教程英文版面包片:68个全新的食谱+55个全新的 英文原版 Tartine 面包甜点食谱 烹饪美味面包烘培教程 英文版 进口英语书籍 纽约时报2019年推荐食谱 配送 至 选择地区查看预计配送信息 快递:0元起 服务支持退换 · 7天无理由退货 · 收货后结算 参数纸质; 版本 该商品所属店铺评价 https://h5.youzan.com/v2/goods/3nwlo7m29gyuq7m
5.Github的食用方法github的overview和repos大概在大一上暑假之后出几期关于Stack overflow和Coursera和VS 2019的简单教程,所以大家记得点关注哟~ 介绍Github主菜单栏上几个XX的作用 1、Pullrequests 发送合并请求,基于Fork(后面会讲到) 2、Issues 是一个反馈平台,可以在别人的项目提出有他的项目出Bug的地方,和别人讨论他的项目问题(对于新手来说相当于论坛?)https://blog.csdn.net/CourserLi/article/details/102647876
6.综合英语教程2词汇表6篇(全文)综合英语教程2词汇表 第1篇 第2册词汇小结 Unit 1accomplish: 达到,完成,实现 accomplish one’s purpose / accomplish one’s mission / accomplish-ment: 成就,成绩 She’s known for her accomplish-ment in improving the region’s hospitals.apply: 适用,应用 They applied the rules to new members onlyhttps://www.99xueshu.com/w/filep71v1aug.html
7.大学体验英语综合教程3课文翻译大学体验英语综合教程3课文翻译(共6篇) 篇1:大学体验英语综合教程3课文翻译 Unit1 蛙的故事 最近发生了几桩怪事儿。 我在北威斯康星州的树林中有一座小木屋。是我亲手搭建的,前面还有一间花房。住在里面相当惬意。实际上我是在户外做音频制作和环境方面的工作--作为干这一行的工具,我还装备了一间带电脑的工作https://www.360wenmi.com/f/fileutab6clt.html
8.简单汉化教程,适合自用,不用再全网找汉化了真的很简单,写个教程吧,有感兴趣的冷门mod找不到翻译的话,用我的这个方法很方便省的求人,特别是很多汉化还收费。 第一步: 参考这个帖子:https://www.sglynp.com/t134170 先去百度翻译注册,搞到这两个东西 第二步: 下载帖子里的自动翻译软件。我把链接附上了:http://www.simfileshare.net/download/297244https://m.douban.com/group/topic/282119723/
9.饥荒全人物解锁及主角自动回血等实用修改教程修改料理食谱《饥荒》这款生存游戏,很多玩家都想觉得游戏有些难,就想修改一些内容,比如解锁全人物,主角自动回血,主角不会饿之类的,下面小编为大家奉上最全的修改教程,内容简单易懂,希望各位玩家喜欢。目录https://www.gamersky.com/handbook/201501/513086_425.shtml
10.胡迪尼软件Houdini20.5附注册机+安装教程英文破解版下载胡迪尼软件Houdini 20.5【附注册机+安装教程】英文破解版 软件简介:Houdini是由加拿大Side Effects Software Inc.(简称SESI)公司开发的3D计算机图形软件,这是一家由Kim Davidson和Greg Hermanovic于1987年创立的加拿大公司。胡迪尼是在Prisms的基础上重新开发的,可以在Linux、Windows、Mac OS等操作系统上运行,是完全基https://software.3d66.com/list/detail_9140.html
11.真实开箱测评小熊快炖电砂锅怎么样?小熊电砂锅使用教程和食谱最近,华人生活馆新上市了一款小熊快炖电砂锅DSG-D30S1,不仅颜值清新,功能也很齐全,很多朋友都在问,这款小熊快炖电砂锅质量怎么样?小熊电砂锅好不好用?今天,小编就来开箱测评一下,一起讲解小熊电砂锅的使用教程,也附送小熊电砂锅食谱大全,记得收藏哦~ http://www.huarenstore.com/blog/?p=38610
12.TOP学习资源英语学习编程算法演讲辩论等学习导航及教程免费、简单编程学习平台 Code.org 为儿童提供免费编码课程,美国有40%的学生都通过这个网站学习编程,制作了超过8000万的作品。 E-learning for kids E-learning for kids 是一个数学、科学和英语等分科学习网站,当然所有语音、展示都是英文。孩子可以在学习知识的同时顺带学习英语。 https://studyisland.ac.cn/
13.教程:开发一个简单的IDT测试套件若本译文内容与英语原文存在差异,则一律以英文原文为准。 测试套件结合了以下内容: 包含测试逻辑的测试可执行文件 描述测试套件的配置文件 本教程向您展示如何使用 AWS IoT Greengrass IDT 来开发包含单个测试用例的 Python 测试套件。在本教程中,您将完成以下步骤: 创建测试套件目录 创建配置文件 创建测试用例https://docs.aws.amazon.com/zh_cn/greengrass/v2/developerguide/create-custom-tests.html
14.www.scmc日本五十路乱伦 日常美图教程视频在线播放 叫什么 《空乘情人》在线观看 校园春色人妻小说 男人天堂最新中文 胸被老板看到了怎么办 国军女大生免费观看 中日韩三级片免费 快点操我啊啊啊啊啊啊啊 黄色软件下载3.0.3vivo免费大全安装 国产综合高清无码视频 美国十次啦分站 草莓app下载网站进入色板网站 老师操http://www.scmc-xa.com/xxxr/544046.htm
15.天美麻花果冻视频大全英文版,带你了解如何制作美味麻花果冻的秘诀随着网络时代的到来,很多食谱和制作方法已经被制作成了视频教程,便于大家更直观地学习和操作。天美麻花果冻也不例外,网上有许多关于它的英文版视频教程,这些视频讲解了从麻花的制作到果冻的调制,再到如何将两者完美结合的全过程。如果你是初学者,观看这些教程无疑能帮助你更好地理解每个步骤,并避免操作中的错误。 http://www.ahch.group/ahzx/2220459.html
16.柠檬香草戚风蛋糕的商用配方教学教程,柠檬香草戚风蛋糕菜谱的今天给大家带来美味好吃的柠檬香草戚风蛋糕菜谱配料配方制作详细教学教程,柠檬香草戚风蛋糕配方可以商用,可以家用。戚风蛋糕是英文Chiffon Cake的音译,属海绵蛋糕类型,是由分开的蛋白加细砂糖打发制作的,成品组织膨松,水分含量高,味道清淡不腻,口感滋润松软有弹性,http://www.haopeifang.com/peifang/44452.html
17.哒哒做菜美食菜谱菜谱大全食谱大全哒哒做菜是一个集美食做法教程的一个分享类聚集点。内容包含丰富的美食菜谱、食谱、早餐推荐、菜谱大全等等。让我们一起来哒哒做菜分享和学习你的美食时刻吧!http://meishijc.com/