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.食谱编制的方法有哪几种(2)按热比值计算碳水化合物、脂肪和蛋白质的每日需要量; (3)确定主食的需要量; (4)确定副食的需要量; (5)确定蔬菜水果的需要量; (6)精纯食品的供给量 包括精纯糖类、食盐、植物油; (7)编制食谱。 2、按“食品交换份法”中各类食品能量及营养素的含量设计食谱。 3、电脑软件进行编制。优选推荐大树https://m.yyk.iask.sina.com.cn/q/87s3gxESSqkh.html
2.跨学科主题学习实践与探索—以“校园菜谱我做主”为例1.设计思路 本节课为《营养菜谱我做主》单元的第二课时内容。课前回顾上节课内容让学生再次明确单元问题。任务一通过让学生自主观看在Excel中数据“排序”微课,学习如何使用排序操作整理上节课用问卷手机的数据,调查学生们最喜欢吃的菜品,感受数据的价值,并且根据数据处理结果小组合作设计菜谱初稿。接着引入菜单中需考https://tpd.xhedu.sh.cn/cms/app/info/doc/index.php/92749
3.圣诞节促销店铺活动方案(优秀17篇)1、12月17日报纸四分之一通栏,设计思路:不能过分强调商品促销,应以圣诞活动为主,将面膜活动介绍清楚及诱导顾客参与为重中之重。 2、12月23日报纸四分之一,以促销为主,重点转为商品促销以及整体活动介绍,并突出圣诞夜场。 3、发放活动传单若干。 圣诞节策划营销活动方案 16 https://www.shubaoc.com/zhichang/cehua/44wv.html
4.《营养午餐》教学设计学生:收集班上偏胖或偏瘦同学的饮食习惯、自己喜爱吃的几种食谱 教学思路 本节实践活动课旨在让学生通过比较、分析认清营养午餐的指标,学会一定的搭配技巧,同时在统计中引导学生养成良好的饮食习惯。为此,教学活动充分让学生得到体验,既让学生运用指标进行判断同时又让学生进行配餐实践,教师在其中只是承担了“组织与引导https://quan.qlteacher.com/u/5378468bf66f238fb3ae5ff1/blog/631fd3d38df664000171b44a
5.下厨房App的体验创新选题围绕人们自我烹饪美食的问题,也是针对“下厨房”这类菜谱查询,分享菜谱和食谱课程学习App的体验问题,展开的用户体验分析和交互设计创新。选题App也可以用“美食达人”、“烹饪能手”、“厨师菜单”等名字。该选题的目标用户为以本人为核心的一群人。 一、选题:初步的活动定义https://www.jianshu.com/p/4450ff97db19
6.济宁市人民政府教学教研济宁第一职业中等专业学校专业建设人才面向幼儿园及其他幼教机构学前教育专业领域,培养拥护党的基本路线,适应学前教育专业领域管理、教学、服务第一线需要的,德、智、体、美等方面全面发展,具有良好的教师职业道德和先进的幼儿教育理念,掌握学前教育专业必备基础理论知识和保教专业技能,具有较强的保育能力、活动设计与组织能力、反思与自我发展能力,善于沟通与合http://www.jining.gov.cn/art/2023/11/30/art_81890_2794562.html
7.厨房的设计思路相似应用下载厨房电器下载 思路高清下载 厨房设计理念下载 贝太厨房下载 厨房水槽app下载 疯狂的厨房app下载 妈妈的厨房app下载 思路教育app下载 思路网app下载 亚洲厨房app下载 厨房食谱app下载 蘑菇厨房app下载 优思路app下载 下载豌豆荚客户端 (领礼包看攻略) 下载 相关推荐: 厨房的设计思路最新版 ?https://m.wandoujia.com/apps/6883621/
8.新课标视域下的大单元教学设计思路新课标视域下的大单元教学设计思路 ——以初中生物教学为例 □李智 高瑞雪 《义务教育生物学课程标准(2022年版)》(以下简称新课标)指出,初中生物学的课程理念包括:核心素养为宗旨、课程设计重衔接、学习主题为框架、内容聚焦大概念等。新课标将党的育人方针细化为本课程应着力培养的核心素养,优化了课程结构,强调http://epaper.sxjybk.com/jsb/20221225/html/content_20221225004002.htm
9.学习计划App排行榜华为手机学习计划app推荐时光计划基于产出=时间*效率的理念,以激励把握时光、助力高效计划为设计初心,助力您开启成功之旅。时光记忆、游戏化人生、成就商店、黎明VS黑暗等成就体系激励把握时光、热血青春;四象限法则、一万小时定律、番茄工作法、遗忘曲线等科学理论助力高效计划、效率人生。 【四象限法则】习惯、复习、待办、(每日、每周、每月)https://www.diandian.com/phb/1471/