大数据ELK(十九):使用FileBeat收集Kafka日志到Elasticsearch

发布于:2024-10-24 编辑:匿名 来源:网络

使用FileBeat收集Kafka日志到Elasticsearch 1.需求分析 数据中有一个kafka_server.log.tar.gz压缩包,里面包含了很多Kafka Server 日志,现在我们想在 Elasticsearch 中快速查询这些日志来定位问题。我们需要使用FileBeats将日志数据上传到Elasticsearch。

问题:首先,我们需要指定FileBeat收集哪些Kafka日志,因为FileBeats必须知道日志存储在哪里才能收集。其次,收集完这些数据后,需要指定FileBeats将收集到的日志输出到Elasticsearch,所以Elasticsearch的地址也必须指定。

2.配置FileBeats FileBeats配置文件主要分为两部分。从名称inputsoutput就可以看出,一个用于输入数据,另一个用于输出数据。

1、输入配置代码语言:javascript copy filebeat.inputs:- type: log启用: true paths: - /var/log/*.log #- FileBeats中的c:\programdata\elasticsearch\logs\*,可读取1或更多数据源。 2、输出配置 默认情况下,FileBeat 会将日志数据放入名为:filebeat-%filebeat 版本号%-yyyy.MM.dd 的索引中。

PS:FileBeats中的filebeat.reference.yml包含了FileBeats所有支持的配置选项。三、配置文件 1.创建配置文件代码语言:javascript copy cd /export/server/es/filebeat-7.6.1-linux-x86_64vim filebeat_kafka_log.yml 2.复制配置文件代码语言:javascript copy filebeat。

输入:- 类型:启用日志:true 路径:- /export/server/es/data/kafka/server.log.*output.elasticsearch:主机:[“node1:”,“node2:”,“node3:”] 4、运行FileBeat1,运行FileBeat代码语言:javascript copy./filebeat -c filebeat_kafka_log.yml -e2,将日志数据上传到/var/kafka/log,并解压代码语言:javascript copy mkdir -p /export/server /es/data/kafka/tar -xvzf kafka_server.log.tar.gz 注意:文件权限错误 如果启动fileBeat时,报配置文件权限错误,请将其权限修改为-rw-r--r-- 5.查询数据 1、查看索引信息 GET /_cat/indices?v 代码语言:javascript Copy { "health": "green", "status": "open", "index": "filebeat-7.6.1-.12.05- 01”,“uuid”:“dplqB_hTQq2XeSk6S4tccQ”,“pri”:“1”,“rep”:“1”,“做cs.count":"80",????????"docs.deleted":"0",????????"store.size":"71.9mb",????????"pri.store.size":"35.8mb"????}GET?/filebeat-7.6.1 -.12.05-01/_search代码语言:javascript 复制????????????{????????????????"_index":?"filebeat-7.6.1-.12.05-01",????????????????"_type":?"_doc",????????????????"_id":?“-72pX3IBjTeClvZff0CB”,????????????????“_score” :?1,????????????????"_source":?{????????????????????"@timestamp":?"12-05T09:00:40.Z",?????????????????????"log":?{?????????????????????????“偏移量”:?3,????????????????????????“文件”:{?????????????????????????????“路径”:?“/var/kafka /log/server.log.12-05-16"????????????????????????}????????????????????},????????????????????"message":?"[12-05?09:01:30,]?INFO?套接字连接建立d、发起会话,客户端:/..88.:2,服务器:node1.cn/..88.:(org.apache.zookeeper.ClientCnxn)",???????????????????"input":?{?????????????????????????"type":?"log"?????????????????????} ,????????????????????“ecs”:?{????????????????????????“版本”:?“1.4.0”????????????????????},??????????????????????“主机”:?{?????????????????????????“名称”:“节点1”????????????????????},???????????????????“代理”:?{?????????????????????????“id”:?“b4c5c4dc-03c3-4ba4-dc 6afcb36d64", “版本”:“7.6.1”,????????????????????????“类型”:“filebeat”,???????????????????????“ephemeral_id”:“b8fbf7ab-bc37-46dd-86c7-fa7d74d36f63”,????????????????????????"hostname":?"node1"????????????????????}????????????????}????????????}FileBeat自动给我们添加了关于一些日志、采集类型、主机各个字段 6. 解决一条日志多行问题 在我们日常的日志处理中,经常会遇到日志出现异常的情况。类似下面的情况:代码语言:javascript复制[12-05 14:00:05,] WARN [ReplicaFetcherreplicaId=0,leaderId=1,fetcherId=0]发送Map的leader纪元请求时出错(test_10m-2 -> (currentLeaderEpoch=Optional[],leaderEpoch=))(kafka.server.ReplicaFetcherThread)java.io.IOException:连接到node2:(id:1机架:null)失败。

在 org.apache.kafka.clients.NetworkClientUtils.awaitReady(NetworkClientUtils.java:71) 在 kafka.server.ReplicaFetcherBlockingSend.sendRequest(ReplicaFetcherBlockingSend.scala:) 在 kafka.server.ReplicaFetcherThread.fetchEpochEndOffsets(ReplicaFetcherThread.scala:) 在 kafka。 server.AbstractFetcherThread.truncateToEpochEndOffsets(AbstractFetcherThread.scala:) 在 kafka.server.AbstractFetcherThread.maybeTruncate(AbstractFetcherThread.scala:) 在 kafka.server.AbstractFetcherThread.doWork(AbstractFetcherThread.scala:) 在 kafka.utils.ShutdownableThread.run(ShutdownableThread.标量:96)[12-05 14:00:05,] INFO [ReplicaFetcher replicaId = 0,leaderId = 1,fetcherId = 0]重试分区test_10m-2的leaderEpoch请求,因为领导者报告错误:UNKNOWN_SERVER_ERROR(kafka.server.ReplicaFetcherThread)[12-05 14:00:08 ,]警告[ReplicaFetcherreplicaId=0,leaderId=1,fetcherId=0]无法建立与节点1(node2/..88.:)的连接。

经纪人可能不可用。 (org.apache.kafka.clients.NetworkClient) 在FileBeat中,Harvest逐行读取日志文件,但是上面的日志会有一个日志跨越多行。

当有异常信息时,肯定会出现多行。我们先看看这种情况如果不默认处理的话可能会出现什么问题。

1. 导入错误日志 1) 在 /export/server/es/data/kafka/ 中创建名为 server.log.12-05 的日志文件 2) 更改数据中的 err.txt 日志 将文本粘贴到文件中,然后观察 FileBeat。发现FileBeat已经针对日志文件启动Harvester并读取数据。

代码语言:javascript 复制 12-05T19:11:01。 INFO log/harvester.go: Harvester returned for file: /var/kafka/log/server.log.12-) 在Elasticsearch中检索该文件我们发现原来是一个日志中的异常信息被作为单独的消息进行处理~"message":"java.io.IOException:Connection to node2:(id; 这显然不符合我们的预期。

我们想要的是将所有异常消息合并到一个日志中。那么遇到这种情况该如何处理呢? 2.???????问题分析每条日志开头都有统一的格式。

以Kafka的日志消息为例,[12-05 14:00:05,]这是统一的格式。如果不是以这种形式开始的话,说明这一行一定是属于某个日志,而不是一个独立的日志。

因此,我们可以通过日志的开头来判断某一行是否是新日志。 3.??????FileBeat多行配置选项在FileBeat的配置中,有一个特殊的配置是为了解决一条日志跨越多行的问题。

主要针对以下三种配置: 代码语言:javascript copy multiline.pattern: ^\[multiline.negate: falsemultiline.match: aftermultiline.pattern 表示可以匹配日志的模式。默认配置是以 [ 开头的模式被视为日志。

新日志。 multiline.negate:配置该模式是否生效。

默认为 false。 multiline.match:指示是将不匹配的行追加到上一个日志还是下一个日志。

4.重新配置FileBeat1)修改filebeat.yml,添加以下内容代码语言:javascript复制filebeat.inputs:-type:logenabled:truepaths:-/var/kafka/log/server。

大数据ELK(十九):使用FileBeat收集Kafka日志到Elasticsearch

站长声明

版权声明:本文内容由互联网用户自发贡献,本站不拥有所有权,不承担相关法律责任。如果发现本站有涉嫌抄袭的内容,欢迎发送邮件 举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。

标签:

相关文章

  • HiberCell是一家开发预防癌症复发新疗法的生物技术公司,获得6075万美元A轮融资,

    HiberCell是一家开发预防癌症复发新疗法的生物技术公司,获得6075万美元A轮融资,

    2月9日投资界消息,致力于开发预防癌症复发和转移新疗法的生物科技公司HiberCell成立并获得A轮融资。 本轮融资金额为 10,000 美元,由 ARCHVenture Partners 领投,其他投资者包括高瓴资本、同和毓承、新基、纽约生命科学基金以及其他未披露的机构投资者、家族基金和个人投资

    06-18

  • 在热门小程序IP的迭代中,风火地如何才能在主流中起飞?

    在热门小程序IP的迭代中,风火地如何才能在主流中起飞?

    每年2月至4月是服装批发的交易旺季。 今年受疫情影响,开工推迟,人流大幅减少,导致春季销售机会损失三分之一。 刘赳,蓝川技术的创始人之一。 他的公司“烽火快递”服务的主要客户群就是小微企业这群人。 疫情期间,风火地能为用户做什么?这是刘赳整个春节都在思考的问题。

    06-17

  • CES2020聚焦:盘点芯片厂商,观察消费市场形势

    CES2020聚焦:盘点芯片厂商,观察消费市场形势

    TrendForce 1月8日至11日,万众瞩目的2020国际消费电子展(CES)在美国拉斯维加斯举行。 消费电子市场终端产品的核心,芯片产品是CES的亮点之一。 每年都有不少厂商在这个时期发布终端产品和芯片产品。 下面我们将全面展示芯片厂商在CES上推出的新品。 从新产品的应用方向来看

    06-06

  • 2019中国大陆晶圆代工营收排行榜

    2019中国大陆晶圆代工营收排行榜

    芯思链接:1)华虹:掌握核心技术是功率半导体发展的必然选择2)Q4财报:中芯国际14nm贡献1%营收,华虹:香港利润下滑 3)半导体企业年度财务状况回顾 中国大陆本土晶圆代工整体营收1亿元,较上年下降0.6%。 中国大陆最大的七家本土晶圆代工企业中,只有华虹集团和晶和集成有

    06-06

  • SmartSens获得新一轮数千万美元融资

    SmartSens获得新一轮数千万美元融资

    2018年8月15日,中国上海——近日,CMOS图像传感器领先供应商SmartSens宣布完成新一轮数千万美元融资在融资方面。 本轮融资由国家集成电路产业投资基金(大基金)设立的北京芯能投资基金领投,联想创投集团等知名投资机构跟投。 完成本轮融资后,SmartSens将加大对CMOS图像传

    06-06

  • 无创中大为LP,参与设立5亿元仲达医疗基金

    无创中大为LP,参与设立5亿元仲达医疗基金

    投资界-解码LP消息,11月4日,无创中大(04)发布公告,公司控股子公司宏城投资、海南公司和台州市财投股权投资有限公司等相关方共同发起设立国仲达医药创业投资合伙企业(有限合伙)。 其中,海南公司作为有限合伙人认缴出资2.3亿元。 基金规模5亿元,重点投资生命健康、新药

    06-17

  • 凯恩股份拟参与设立10亿数字产业基金

    凯恩股份拟参与设立10亿数字产业基金

    据投资界5月7日消息,凯恩股份宣布,公司与厦门市翔安区政府签署《战略合作框架协议》 协议。 双方将在大数据技术、产业领域开展更广泛、更深入的合作。 双方拟共同设立数字产业基金,首期规模10亿元(暂定),将投资人工智能、大数据、云计算、互联网等数字经济产业优质企业

    06-18

  • 颐坤生物完成2亿元A轮融资,由礼来亚洲基金领投

    颐坤生物完成2亿元A轮融资,由礼来亚洲基金领投

    消息,创新型体外诊断公司颐坤生物宣布完成2亿元A轮融资。 本轮融资由礼来亚洲基金领投。 KimElmer Venture Partners 也参与其中。 颐坤生物位于苏州工业园区生物医药产业园,专注于传染病、肿瘤、妇幼疾病、慢性病等领域创新型体外诊断技术和产品的研发和生产。 致力于为不同

    06-17

  • 海南省已设立并运营5支政府投资基金,总规模超过18亿元

    海南省已设立并运营5支政府投资基金,总规模超过18亿元

    据投资界(微信ID:pedaily)11月27日消息,海南省已设立并运营第一期政府投资基金省人才租赁住房房地产投资信托基金、省文化体育产业发展基金等政府投资基金5只。 基金总规模18.7亿元(省政府投资1.8亿元),已完成外资项目25个,累计投资14亿元。 据悉,截至今年8月,海南

    06-18

  • 加速CD47靶向药物临床研发,宜明昂科获7000万元Pre-B+轮融资

    加速CD47靶向药物临床研发,宜明昂科获7000万元Pre-B+轮融资

    据投资界(ID:pedaily)8月27日消息,宜明昂科生物医药科技(上海)有限公司)有限公司宣布完成100万元Pre-B+轮融资,本轮融资由共青城瑞吉三期独家投资。 本轮融资将主要用于CD47融合蛋白药物IMM01和CD47xCD20双抗IMM的临床试验研究。 据了解,一鸣昂科生物医药科技(上海

    06-17

  • 我国17家芯片厂商联名签署《共建5G产业生态倡议书》

    我国17家芯片厂商联名签署《共建5G产业生态倡议书》

    中国经济网芯片是半导体元件产品的统称。 由于信息系统泛技术的最终落脚点是芯片技术,因此芯片技术的提升关系到很多高新技术产业的发展。 尤其是随着我国大力建设5G网络,芯片技术的升级也关系到我国5G网络的发展。 因此,芯片企业必须抓住5G通信的发展机遇,让芯片技术为5G

    06-06

  • LVMH第三季度增长陷入停滞

    LVMH第三季度增长陷入停滞

    经济前景的摇摆和通胀侵蚀的消费需求给今年一路高歌猛进的奢侈品行业蒙上了阴影。 北京时间10月11日凌晨,全球最大的奢侈品集团LVMH发布了第三季度财报。 即使官网新闻稿以“前9个月有机收入增长14%”为主标题,也无法阻止华尔街投行对该行业增长前景的担忧。 截至周三巴黎泛

    06-18