当前位置: 首页 > 知识库问答 >
问题:

Filebeat不将日志推送到Elasticsearch

南门野
2023-03-14

我是docker和所有这些日志记录的新手,所以可能我犯了一个stuipd错误,所以提前感谢您的帮助。我让麋鹿通过Dockerfile行运行docker容器(6.2.2):

FROM sebp/elk:latest

在一个单独的容器中,我通过folling Dockerfile行安装并运行Filebeat:

RUN curl -L -O -k https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-6.2.2-amd64.deb
RUN dpkg -i filebeat-6.2.2-amd64.deb
COPY resources/filebeat/filebeat.yml /etc/filebeat/filebeat.yml
RUN chmod go-w /etc/filebeat/filebeat.yml
RUN /usr/share/filebeat/bin/filebeat -e -d "publish" &

我的Filebeat配置是:

filebeat.prospectors:
- type: log
  enabled: true
  paths:
    - /jetty/jetty-distribution-9.3.8.v20160314/logs/*.log
output.logstash:
  enabled: false
  hosts: ["elk-stack:9002"]
  #index: 'audit'
output.elasticsearch:
  enabled: true
  hosts: ["elk-stack:9200"]
  #index: "audit-%{+yyyy.MM.dd}"
path.config: "/etc/filebeat"
#setup.template.name: "audit"
#setup.template.pattern: "audit-*"
#setup.template.fields: "${path.config}/fields.yml"

正如你所看到的,我试图在elasticsearch中创建一个自定义索引,但现在我只是想先让默认索引正常工作。jetty日志都具有全局读取权限。

docker容器日志没有显示错误,运行后我确保配置和输出正常:

# filebeat test config
Config OK
# filebeat test output
elasticsearch: http://elk-stack:9200...
  parse url... OK
  connection...
    parse host... OK
    dns lookup... OK
    addresses: 172.17.0.3
    dial up... OK
  TLS... WARN secure connection disabled
  talk to server... OK
  version: 6.2.2

/var/log/filebeat/filebeat显示:

2018-03-15T13:23:38.859Z        INFO    instance/beat.go:468    Home path: [/usr/share/filebeat] Config path: [/etc/filebeat] Data path: [/var/lib/filebeat] Logs path: [/var/log/filebeat]
2018-03-15T13:23:38.860Z        INFO    instance/beat.go:475    Beat UUID: ed5cecaf-cbf5-438d-bbb9-30bab80c4cb9
2018-03-15T13:23:38.860Z        INFO    elasticsearch/client.go:145     Elasticsearch url: http://elk-stack:9200
2018-03-15T13:23:38.891Z        INFO    elasticsearch/client.go:690     Connected to Elasticsearch version 6.2.2

但是当我点击localhost:9200/_cat/index时?v它不返回任何索引:

health status index uuid pri rep docs.count docs.deleted store.size pri.store.size

我怎样才能让它工作?我没有主意了。再次感谢您的帮助。

共有1个答案

贾实
2023-03-14

要回答我自己的问题,你不能从以下内容开始:

RUN /usr/share/filebeat/bin/filebeat -e -d "publish" &

一旦容器启动,让它继续运行。需要手动启动它,或者让它在自己的带有入口点标签的容器中启动。

 类似资料:
  • 在我通过Windows 10上的“Windows子系统Linux 2”运行Ubuntu18.04的本地机器上,我运行的是Elastic 7.3、Kibana 7.3和Elastic 7.3 docker容器。 设置成功,Filebeat似乎可以正确监控容器。但是,Kibana没有显示任何日志。 安装程序 要设置Elastic和Kibana,我使用以下命令 在这两个命令之后,容器Kibana日志显示

  • 问题内容: 我有这样的日志: 我想把他们推到。我正在使用filebeat通过以下配置将数据发送到logstash: 现在使用以下配置,我想更改编解码器类型: 但是,我仍然以字符串格式获取日志: “ message”:“ {\” logId \“:\” 57aaf6c96224b \“,\” clientIp \“:\” 127.0.0.1 \“,\” time \“:\” 03:11:29 pm

  • 我使用filebeat作为docker,当ıpoint我的nginx登录filebeat时。ymlım在kibana看不到nginx日志这是我的filebeat。yml。我准备好了elastichsearch和kibana容器。当我在日志中启动filebeat容器时,它表示已配置给定的日志路径。但ı无法在kibana上看到任何nginx日志 以及我的nginx站点配置的一个例子

  • 我在Mac OSX上运行filebeat以及sebp/elk docker镜像。当我在具有完全相同配置的Windows机器上尝试相同的操作时,日志从Filebeat无缝地传送到Logstash。在windows上,当我在启动elk docker容器之前运行filebeat时,它会不断重试以建立与Logstash的连接。在Mac上,filebeat正在启动任何连接。它甚至不会尝试连接到在端口5044

  • 我的ec2实例上运行了几个Docker容器。 我想将这些容器中的日志直接保存到Logstash(弹性云)。 当我试图手动安装Filebeat时,一切正常。我使用 我把它拆开,换了文件。yml配置到 这很好,我可以在Kibana中搜索应用程序“myapp”后找到我的日志。 然而,当我试图从Docker运行Filebeat时,没有成功。 这是我的docker compose中的filebeat部分。y

  • 我的目标:我需要收集从运行的tomcat容器到Filebeat容器的tomcat日志。 问题:我不知道如何从Tomcat容器中获取收集的日志文件。 到目前为止我尝试过的内容:我尝试创建一个docker卷并将tomcat日志添加到该卷中,并从filebeat容器访问该卷,但没有成功。 docker-containers:包含3个主子目录(Tomcat、Nginx和Postgres)。ENV文件和do