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://baijiahao.baidu.com/s?id=1781905025072042767&wfr=spider&for=pc
2.食谱编制的方法有哪几种(3)确定主食的需要量; (4)确定副食的需要量; (5)确定蔬菜水果的需要量; (6)精纯食品的供给量 包括精纯糖类、食盐、植物油; (7)编制食谱。 2、按“食品交换份法”中各类食品能量及营养素的含量设计食谱。 3、电脑软件进行编制。梦醒童话 2024-08-21 11:22:14相关https://edu.iask.sina.com.cn/jy/gGIHYNXtUF.html
3.跨学科主题学习实践与探索—以“校园菜谱我做主”为例1.设计思路 本节课为《营养菜谱我做主》单元的第二课时内容。课前回顾上节课内容让学生再次明确单元问题。任务一通过让学生自主观看在Excel中数据“排序”微课,学习如何使用排序操作整理上节课用问卷手机的数据,调查学生们最喜欢吃的菜品,感受数据的价值,并且根据数据处理结果小组合作设计菜谱初稿。接着引入菜单中需考https://tpd.xhedu.sh.cn/cms/app/info/doc/index.php/92749
4.《营养午餐》教学设计学生:收集班上偏胖或偏瘦同学的饮食习惯、自己喜爱吃的几种食谱 教学思路 本节实践活动课旨在让学生通过比较、分析认清营养午餐的指标,学会一定的搭配技巧,同时在统计中引导学生养成良好的饮食习惯。为此,教学活动充分让学生得到体验,既让学生运用指标进行判断同时又让学生进行配餐实践,教师在其中只是承担了“组织与引导https://quan.qlteacher.com/u/5378468bf66f238fb3ae5ff1/blog/631fd3d38df664000171b44a
5.教育部:营养改善计划配套文件系列答问热点聚焦新闻问2:设计这些配套文件的整体思路是什么? 答:要制定一整套系统、实用的制度,首先必须要进行认真构思,做好整体设计和科学论证。我们在充分征求有关部门和试点省份意见基础上,分三个层级来设计配套文件。 第一层级是实施细则。即以国办发54号文件和刘延东国务委员的讲话精神为依据,进一步明确了各级政府、各有关部门和http://jyt.shaanxi.gov.cn/jynews/rdjj/201206/15/28087.html
6.菜谱网(有美食达人)附论文基于springboot降食谱论文通过熟练应用各种框架技术和开发软件,才能顺利搭建开发环境,进行系统的整体设计、调试和测试工作。 2.拟解决的关键问题:(1)如何让用户使用起来有更好的体验?(2)用户的权限如何去管理?(3)菜谱信息如何管理? 3.解决思路:(1)采用Spring Boot框架实现系统的页面,使系统用起来更加简单明了。(2)通过将用户的级别分为https://blog.csdn.net/qq_21119773/article/details/128523104
7.2018级老年服务与管理专业人才培养方案初始岗位群:各级各类养老及涉老机构的养老护理员及基层管理者、社区服务与管理员、老年产品及老年产业营销员、涉老社会组织与机构工作人员、民政事务管理人员等。 发展岗位群:在各级各类养老机构、社区服务与管理组织、涉老社会组织与机构等从事养老护理员培训、老年照护管理、老年健康管理、老年社会工作、老年康复辅助器https://jwc.wfhlxy.com/info/1023/1358.htm
8.厨房的设计思路相似应用下载厨房电器下载 思路高清下载 厨房设计理念下载 贝太厨房下载 厨房水槽app下载 疯狂的厨房app下载 妈妈的厨房app下载 思路教育app下载 思路网app下载 亚洲厨房app下载 厨房食谱app下载 蘑菇厨房app下载 优思路app下载 下载豌豆荚客户端 (领礼包看攻略) 下载 相关推荐: 厨房的设计思路最新版 ?https://m.wandoujia.com/apps/6883621/