标签: logstash-forwarder

Docker应用程序使用Filebeat和Logstash进行日志记录

我有一组分散在多个服务器上的dockerized应用程序,并尝试使用ELK设置生产级集中式日志记录.我对ELK部件本身没问题,但我对如何将日志转发到我的logstashes有点困惑.我正在尝试使用Filebeat,因为它具有loadbalance功能.我还想避免将Filebeat(或其他任何东西)打包到我的所有码头工人中,并保持它分离,对接或不用.

我该怎么办?

我一直在尝试以下方面.我的Docker登录stdout所以配置了非dockerized Filebeat从stdin读取我做:

docker logs -f mycontainer | ./filebeat -e -c filebeat.yml

这似乎在开始时起作用.第一个日志将转发到我的logstash.我想是缓存的.但在某些时候它会卡住并继续发送相同的事件

这只是一个错误还是我朝错误的方向前进?你设置了什么解决方案?

logstash docker logstash-forwarder elastic-stack

22
推荐指数
4
解决办法
2万
查看次数

获取Logstash-forwarder机器的IP地址

我在我的系统上设置了Elasticsearch,Logstash,Kibana日志查看工具.我的配置现在有2台机器(Amazon EC2实例):

  • 54.251.120.171 - 安装了ELK的Logstash-server
  • 54.249.59.224 - Logstash-forwarder - 将"/ var/logs/messages"日志发送到Logstash-server

在logstash-server上,这是我的配置(在不同的文件中)的样子: -

input {
  lumberjack {
    port => 5000
    type => "logs"
    ssl_certificate => "/etc/pki/tls/certs/logstash-forwarder.crt"
    ssl_key => "/etc/pki/tls/private/logstash-forwarder.key"
  }
}




filter {
 if [type] == "syslog" {

    grok {
      match => { "message" => "%{SYSLOGTIMESTAMP:syslog_timestamp} %{SYSLOGHOST:syslog_hostname} %{DATA:syslog_program}(?:\[%{POSINT:syslog_pid}\])?: %{GREEDYDATA:syslog_message}" }
      add_field => [ "received_at", "%{@timestamp}" ]
      add_field => [ "received_from", "%{host}" ]
    }
    syslog_pri { }
    date {
      match => [ "syslog_timestamp", "MMM  d HH:mm:ss", "MMM dd HH:mm:ss" ]
    } …
Run Code Online (Sandbox Code Playgroud)

elasticsearch logstash kibana logstash-grok logstash-forwarder

7
推荐指数
1
解决办法
5543
查看次数

使用ELK堆栈的最佳Docker日志记录架构

最近我试图找到使用ELK堆栈的最佳Docker日志记录机制.我对公司在生产中使用的最佳工作流程有一些疑问.我们的系统有典型的软件堆栈,包括Tomcat,PostgreSQL,MongoDB,Nginx,RabbitMQ,Couchbase等.截至目前,我们的堆栈在CoreOS集群中运行.请在下面找到我的问题

  1. 使用ELK堆栈,进行日志转发的最佳方法是什么 - 我应该使用Lumberjack吗?我问这个是因为我看过人​​们使用Syslog/Rsyslog将日志转发到logstash的工作流程.
  2. 由于我们所有的软件都是集装箱式的,我应该在所有容器中都包含Log-forwarder吗?我计划这样做,因为我的大多数容器都根据运行状况切换节点,因此我不热衷于将文件系统从容器安装到主机.
  3. 我应该使用redis作为代理来转发日志吗?如果是,为什么?
  4. 编写定义要转发到log-stash的日志格式的log-config文件有多难?

这是一个主观问题,但我确信这是人们很久以前解决的问题,我并不热衷于重新发明轮子.

rsyslog lumberjack docker logstash-forwarder elastic-stack

7
推荐指数
1
解决办法
2499
查看次数

使用filebeat或logstash打开gzip文件

我可能在这里要求太多,我认为它还没有实现,但我的ELK堆栈设置与本教程的工作方式类似(几乎相同):( https://www.digitalocean.com/community/tutorials/how -to-install-elasticsearch-logstash-and-kibana-elk-stack-on-ubuntu-14-04)基本上,我在客户端计算机上安装了文件,并将文件夹中的所有日志文件发送到logstash on服务器电脑.

我想要做的是能够将gzip文件(包含文本文件)和文本文件放在目录中,并且能够将它们全部发送到带有filebeat的logstash.所以我需要filebeat发送一个unziped文件,或者logstash能够查看gzip文件并获取其中的文本文件.
我环顾网络,这似乎还没有实现,但我发现的大多数是日志转发器和logstash而不是filebeat,所以我只是希望有一种方法可以使用filebeat.

我可能只是在这里过于充满希望.如果您不知道这样做的方法,那么我也想知道.

elasticsearch logstash lumberjack logstash-forwarder elastic-stack

7
推荐指数
1
解决办法
6175
查看次数

Pyspark Streaming - 如何设置自定义日志记录?

我有一个在Hadoop集群中运行的pyspark流应用程序.流应用程序每n秒从Kafka队列中读取一次并进行REST调用.

我有一个日志记录服务,提供一种简单的方法来收集和存储数据,将数据发送到Logstash并在Kibana中可视化数据.数据需要符合此服务提供的模板(具有特定密钥的JSON).

我想使用此服务将流媒体应用程序中的日志发送到Logstash.为此,我需要做两件事:

- Collect some data while the streaming app is reading from Kafka and making the REST call. 
- Format it according to the logging service template.
- Forward the log to logstash host.
Run Code Online (Sandbox Code Playgroud)

任何与此相关的指导都会非常有帮助.

谢谢!

logging apache-spark spark-streaming logstash-forwarder pyspark

6
推荐指数
0
解决办法
238
查看次数

从azure web app提供logstash.怎么样?

我有一个托管在azure平台上的Web应用程序和一个托管在虚拟机上的ELK堆栈也是天蓝色的(相同的订阅),我很难找到一种方法将日志从应用程序发送到logstash.

Web应用程序将其所有文件存储在只能通过FTP访问的存储上,而logstash没有输入插件.

人们用什么来从Web应用程序向ELK发送日志?如果它作为VM运行,我会使用NXlog,但这对于Web应用程序来说是不可能的.

我也使用Log4Net并尝试了一个UDP转发器,虽然我添加了公共UDP端点,但它在我的本地ELK堆栈上运行但不是天蓝色托管的.

c# azure logstash logstash-forwarder elastic-stack

5
推荐指数
1
解决办法
3357
查看次数

使用 filebeat 和 logstash 标记索引

我使用 logstash-forwarder 和 logstash 并使用以下配置创建带有标签的动态索引:

/etc/logstash/conf.d/10-output.conf

output {
  elasticsearch {
    hosts => "localhost:9200"
    manage_template => false
    index => "logstash-%{tags}-%{+YYYY.MM.dd}"
  }
}
Run Code Online (Sandbox Code Playgroud)

/etc/logstash-forwarder.conf

"files": [
    {
      "paths": [
        "/var/log/httpd/ssl_access_log",
        "/var/log/httpd/ssl_error_log"
       ],
      "fields": { "type": "apache", "tags": "mytag" }
    },
Run Code Online (Sandbox Code Playgroud)

相关的 filebeat 配置是:

/etc/filebeat/filebeat.yml

filebeat:
  prospectors:
    -
     paths:
       - /var/log/httpd/access_log
     input_type: log
     document_type: apache
     fields:
       tags: mytag
Run Code Online (Sandbox Code Playgroud)

在 Kibana 中,mytag我看到的不是我beats_input_codec_plain_applied所有的索引。

logstash logstash-forwarder filebeat

4
推荐指数
2
解决办法
2万
查看次数

在Logstash中使用Syslog forware HAProxy日志过滤

我在理解如何正确执行此操作时遇到问题.

我有以下Logstash配置:

input {
  lumberjack {
    port => 5000
    host => "127.0.0.1"
    ssl_certificate => "/etc/ssl/star_server_com.crt"
    ssl_key => "/etc/ssl/server.key"
    type => "somelogs"
 }
}

output {
  elasticsearch {
    protocol => "http"
    host => "es01.server.com"
  }
}
Run Code Online (Sandbox Code Playgroud)

使用logstash-forwarder,我将syslog生成的haproxy.log文件推送到logstash.然后Kibana向我展示了一个_source如下所示:

{"message":"Dec 8 11:32:20 localhost haproxy[5543]: 217.116.219.53:47746 [08/Dec/2014:11:32:20.938] es_proxy es_proxy/es02.server.com 0/0/1/18/20 200 305 - - ---- 1/1/1/0/0 0/0 \"GET /_cluster/health HTTP/1.1\"","@version":"1","@timestamp":"2014-12-08T11:32:21.603Z","type":"syslog","file":"/var/log/haproxy.log","host":"haproxy.server.com","offset":"4728006"}
Run Code Online (Sandbox Code Playgroud)

现在,这必须被过滤(不知何故),我不得不承认我没有丝毫想法如何.
查看grok文档并摆弄grok调试器,我仍然没有从Logstash和Kibana中获得任何有用的东西.

我一直在扫描模式目录及其文件,我不能说我理解如何使用它们.我希望提供一个带有haproxy模式Logstash的过滤器可以匹配我的模式_source但是没有任何运气.

logstash logstash-grok logstash-forwarder

3
推荐指数
1
解决办法
8388
查看次数

日志存放位置ELK栈

我正在使用 logstash 进行集中式日志记录。我在托运人节点上使用 logstash-forwarder,在收集器节点上使用 ELK 堆栈。我想知道日志存储在 elasticsearch 中的位置,我没有看到在存储日志的位置创建了任何数据文件。有人知道吗?对这个?

elasticsearch logstash kibana logstash-forwarder elastic-stack

3
推荐指数
2
解决办法
8900
查看次数

使用Logstash从远程计算机读取带有文件输入插件的日志文件

目前,我的日志和logstash运行在同一台计算机上,因此我使用此配置(使用拉模型)读取放置在本地计算机上的日志

input {     
    file {
        path => "/home/Desktop/Logstash-Input/**/*_log"
        start_position => "beginning"
    }
}
Run Code Online (Sandbox Code Playgroud)

现在,我们在另一台计算机上运行了logstash,并希望读取日志远程机器。

有没有一种方法可以在配置文件的文件输入中设置IP?

编辑: 我设法用logstash-forwarder来做到这一点,pushtash-forwarder是一个推模型(log shipper / logstash-forwarder会将日志发送到logstash索引服务器),但我仍在寻找没有shipper的pull模型,logstash索引服务器将进入直接与远程主机联系。

logstash logstash-forwarder logstash-configuration

3
推荐指数
1
解决办法
1万
查看次数

从Logstash-Forwarder(Lumberjack)向Logstash发送自定义字段

如何在我的logstash-forwarder配置文件中添加自定义字段,以便logstash可以访问它?

logstash logstash-forwarder

0
推荐指数
1
解决办法
960
查看次数