Filebeats不会记录日志,并且在重新启动后会发送旧事件

时间:2019-08-23 06:11:25

标签: filebeat

在Windows计算机上安装了Filebeat 7.3.0,以将日志发送到ELK。第一次运行“启动服务filebeat”之后,一切都按预期工作。我可以看到kibana中的所有事件。但是,在filebeat.yml上进行了一些更改,然后尝试重新启动服务后,突然,我收到了此错误:

Start-Service : Service 'filebeat (filebeat)' cannot be started due to the following error: Cannot open filebeat
service on computer '.'.
At line:1 char:1
Start-Service filebeat
+ CategoryInfo          : OpenError: (System.ServiceProcess.ServiceController:ServiceController) [Start-Service],
 ServiceCommandException
  + FullyQualifiedErrorId : CouldNotStartService,Microsoft.PowerShell.Commands.StartServiceCommand

如果我尝试使用“ filebeat.exe -e”命令在前台运行filebeat,它将再次运行。在Google上进行了一些研究之后,我仍然感到困惑,为什么我会遇到此错误。然后我有一种感觉,也许这与我的文件夹权限有关。我更改了Filebeat文件夹(及其子文件夹)的属性,以确保管理员有权对其进行写入,然后Start-Service命令再次起作用。但是这一次,filebeat并未向Filebeat / logs写入任何内容。但是,它确实从目标文件中收集数据并将其发送到ELK。

所以我再次重新启动了文件拍,除了发生了新问题外,它还是一样。我注意到它讨厌已经发送的旧事件。甚至更奇怪,看起来它也没有重新发送整个目标文件,只是重新发送了一部分。

因此,假设目标文件只有一行:“ A”。我启动filebeat,好的,它将发送A到ELK。然后,将“ B”行添加到目标文件,好的,filebeat也将B发送给ElK。现在,如果我重新启动filebeat,它将重新发送B,仅重新发送B给ELK。由于我没有任何可检查的日志,因此我在这里完全感到困惑。此外,在注册表文件夹中,有三个文件,data.json,meta.json和data.json.old。什么是data.json.old?我在Google上找不到与此文件有关的任何内容。也许是潜在的原因?

下面是我的filebeat.yml:

filebeat.inputs:
- type: log
  enabled: true
  paths:
    - C:\Users\njuho\Downloads\Filebeats_test_logs\*
  fields:
    application: "yihao_test_app" 
  fields_under_root: true

filebeat.config.modules:
  path: ${path.config}/modules.d/*.yml
  reload.enabled: false

setup.template.settings:
  index.number_of_shards: 1
  index.number_of_replicas: 0

setup.kibana:
  host: "my kibana server ip"

output.elasticsearch:
  hosts: ["my elk server ip"]
  username: "elastic"
  password: "mypassword"

processors:
  - add_host_metadata: ~
  - add_cloud_metadata: ~

0 个答案:

没有答案