zoukankan      html  css  js  c++  java
  • 【Beats】Filebeat配置及索引生命周期(十八)

      在Filebeat配置中,处理配置 输入(filebeat.inputs)输出(output),还可以配置一些其他配置,如:全局配置、常规配置、索引生命周期管理、处理器等

      文档地址:https://www.elastic.co/guide/en/beats/filebeat/7.x/configuring-howto-filebeat.html

    全局Filebeat配置选项

      这些选项位于filebeat名称空间中。

      registry.path

      注册表的根路径,默认值:${path.data}/registry

      示例

    1 filebeat.registry.path: registry

      registry.file_permissions

      要应用于注册表数据文件的权限掩码。默认值为0600。

      示例

    1 filebeat.registry.file_permissions: 0600

       config_dir

      该config_dir选项必须指向主Filebeat配置文件所在目录以外的目录。如果指定的路径不是绝对路径,则将其视为相对于配置路径。

      示例

    1 filebeat.config_dir: path/to/configs

    Filebeat常规配置

      所有Elastic Beats都支持这些选项。因为它们是通用选项,所以它们没有命名空间。

      name

      Beats的名称。如果此选项为空,hostname则使用服务器的。该名称作为agent.name每个已发布交易中字段包括在内您可以使用该名称对单个Beat发送的所有交易进行分组。

      示例

    1 name: "my-shipper"

      tags

      Beat在tags每个已发布交易字段中包括的标签列表标记使按不同逻辑属性对服务器进行分组变得容易。例如,如果您有一个Web服务器群集,则可以在每个服务器上的Beat上添加“ webservers”标签,然后在Kibana Web界面中使用过滤器和查询来获得整个服务器组的可视化效果。

      示例

    1 tags: ["my-service", "hardware", "test"]

      fields

      您可以指定可选字段以将其他信息添加到输出中。字段可以是标量值,数组,字典或它们的任何嵌套组合。默认情况下,您在此处指定的字段将被分组fields到输出文档中子词典要将自定义字段存储为顶级字段,请将fields_under_root选项设置为true。

      fields_under_root

      如果此选项设置为true,则自定义字段将作为顶级字段存储在输出文档中,而不是分组在fields子词典下。如果自定义字段名称与其他字段名称冲突,则自定义字段将覆盖其他字段。

      示例

    1 fields_under_root: true
    2 fields:
    3   instance_id: i-10a64379
    4   region: us-east-1

    测试常规配置

      完整测试配置如下:

     1 # 自定义测试配置文件test-nginx.yml
     2 
     3 # 输入
     4 filebeat.inputs:
     5 - type: log
     6   enabled: true
     7   paths:
     8     - /data/logs/nginx-1.16.1/access.log
     9 name: "my-shipper"
    10 # 增加标签
    11 tags: ["nginx"]
    12 # 增加字段
    13 fields:
    14   instance_id: i-10a64379
    15   region: us-east-1
    16 # 表示字段加在根节点下
    17 fields_under_root: true
    18 
    19 # 指定索引的分区数
    20 setup.template.settings:
    21   index.number_of_shards: 3
    22 
    23 
    24 # 输出到指定ES的配置
    25 output.elasticsearch:
    26   hosts: ["127.0.0.1:9200"]
    27   username: "elastic"
    28   password: "123456"

      运行Filebeat,ES获取到数据如下:

     1 {
     2   "_index": "filebeat-7.6.1-2020.06.21-000001",
     3   "_type": "_doc",
     4   "_id": "Kwvb3HIBeBo_vUMF439C",
     5   "_version": 1,
     6   "_score": 0,
     7   "_source": {
     8     "@timestamp": "2020-06-22T16:28:16.600Z",
     9     "ecs": {
    10       "version": "1.4.0"
    11     },
    12     "host": {
    13       "name": "my-shipper"
    14     },
    15     "agent": {
    16       "version": "7.6.1",
    17       "name": "my-shipper",
    18       "type": "filebeat",
    19       "ephemeral_id": "84a6bd63-3880-4ef3-b0f9-604d9f1800a0",
    20       "hostname": "H__D",
    21       "id": "9f14c4db-2f85-4740-8183-36f475ffdfed"
    22     },
    23     "region": "us-east-1",
    24     "input": {
    25       "type": "log"
    26     },
    27     "tags": [
    28       "nginx"
    29     ],
    30     "instance_id": "i-10a64379",
    31     "log": {
    32       "offset": 41026608,
    33       "file": {
    34         "path": "/data/logs/nginx-1.16.1/access.log"
    35       }
    36     },
    37     "message": "127.0.0.1 - kibana [23/Jun/2020:00:28:16 +0800] "GET /_nodes?filter_path=nodes.*.version%2Cnodes.*.http.publish_address%2Cnodes.*.ip HTTP/1.1" 200 233 "-" "-""
    38   },
    39   "fields": {
    40     "suricata.eve.timestamp": [
    41       "2020-06-22T16:28:16.600Z"
    42     ],
    43     "@timestamp": [
    44       "2020-06-22T16:28:16.600Z"
    45     ]
    46   },
    47   "sort": [
    48     0,
    49     1592843296600
    50   ]
    51 }

      可以看到_source包含了 host.name、region、instance_id等字段

    索引生命周期管理(ILM)

      使用Elasticsearch中的索引生命周期管理(ILM)功能来管理Filebeat索引的老化。例如,与其创建每日索引,该索引的大小可以根据Beats的数量和发送的事件数而变化,而当现有索引达到指定的大小或使用期限时,可以使用索引生命周期策略来自动过渡到新索引。

      从7.0版开始,Filebeat在连接到支持生命周期管理的群集时默认使用索引生命周期管理。Filebeat自动加载默认策略,并将其应用于Filebeat创建的任何索引。

      配置示例:  

    1 setup.ilm.enabled: auto
    2 setup.ilm.rollover_alias: "filebeat"
    3 setup.ilm.pattern: "{now/d}-000001" 

      setup.ilm.enabled:对Filebeat创建的任何新索引启用或禁用索引生命周期管理。有效值是truefalseauto。如果auto在7.0版和更高版本上指定了(默认值),则Filebeat如果在Elasticsearch中启用了该功能并具有所需的许可证,则会自动使用索引生命周期管理;否则,Filebeat会创建每日索引。

      setup.ilm.rollover_alias:索引生命周期写别名。默认值为 filebeat-%{[agent.version]}。设置此选项将更改别名。

      setup.ilm.pattern:滚动索引模式。默认值为%{now/d}-000001

      示例配置如下:

    1 # 索引生命周期
    2 setup.ilm.enabled: auto
    3 setup.ilm.rollover_alias: "filebeat-nginx"
    4 setup.ilm.pattern: "{now/d}-000001"

      启动运行filebeat之后,es产生索引如下:

      

      

  • 相关阅读:
    P3241 [HNOI2015]开店 动态点分治
    P4199 万径人踪灭 FFT + manacher
    P4173 残缺的字符串
    P3338 [ZJOI2014]力
    CF1005F Berland and the Shortest Paths
    CF567E President and Roads
    P2446 [SDOI2010]大陆争霸
    CF1082G Petya and Graph
    CF1082E Increasing Frequency
    直接查数据导出xls
  • 原文地址:https://www.cnblogs.com/h--d/p/13179962.html
Copyright © 2011-2022 走看看