filebeat+es+kibana 常见问题合集

986 阅读2分钟

一、如何调整日志的输出级别

filebeat 提供了-v命令,可以控制输出级别

二、如何指定filebeat.yml的文件路径

filebeat 提供了-c命令,可以设置文件路径

三、filebate输出es的日志乱序问题

filebeat通过批量接口输出数据到es,如果未指定timestamp,filebeat会统一生成一个当前时间。就会产生同一时间多个日志数据乱序问题。

如果我们能够指定timestamp是采集日志的时间,就可以解决这个问题。 filebeat的processor提供了timestamp配置

processors:
    - timestamp:
        # 日志时间字段
        field: message.ts
        timezone: Asia/Shanghai
        layouts:
          - '2006-01-02T15:04:05.999Z'

四、filebeat发送日志到es提示 405 MEHOTD MOT FOUND

如果filebeat和es的版本不一致,可能导致filebeat使用的es方法和当前es版本不兼容,尽量保持filebeat、es、kibana 三者的版本一致

五、filbeat日志发送es报错 failed to publish events

此错误的原因一般是索引无法解析,导致发送数据到es的时候报错。

例如索引配置为index:filebeat-%{[agent.version]} 同时配置删除了agent字段,导致agent.version无法解析

六、为什么修改es索引,必须修改setup.template

推送到es的数据 都是按照天建的索引,查询数据时,es是怎么知道去你这么多天纬度的索引里面查询数据,es是如何管理你的这些索引。因此需要针对这一类索引建立一个索引模版统一管理

七、filebeat是如何保证重启服务还可以继续上次的位置继续读数据

filebeat提供了registry机制,每次发送数据到es后,都会记录下当前读取到的文件offset位置。

八、filebeat如何保证发生日志切割也能正常读取

一般我们平时使用的日志库都有日志容量达到多个容量后,会进行日志备份然后在重新创建一个日志文件,大致流程

  1. test.log重命名为test.log.1
  2. 重新创建test.log filebeat的处理流程
  3. 打开test.log文件,记录test.log文件的inode和文件句柄
  4. 轮训从test.log中取日志
  5. test.log重命名为test.log.1时,对filebeat的读取无影响
  6. 继续尝试从test.log读日志,由于test.log已经备份为test.log.1因此filebeat会一致读取不到数据,到超过close.reader.after_interval(默认时5秒)时间后,filebeat会关闭当前文件。 5、filebeat重新在文件路径中查找test.log文件,此时找到了新创建的test.log文件,从头开始继续读取新文件

九、如何配置定期删除es数据

可以使用es的索引生命周期来管理es的索引数据 例如一个7天索引生命周期的配置

PUT _ilm/policy/7-days-default
{
  "policy": {
    "phases": {
      "hot": {
        "min_age": "0ms",
        "actions": {
          "rollover": {
            "max_primary_shard_size": "50gb",
            "max_age": "7d"
          }
        }
      },
      "warm": {
        "min_age": "2d",
        "actions": {
          "shrink": {
            "number_of_shards": 1
          },
          "forcemerge": {
            "max_num_segments": 1
          }
        }
      },
      "delete": {
        "min_age": "7d",
        "actions": {
          "delete": {
            "delete_searchable_snapshot": true
          }
        }
      }
    },
    "_meta": {
      "managed": true,
      "description": "built-in ILM policy using the hot and warm phases with a retention of 7 days"
    }
  }
}