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.单位食谱安排表李先生是一个爱运动的人,他经常参加马拉松比赛。他发现通过科学规划他的饮食能够帮助他恢复体力并提升表现。他开始使用专门为运动员设计的单位食谱安排表,以确保他获得足够量必要蛋白质来修复肌肉,同时减少过度消化导致不适的情况。 王太太正在怀孕,她意识到正确选择与补充必需营养素对胎儿发育非常关键。她开始遵循专业医https://www.hgddesks.cn/mei-shi-gong-lve/554635.html
2.食谱编制的方法有哪几种(2)按热比值计算碳水化合物、脂肪和蛋白质的每日需要量; (3)确定主食的需要量; (4)确定副食的需要量; (5)确定蔬菜水果的需要量; (6)精纯食品的供给量 包括精纯糖类、食盐、植物油; (7)编制食谱。 2、按“食品交换份法”中各类食品能量及营养素的含量设计食谱。 3、电脑软件进行编制。优选推荐大树https://m.yyk.iask.sina.com.cn/q/87s3gxESSqkh.html
3.下厨房App的体验创新五、情境故事:功能模块的交互设计 1.每日任务模块的主要情境 完成任务流程:闲着没事,于是打开APP,想要先完成每日任务获得奖励,提升等级,系统随机提供一些推荐的食谱笔记,以供用户选择喜欢的笔记点赞、评论、转发。完成每日任务获得响应的经验值,每积累一定经验值既可升级等级,在下厨房APP举办的活动中,越高的等级也将成https://www.jianshu.com/p/4450ff97db19
4.跨学科主题学习实践与探索—以“校园菜谱我做主”为例接着引入菜单中需考虑的营养成分,通过观看自然老师的《健康饮食科普》视频,让学生初步对菜品营养数据有一定认识。任务二小组合作,通过平板软件获取菜品营养数据,自主完成表格求和操作并且结合《营养参考供给量》卡片完善菜谱。在制定完善菜谱的过程中感受应用数据解决问题的一般流程,下图为本节课的设计思路框架。https://tpd.xhedu.sh.cn/cms/app/info/doc/index.php/92749
5.母亲节手工方案(通用18篇)【设计思路】 母亲节到来之际,为培养幼儿感恩与关爱的品德,我们设计了母亲节系列活动。这是一次节日开放活动,我们邀请了幼儿的妈妈来园和我们一起参与活动。活动分为三个板块,一是以谈话《我的好妈妈》为开始,请幼儿说说妈妈平时对自己的关爱,让幼儿更多了解妈妈对工作、对家庭的付出。二是歌唱《我的妈妈》、《世https://www.unjs.com/fanwenku/308074.html
6.母亲节创意活动方案(精选18篇)设计思路 在母亲节到来之际,为培养幼儿感恩母亲、关爱妈妈的美好情感,我们设计、开展了系列活动。“感恩母亲节”是活动的结束部分,是对前期活动的回顾和展示,也是一次节日开放活动。 前期活动 1、谈话活动:我的好妈妈 2、语言活动:学习儿歌《我和妈妈》《健康快乐每一天》 https://www.cnfla.com/huodongfangan/3354851.html
7.食谱安排表精心编排每日美味之旅食谱安排表:精心编排每日美味之旅 制定餐饮计划 在开始任何食物准备之前,首先需要制定一个详细的餐饮计划。这包括确定每天所需的食材、菜品以及可能需要预先准备的一些步骤。这样可以帮助我们更好地控制食品成本,并确保每一餐都能按时完成。此外,这也意味着可以更有效地管理食物浪费,因为我们已经知道了具体会用到哪些食材https://www.kuaisuf.com/zi-xun/346990.html
8.2024级音乐教育专业人才培养方案(一)课程体系设计思路 根据《教育部关于职业院校专业人才培养方案制订工作的指导意见》,依据《小学教师专业标准》、《教师教育课程标准》 展开研制设计,结合教师教育新的课改前沿研究成果, 建构体现我校音乐教育 “综合性、民族性、职业性” 特色的课程体系。 https://jsjy.massz.edu.cn/2024/0826/c1805a63537/page.htm
9.济宁市人民政府教学教研济宁第一职业中等专业学校专业建设人才面向幼儿园及其他幼教机构学前教育专业领域,培养拥护党的基本路线,适应学前教育专业领域管理、教学、服务第一线需要的,德、智、体、美等方面全面发展,具有良好的教师职业道德和先进的幼儿教育理念,掌握学前教育专业必备基础理论知识和保教专业技能,具有较强的保育能力、活动设计与组织能力、反思与自我发展能力,善于沟通与合http://www.jining.gov.cn/art/2023/11/30/art_81890_2794562.html
10.主题宴会设计(通用11篇)宴会菜单的设计始终围绕“生如夏花”这一主题来进行,即菜式品种的特色、品质反映女性追求美容养颜的饮食内涵和特征。宴席标准为1388元/桌,每桌10人,内扣毛利率50%。 3.1 宴会食谱设计 宴会菜单根据主题和相关要求进行特别定制,首先精选菜品,突出养颜美容的特色。宴席菜品冷菜由三荤三素六围碟组成;热菜十道(荤菜八https://www.360wenmi.com/f/file3777eh4b.html
11.职工食堂经营思路8篇(全文)食堂经营思路 根据本职工餐厅的规模和企业的发展趋势,结合本人十多年的工作经验,特列如下几点计划供参考: 一、市场定位要准确 以家常菜为主,辅以经营粤菜、川菜、湘菜及地方菜。近年来,随着国家八项规定的实施,公款吃喝得到严厉的控制,所以单位消费只是满足职工日常用餐。当然还要保证职工吃出高品味,以低成本高质量回馈https://www.99xueshu.com/w/filemxmnhskf.html
12.七年级体育与降课教案汇总14篇五、设计思路 本课以“在活动中提高学生的学习兴趣”为主线,时时把学生的主体地位放在第一线,教学中启发学生大胆想象,鼓励学生主动体验,在关注学生主体地位的同时,层层深入地让学生体验合作交往,教师及时的鼓励和引导,把学生的学习兴趣充分调动,从而贯彻“健康第一”的指导思想。 http://www.jiaoyubaba.com/jiaoan/tiyu/83098.html