0
点赞
收藏
分享

微信扫一扫

Midjourney怎么用?超全AI绘画Midjourney关键词

一、背景

在搭建ELK系统之前,你有必要去了解下,为何大家在agent端普遍青睐filebeat,而把logstash放置于更加靠后端。
轻量级的filebeat,作为agent角色,是安装在每台虚拟机上。

filebeat的学习分为两大部分:

  • 安装(二进制或docker)
  • 配置文件filebeat.yml

二、filebeat的安装

本文主要介绍docker安装方式,对于其二进制安装,请参考其他文章。这类资料比较多。
https://www.elastic.co/cn/beats/filebeat 这是它的官网地址。

下面是它的docker-compose安装:

version: "3"
services:
  filebeat:
    container_name: filebeat
    image: elastic/filebeat:7.9.3
    restart: always
    user: root
    volumes:
      - ./filebeat/logs:/usr/share/filebeat/logs
      - ./filebeat/data:/usr/share/filebeat/data
      - ./filebeat/conf/filebeat.yml:/usr/share/filebeat/filebeat.yml

在这里插入图片描述
建议做持久化的时候,使用相对路径,便于不同机器上的部署。

三、配置

vi filebeat/conf/filebeat.yml

filebeat.inputs:
  - type: log
    enabled: true
    backoff: "1s"
    tail_files: false
    paths:
      - /usr/share/filebeat/logs/*.log
    multiline.pattern: '^[0-9]{4}-[0-9]{2}-[0-9]{2}'
    multiline.negate: true
    multiline.match: after
    document_type: jvm

output.logstash:
  enabled: true
  hosts: ["logstash:5044"]

1、inputs

官网文档地址:https://www.elastic.co/guide/en/beats/filebeat/current/configuration-filebeat-options.html

  • 多行的开头匹配规则
multiline.pattern: '^[0-9]{4}-[0-9]{2}-[0-9]{2}'
  • log日志文件的路径
    paths:
      - /usr/share/filebeat/logs/*.log

注意:如果你是docker安装filebeat的话,需要把宿主机上的路径挂载到容器。
那么,采集宿主机上的相对路径./filebeat/logs/下的所有.log文件。

    volumes:
      - ./filebeat/logs:/usr/share/filebeat/logs

本文踩过的坑就是:filebeat.yml配置的paths路径,忘记了挂载到容器外,这样的话,filebeat始终读取不到log日志。

观察filebeat容器的日志,自然就采集不到最新的log日志,后台一直在打印下面的日志:

所以我后面在./filebeat/logs新建sample.log日志文件,此时filebeat才能采集到日志。

2、output

官网文档地址:https://www.elastic.co/guide/en/beats/filebeat/current/logstash-output.html

  • 测试输出
output.file:
  path: "/tmp"
  filename: "test_filebeat.txt"

3、模块

filebeat内置有多种模块(auditd、Apache、NGINX、System、MySQL 等等),可针对常见格式的日志大大简化收集、解析和可视化过程,只需一条命令即可。
它可以将数据直接发送给Elasticsearch;或者通过Logstash,在Kibana中可视化数据之前,在Logstash中进一步处理和增强数据。

官方文档比较简单,https://www.elastic.co/guide/en/beats/filebeat/current/advanced-settings.html

4、处理

这块比较丰富,你可以进行限流、替换、重命名、丢弃等操作。

详请参考:https://www.elastic.co/guide/en/beats/filebeat/current/filtering-and-enhancing-data.html

四、总结

因为在整个日志中心,我们有logstash组件,所以filebeat不承担多少处理的工作。
filebeat仅采集,配置的时候比较简单,没有用到过多的复杂语句。

下文将讲述logstash。

举报

相关推荐

0 条评论