Tag: docker logstash

使用syslog驱动程序转发Docker日志到logstash

我需要将Docker日志转发到ELK堆栈。 堆栈的pipe理员根据消息的types参数过滤我的日志。 现在我使用filebeat,并且必须设置document_type参数,这样Logstashconfiguration才能正确地过滤我的消息。 我现在试图避免使用Filebeat,因为我要按需实例化我的EC2机器,并且不希望在运行时在每个机器上安装filebeat。 我已经看到有一个系统日志驱动程序和其他可用的。 我设置了系统日志驱动程序,并将消息发送到Logstash,但我无法find如filebeat中设置document_type的值的方法。 我如何使用Syslog驱动程序或任何其他Docker本机驱动程序将此元数据发送到Logstash? 谢谢!

Dockerize Logstash,Redis设置

有一个使用文件作为input发送事件到Redis Logstash进程,并从那里到第二个Logstash进程和自定义http进程。 所以, Logstash –> Redis –> Logstash –> Http为了dockerize设置,我正在考虑保持Logstash –> Redis在一个容器上,并linking到Redis –> Http将在另一个容器上。 对Docker来说,我还是个新手,对于同样的input/反馈,我将非常感激。

如何configurationLogstash来parsingAWS ELB日志?

我想从Logstash中parsing设置在dockerised ELK堆栈中的AWS ELB日志[存储在S3存储桶中]。 我克隆了这个回购。 这是它的文档。 我添加了这样的logstashconfiguration文件[并注释掉所有其他]: # AWS ELB configuration file ADD ./aws_elb_logs.conf /etc/logstash/conf.d/aws_elb_logs.conf configuration文件如下: input { s3 { # Logging_user AWS creds access_key_id => "fjnsdfjnsdjfnjsdn" secret_access_key => "asdfsdfsdfsdfsdfsdfsdfsd" bucket => "elb-access-logs" region => "us-west-2" # keep track of the last processed file sincedb_path => "./last-s3-file" codec => "json" type => "elb" } } filter […]

在docker主机操作系统上运行filebeat,并从容器中收集日志

我有一个服务器是多个docker集装箱的主机操作系统。 每个容器都包含一个正在创build日志的应用程序。 我希望通过使用syslog守护进程将这些日志发送到一个地方,然后我希望filebeat将这些数据传输到另一个服务器。 是否有可能在主机操作系统上安装filebeat(而不是为filebeat创build另一个容器),并使容器应用程序的日志数据被syslog守护进程收集,然后整合到主机操作系统的/ var / log中? 谢谢。

在同一个Docker容器上的两个Logstash实例

我想知道是否有一种方法可以在单个Docker容器上运行具有单独configuration的两个logstash进程。 我的安装程序有一个使用文件作为input发送事件到Redis的Logstash进程,并从那里到第二个Logstash进程并结束到自定义http进程。 所以, Logstash –> Redis –> Logstash –> Http 。 希望将两个Logstash实例和Redis保留在同一个Docker容器中。 对Docker来说,我还是个新手,对于同样的input/反馈,我将非常感激。

系统日志从nginx Docker容器到logstash

我的目标是启动一个标准的nginx服务器的普通docker集装箱。 这是我在docker quickstartterminal中的命令行input: docker run –log-driver=syslog –log-opt tag="nginx" –log-opt syslog-address =udp://[IP]:1514 nginx docker集装箱启动和工作,但docker集装箱的输出只是:运行日志作业:configuration的日志logging阅读器不支持阅读 而我的logstash没有得到任何系统日志。 但是我知道我的logstash是在正确的IP和端口上,因为我用其他系统日志来testing它。 docker -v: Docker version 1.10.1, build 9e83765 DOCKER信息: Containers: 5 Running: 5 Paused: 0 Stopped: 0 Images: 135 Server Version: 1.10.1 Storage Driver: aufs Root Dir: /mnt/sda1/var/lib/docker/aufs Backing Filesystem: extfs Dirs: 312 Dirperm1 Supported: true Execution Driver: native-0.2 Logging Driver: […]

如何在Docker中创build多容器Web应用程序

我已经在django / postgresql中创build了一个web应用程序。 我需要在docker中进一步增强django,postgres和logstash在不同的容器中。 如何在Docker中创build这样的应用程序? 我怎样才能从networking浏览器访问它?

是否有可能为ElasticBeanstalk Docker应用程序提供集中式日志logging?

我们在Elastic Beanstalk Docker容器环境中运行定制的Docker Web应用程序。 想要让应用程序日志可以在外面查看。 无需通过实例或AWS控制台进行下载。 到目前为止,这两种解决办法都不能接 也许有人实现Elastic Benastalk Dockerized应用程序的集中式日志logging? 解决scheme1:AWS控制台日志下载 不可接受 – 需要下载日志,每次提取。 非实时的。 解决scheme2:S3 + Elasticsearch + Fluentd fluentd没有从S3中检索日志的插件这里有优秀的S3插件,但是它只能用于S3的日志输出。 不是来自S3的input日志。 解决scheme3:S3 + Elasticsearch + Logstash 缺点:只能从整个桶里取出所有的日志,或者什么都没有。 问题在于Elastic Beanstalk S3日志存储结构。 您不能指定文件名称模式。 这是要么所有的日志或没有。 ElasticBeanstalk将日志保存在包含随机实例和环境ID的path中: s3.bucket/resources/environments/logs/publish/e-<random environment id>/i-<random instance id>/my.log@ Logstash s3插件只能指向resources / environments / logs / publish /。 当您尝试将其指向environments / logs / publish / * […]

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

我有一套dockerized应用程序分散在多个服务器上,并尝试使用ELK设置生产级集中式日志logging。 我对ELK部分本身可以,但是我对如何将日志转发到我的logstash有点困惑。 我试图使用Filebeat,因为它的负载均衡function。 我还想避免将Filebeat(或其他任何东西)包装到我的所有docker中,并将它们分开,dockerized或不。 我如何继续? 我一直在尝试以下。 我的Dockerslogin标准输出,所以configuration了一个非dockerized Filebeat从标准input读取我做: docker日志-f mycontainer | ./filebeat -e -c filebeat.yml 这似乎开始工作。 第一个日志被转发到我的logstash。 caching的我猜。 但是在某个时候,它会卡住并继续发送相同的事件 这只是一个错误,或者我是在一个错误的方向? 你有什么解决scheme?

从Docker容器inputLogstash系统日志

我有一个在泊坞窗主机上的docker容器中运行的Java应用程序。 应用程序使用log4j进行日志logging并logging到系统日志。 我希望能够将我的系统日志日志发送到logstash。 我将rsyslogconfiguration文件中的configuration更改为: *.* @@<logstash host ip>:514 我在我的logstashconfiguration文件为syslog: input { syslog { type => syslog port => 514 } } 并在logstash日志中有错误,说syslog tcp监听器死亡和 exception=>#<Errno::EACCES: Permission denied – bind(2) 我想我应该指定主机在logstashconfiguration的位置,并将我的dockerhost +端口的IP地址添加到configuration文件,但我仍然得到相同的错误。 我如何告诉logstash查看dockerhost上的docker容器的日志? 我在这里错过了一个组件吗? 谢谢。