1分钟系列-Filebeat 采集数据保存到 Elasticsearch

本文涉及的产品
检索分析服务 Elasticsearch 版,2核4GB开发者规格 1个月
简介: 1分钟系列-Filebeat 采集数据保存到 Elasticsearch

Filebeat 采集日志到架构

从上面的架构图中,我们可以看到 Beats 与 Nginx 部署在同一台机器上,目的是收集 Nginx 上的访问日志进行分析

读取 Nginx 日志文件

读取文件配置












# 配置读取日志文件 filebeat-log.ymlfilebeat.inputs: - type: log  enabled: true  paths:    - /usr/local/nginx/logs/*.log setup.template.settings:  index.number_of_shards: 3 output.console:  pretty: true  enable: true

启动执行








cd /usr/local/filebeat-7.6.2-linux-x86_64
./filebeat -e -c filebeat-log.yml
# 参数说明-e: 输出到标准输出,默认输出到syslog和logs下 -c: 指定配置文件

如下图,监听到 /usr/local/nginx/logs 目录下的 access.logerror.log

并且立刻读取到之前日志的内容,如下图:

后面会分享如何将 access.logerror.log 分开采集

测试观察输出

访问 Nginx(安装请参考 https://yezhwi.github.io/java/2020/05/11/1%E5%88%86%E9%92%9F%E7%B3%BB%E5%88%97-Nginx-%E5%AE%89%E8%A3%85-%E5%87%86%E5%A4%87%E8%AE%BF%E9%97%AE%E6%97%A5%E5%BF%97/)首页, 等待一会儿会在控制台上输出如下图所示信息,message 字段就是 Nginx 的访问日志

输出到 Elasticsearch 日志文件

写入 Elasticsearch 配置














# 配置读取日志文件 filebeat-es.ymlfilebeat.inputs: - type: log  enabled: true  paths:    - /usr/local/nginx/logs/*.log 
# 指定索引的分区数setup.template.settings:  index.number_of_shards: 3 # 指定 ES 的配置output.elasticsearch:   hosts: ["192.168.111.238:9200", "192.168.111.239:9200", "192.168.111.240:9200"]

启动执行




cd /usr/local/filebeat-7.6.2-linux-x86_64
./filebeat -e -c filebeat-es.yml

测试观察输出

访问 Nginx 首页,在 es head 的概览中看到新索引,如下图:

在数据浏览查看索引数据,如下图:

下一步计划

我们发现数据采集到的日志数据都在 message 属性里,下一步分享如何利用模块格式化日志信息,以及在 Kibana 中查看数据

相关实践学习
使用阿里云Elasticsearch体验信息检索加速
通过创建登录阿里云Elasticsearch集群,使用DataWorks将MySQL数据同步至Elasticsearch,体验多条件检索效果,简单展示数据同步和信息检索加速的过程和操作。
ElasticSearch 入门精讲
ElasticSearch是一个开源的、基于Lucene的、分布式、高扩展、高实时的搜索与数据分析引擎。根据DB-Engines的排名显示,Elasticsearch是最受欢迎的企业搜索引擎,其次是Apache Solr(也是基于Lucene)。 ElasticSearch的实现原理主要分为以下几个步骤: 用户将数据提交到Elastic Search 数据库中 通过分词控制器去将对应的语句分词,将其权重和分词结果一并存入数据 当用户搜索数据时候,再根据权重将结果排名、打分 将返回结果呈现给用户 Elasticsearch可以用于搜索各种文档。它提供可扩展的搜索,具有接近实时的搜索,并支持多租户。
相关文章
|
2月前
|
关系型数据库 MySQL
elasticsearch对比mysql以及使用工具同步mysql数据全量增量
elasticsearch对比mysql以及使用工具同步mysql数据全量增量
24 0
|
2月前
|
消息中间件 存储 关系型数据库
【微服务】mysql + elasticsearch数据双写设计与实现
【微服务】mysql + elasticsearch数据双写设计与实现
71 2
|
2月前
|
监控 安全 Linux
【Elasticsearch专栏 14】深入探索:Elasticsearch使用Logstash的日期过滤器删除旧数据
使用Logstash的日期过滤器可以有效删除Elasticsearch中的旧数据,释放存储空间并提高集群性能。通过配置Logstash,可以指定索引模式、筛选时间戳早于特定阈值的文档,并在输出阶段删除这些旧数据。执行配置时,需确保Logstash与Elasticsearch连接正常,并监控日志以确保操作安全。定期执行此操作可确保旧数据不会过多积累。总之,Logstash的日期过滤器提供了一种简单而高效的方法,帮助管理和优化Elasticsearch中的数据。
|
2月前
|
存储 搜索推荐 Java
|
4月前
|
存储 缓存 数据库
PB数据毫秒级搜索之Elasticsearch(二)基础了解
PB数据毫秒级搜索之Elasticsearch(二)基础了解
92 0
|
7月前
|
存储 自然语言处理 Java
【elasticsearch】记录ES查询数据结果为空的问题(单个字搜索可以,词语搜索为空)
【elasticsearch】记录ES查询数据结果为空的问题(单个字搜索可以,词语搜索为空)
300 0
|
8月前
|
数据库 索引
elasticsearch中join类型数据如何进行父子文档查询?
elasticsearch中join类型数据如何进行父子文档查询?
|
2月前
|
监控 Java 测试技术
【Elasticsearch专栏 13】深入探索:Elasticsearch使用Curator工具删除Elasticsearch中的历史数据
使用Curator工具可以有效管理Elasticsearch中的旧数据,通过编写YAML配置文件定义删除操作。配置中指定了基于索引名称前缀和年龄的过滤器,确保仅删除符合条件的旧索引。执行删除操作时,Curator会应用过滤器识别目标索引,并向Elasticsearch发送删除请求。通过设置选项,如忽略空列表和超时时间,可以确保操作的灵活性和稳定性。使用Curator不仅释放了存储空间,还提高了查询性能,是维护Elasticsearch健康的重要工具
|
2月前
|
JSON 监控 数据管理
【Elasticsearch专栏 12】深入探索:Elasticsearch使用索引生命周期管理(ILM)自动化删除旧数据
Elasticsearch的ILM功能允许用户定义策略,自动管理索引从创建到删除的生命周期。用户可以设置策略,根据索引年龄或大小自动删除旧数据,节省存储空间。通过应用ILM策略于索引模板,新索引将遵循预定义的生命周期。用户还可以监控ILM状态,确保策略按预期执行。使用ILM,用户可以高效地管理数据,确保旧数据及时删除,同时保持数据完整性和安全性。
|
3月前
|
存储 缓存 自然语言处理
【Elasticsearch专栏 05】深入探索:Elasticsearch在处理非结构化数据时,倒排索引有何优势
在处理非结构化数据时,倒排索引的优势在于其高效的查询性能,能够迅速匹配文本中的关键词,实现全文搜索。此外,倒排索引支持复杂的查询操作,可扩展性强,且通过压缩技术优化存储空间。这些特点使倒排索引成为处理非结构化数据的理想选择。

热门文章

最新文章