filebeat收集日志到elsticsearch中并使用ingest node的pipeline处理
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了filebeat收集日志到elsticsearch中并使用ingest node的pipeline处理相关的知识,希望对你有一定的参考价值。
参考技术A使用 filebeat 收集系统中的日志到 elasticsearch 中。
注意⚠️:
1、 索引的生命周期,需要禁用,否则可能无法使用自定义的索引名字。
2、估计是filebeat(7.12.0)版本的一个bug, pipeline 需要写在 input 阶段,写在 output 阶段不生效。
此处需要根据索引情况自定义创建,此处为了简单演示,将 createTime 的字段类型设置为 date 。
由下方的配置可知
用户名是明文的,这个不安全,我们使用 filebeat keystore 来存储密码。
在接下来的提示中,输入密码。 ES_PASSWORD 是自定义的,待会在修改filebeat.yml配置文件中的 es output 中需要用到。
ingest pipeline 使我们在索引数据之前,提供了对数据执行通用转换等操作。 比如: 可以转换数据的类型、删除字段、增加字段等操作。
解释:
在 kibana 上创建索引模式,然后查看日志。
删除 data/registry 文件夹的内容。不同的filebeat安装方式,data目录的位置不同,参考如下文档 https://www.elastic.co/guide/en/beats/filebeat/current/directory-layout.html
我们知道在es中,每个文档数据都有一个 文档id ,默认情况下这个文档id是es自动生成的,因此重复的文档数据可能产生多个文档。
解决思路如下:
在使用 filebeat 的过程中,我们从官网中可知, pipeline 这个是写在 output 中的。
1、 https://www.elastic.co/guide/en/beats/filebeat/current/directory-layout.html
2、 https://www.elastic.co/guide/en/beats/filebeat/current/multiline-examples.html
3、 https://www.elastic.co/guide/en/beats/filebeat/current/keystore.html
4、 https://www.elastic.co/guide/en/beats/filebeat/current/fingerprint.html
5、 https://www.elastic.co/guide/en/beats/filebeat/current/elasticsearch-output.html
6、 github 上对 filebeat 在output到es时,pipeline不生效的讨论
7、 https://www.elastic.co/guide/en/elasticsearch/reference/7.12/ingest.html
8、 https://www.elastic.co/guide/en/elasticsearch/reference/7.12/index-templates.html
8、使用多实例filebeat收集日志
参考技术A 1、在linux上运行多个filebeat实例,一个直接输出到es,一个输出到logstash
2、同时建议es使用专门的负载均衡节点来承受输出,不要直接输出到数据节点
灵感来源于 https://zh.codepre.com/how-to-19067.html
这个问题困扰了我很久,百度翻完了也找不到合适的方案,大部分讲的都比较浅显,在bing才找到这篇文章,实在感谢大神。
我这里采用systemd方式
1、编辑多filebeat实例脚本
2、编辑/etc/filebeat-elasticsearch/filebeat.yml
3、启动
4、在kibana上查看日志
1、准备日志样本
2、复制filebeat-logstash
3、编辑/etc/filebeat-logstash/filebeat.yml
4、编辑logstash
4.1、input.conf
4.2、tomcat_out.conf
5、启动logstash,在kibana查看日志
以上是关于filebeat收集日志到elsticsearch中并使用ingest node的pipeline处理的主要内容,如果未能解决你的问题,请参考以下文章
filebeat+logstash+elasticsearch收集haproxy日志
通过kafka和filebeat收集日志 再保存到clickhouse 最后通过grafana展现
Kafka+Zookeeper+Filebeat+ELK 搭建日志收集系统