Java教程
  • Java教程
  • 简介
    • Java 库
      • JMH 应用指南
      • ZXing 应用指南
      • Thumbnailator 应用指南
      • Jsoup 应用指南
      • Dozer 应用指南
      • 细说 Java 主流日志工具库
      • Mockito 应用指南
      • JavaMail 应用指南
      • Freemark 应用指南
      • Lombok 应用指南
      • Java 与 JSON
      • JUnit5 应用指南
      • 细说 Java 主流工具包
      • Java 二进制序列化库
      • Reflections 应用指南
    • Java 工具
      • 构建工具
        • Ant 简易教程
        • Maven 教程
          • Maven 实战问题和最佳实践
          • Maven 教程之入门指南
          • Maven 插件之代码检查
          • Maven 教程之发布 jar 到私服或中央仓库
          • Maven 教程之 settings.xml 详解
          • Maven 教程之 pom.xml 详解
        • Gradle 应用指南
      • Elastic 技术栈
        • Elastic 技术栈之 Logstash 基础
        • Elastic 技术栈之 Kibana
        • Elasticsearch 运维
        • Filebeat 运维
        • Elasticsearch
        • Elastic 技术栈之 Filebeat
        • Logstash 运维
        • Elastic 快速入门
        • Kibana 运维
      • Java IDE
        • Eclipse 应用指南
        • Intellij IDEA 应用指南
        • vscode 应用指南
      • test
        • JMeter 应用指南
    • 附录
      • resources
    • Java Tutorial
    • java-tutorial
  • codes
    • javatool
      • javatool-server
    • javalib
      • Lombok 应用指南
Powered by GitBook
On this page
  • 1. Filebeat 安装
  • 1.1. 环境要求
  • 1.2. 安装步骤
  • 2. Filebeat 配置
  • 2.1. 重要配置项
  • 3. Filebeat 命令
  • 4. Filebeat 模块
  • 5. 参考资料

Was this helpful?

  1. 简介
  2. Java 工具
  3. Elastic 技术栈

Filebeat 运维

PreviousElasticsearch 运维NextElasticsearch

Last updated 5 years ago

Was this helpful?

Beats 平台集合了多种单一用途数据采集器。它们从成百上千或成千上万台机器和系统向 Logstash 或 Elasticsearch 发送数据。

因为我只接触过 Filebeat,所有本文仅介绍 Filebeat 的日常运维。

1. Filebeat 安装

1.1. 环境要求

版本:Elastic Stack 7.4

1.2. 安装步骤

Unix / Linux 系统建议使用下面方式安装,因为比较通用。

wget https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-6.1.1-linux-x86_64.tar.gz
tar -zxf filebeat-6.1.1-linux-x86_64.tar.gz

更多内容可以参考:

2. Filebeat 配置

首先,必须要知道的是:filebeat.yml 是 filebeat 的配置文件。其路径会因为你安装方式而有所不同。

Beat 所有系列产品的配置文件都基于 格式,FileBeat 当然也不例外。

更多 filebeat 配置内容可以参考:

更多 filebeat.yml 文件格式内容可以参考:

filebeat.yml 部分配置示例:

filebeat:
  prospectors:
    - type: log
      paths:
        - /var/log/*.log
      multiline:
        pattern: '^['
        match: after

2.1. 重要配置项

下面我将列举 Filebeat 的较为重要的配置项。

如果想了解更多配置信息,可以参考:

2.1.1. filebeat.prospectors

(文件监视器)用于指定需要关注的文件。

示例

filebeat.prospectors:
  - type: log
    enabled: true
    paths:
      - /var/log/*.log

2.1.2. output.elasticsearch

如果你希望使用 filebeat 直接向 elasticsearch 输出数据,需要配置 output.elasticsearch 。

示例

output.elasticsearch:
  hosts: ['192.168.1.42:9200']

2.1.3. output.logstash

如果你希望使用 filebeat 向 logstash 输出数据,然后由 logstash 再向 elasticsearch 输出数据,需要配置 output.logstash。

注意

相比于向 elasticsearch 输出数据,个人更推荐向 logstash 输出数据。

因为 logstash 和 filebeat 一起工作时,如果 logstash 忙于处理数据,会通知 FileBeat 放慢读取速度。一旦拥塞得到解决,FileBeat 将恢复到原来的速度并继续传播。这样,可以减少管道超负荷的情况。

示例

output.logstash:
  hosts: ['127.0.0.1:5044']

此外,还需要在 logstash 的配置文件(如 logstash.conf)中指定 beats input 插件:

input {
  beats {
    port => 5044 # 此端口需要与 filebeat.yml 中的端口相同
  }
}

# The filter part of this file is commented out to indicate that it is
# optional.
# filter {
#
# }

output {
  elasticsearch {
    hosts => "localhost:9200"
    manage_template => false
    index => "%{[@metadata][beat]}-%{[@metadata][version]}-%{+YYYY.MM.dd}"
    document_type => "%{[@metadata][type]}"
  }
}

2.1.4. setup.kibana

如果打算使用 Filebeat 提供的 Kibana 仪表板,需要配置 setup.kibana 。

示例

setup.kibana:
  host: 'localhost:5601'

2.1.5. setup.template.settings

在 Filebeat 中,setup.template.settings 用于配置索引模板。

Filebeat 推荐的索引模板文件由 Filebeat 软件包安装。如果您接受 filebeat.yml 配置文件中的默认配置,Filebeat 在成功连接到 Elasticsearch 后自动加载模板。

您可以通过在 Filebeat 配置文件中配置模板加载选项来禁用自动模板加载,或加载自己的模板。您还可以设置选项来更改索引和索引模板的名称。

参考

说明

如无必要,使用 Filebeat 配置文件中的默认索引模板即可。

2.1.6. setup.dashboards

Filebeat 附带了示例 Kibana 仪表板。在使用仪表板之前,您需要创建索引模式 filebeat- *,并将仪表板加载到 Kibana 中。为此,您可以运行 setup 命令或在 filebeat.yml 配置文件中配置仪表板加载。

为了在 Kibana 中加载 Filebeat 的仪表盘,需要在 filebeat.yml 配置中启动开关:

setup.dashboards.enabled: true

参考

3. Filebeat 命令

filebeat 提供了一系列命令来完成各种功能。

执行命令方式:

./filebeat COMMAND

参考

说明

个人认为命令行没有必要一一掌握,因为绝大部分功能都可以通过配置来完成。且通过命令行指定功能这种方式要求每次输入同样参数,不利于固化启动方式。

最重要的当然是启动命令 run 了。

示例 指定配置文件启动

./filebeat run -e -c filebeat.yml -d "publish"
./filebeat -e -c filebeat.yml -d "publish" # run 可以省略

4. Filebeat 模块

  • 配置 elasticsearch 和 kibana

output.elasticsearch:
  hosts: ["myEShost:9200"]
  username: "elastic"
  password: "elastic"
setup.kibana:
  host: "mykibanahost:5601"
  username: "elastic"
  password: "elastic

username 和 password 是可选的,如果不需要认证则不填。

  • 初始化环境

执行下面命令,filebeat 会加载推荐索引模板。

./filebeat setup -e
  • 指定模块

执行下面命令,指定希望加载的模块。

./filebeat -e --modules system,nginx,mysql

更多内容可以参考:

5. 参考资料

更多 filebeat 配置内容可以参考:

更多 filebeat.yml 文件格式内容可以参考:

在 Elasticsearch 中,用于定义设置和映射,以确定如何分析字段。

更多内容可以参考:

更多内容可以参考:

更多内容可以参考:

和 内部集成了一系列模块,用以简化常见日志格式(例如 NGINX、Apache 或诸如 Redis 或 Docker 等系统指标)的收集、解析和可视化过程。

filebeat-installation
YAML
配置 filebeat
filebeat.yml 文件格式
配置 filebeat
filebeat.yml 文件格式
索引模板
filebeat-template
configuration-dashboards
command-line-options
Filebeat
Metricbeat
配置 filebeat 模块
filebeat 支持模块
Beats 官网
Beats Github
Beats 官方文档