Tag: syslog

更改由docker的syslog驱动程序发送的应用程序名称

我正在使用Papertrail来收集我的Docker容器的日志。 对此,我在创build容器时使用了syslog驱动程序: sudo docker run –name my_container –log-driver=syslog … …并将以下行添加到我的/etc/rsyslog.conf *.* @logsXXX.papertrailapp.com:YYYY 最后,我得到了这样的Papertrail日志: Apr 24 13:41:55 ip-10-1-1-86 docker/3b00635360e6: 10.0.0.5 – – [24/Apr/2015:11:41:57 +0000] "GET /healthcheck HTTP/1.1" 200 0 "-" "" "-" 问题是app-name(请参阅syslog RFC )是docker / container_id 我宁愿有容器名称(或主机)。 但我不知道该怎么办 我试图设置一个特定的主机名到我的容器像下面,但它没有更好的工作: sudo docker run –name my_container -h my_container –log-driver=syslog …

从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容器的日志? 我在这里错过了一个组件吗? 谢谢。

当在OS X上使用log-driver =“syslog”时,docker错误

在OS X上使用–log-driver="syslog"时,docker错误 我试图学习如何在OS X(10.10.3)上使用Docker容器,我理解与标准Linux实现(需要boot2docker VM)的区别,我想知道是否对syslog日志消息有任何影响 当我用–log-driver="syslog"选项启动一个容器时,容器被创build,但是我在启动时遇到错误 ~$ docker run –log-driver="syslog" –name daemon_dwayne -d ubuntu /bin/sh -c "while true; do echo hello_world; sleep 2; done;" 1f623793049916d5c…. FATA[0000] Error response from daemon: Cannot start container 1f623793049916d5….: Unix syslog delivery error 这在Linux机器上运行良好…感谢任何提示

Docker容器中的Java应用程序不能正确login到syslog

我的目标 我有一个主机内运行的几个不同的容器。 它们都与对方的/dev/log套接字共享一个卷。 主机将这些日志转发到中央日志logging服务器。 所有其他容器日志都显示在主机的/var/log/messages 。 其他容器是python程序,它允许日志logging直接附加到/dev/log unix域套接字。 基本configuration 我有一个docker容器从jar文件运行一个scala应用程序。 /dev/log套接字在主机和容器之间共享为卷。 应用程序的log4j.properties文件对我来说似乎很好,它的设置如下: # Root logger option log4j.rootLogger=INFO, file, stdout, SYSLOG # Direct log messages to a log file log4j.appender.file=org.apache.log4j.RollingFileAppender log4j.appender.file.File=log/associationRules.log log4j.appender.file.MaxFileSize=10MB log4j.appender.file.MaxBackupIndex=10 log4j.appender.file.layout=org.apache.log4j.PatternLayout log4j.appender.file.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} [%c{1}:%L] %-5p <%X{jobID}> %m%n # Direct log messages to stdout log4j.appender.stdout=org.apache.log4j.ConsoleAppender log4j.appender.stdout.Target=System.out log4j.appender.stdout.layout=org.apache.log4j.PatternLayout log4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} [%c{1}:%L] %-5p <%X{jobID}> %m%n # […]

从Dockerlogin

我有一个rails应用程序通过docker运行。 我用docker-compose(config下面)调出应用程序。 整个应用程序涵盖了一个MySQL,Redis的,铁轨(包括sidekiq工人),nginx(与反应前端)和一个rsyslog服务器,转发所有日志Loggly 我的问题是相关的日志logging部分。 从所有服务的日志基本上得到转发,除了从我的日志从sidekiq。 当我用bundler exec sidekiq启动sidekiq时,日志输出到控制台(stdout),但是当我在rsyslog服务器上添加/ var / log / messages时,我没有看到它们。 在设置docker上的日志logging时,我遵循本教程: https://medium.com/@yoanis_gil/logging-with-docker-part-1-b23ef1443aac 我的想法是,在docker容器中标准输出的所有内容都应该logging到docker日志机制中 – 并且使用我的设置,这意味着它应该进入syslog服务器。 docker构成文件: version: '3' services: nginx: image: nginx depends_on: – api – syslog ports: – "80:8080" logging: driver: syslog options: syslog-facility: "daemon" tag: "nginx" syslog-address: "tcp://localhost:5514" networks: – phototankswarm env_file: .env.dev volumes: – ./frontend/nginx/conf.d:/etc/nginx/conf.d – ./frontend/public:/www db: image: […]

使用syslog将docker容器日志发送到logstash

可以logindocker容器…说/ var / log / syslog中的日志获取运送到logstash,而不使用任何额外的组件,如lumberjack和logspout? 只是想知道,因为我build立了一个环境,并试图使它与syslog工作(所以syslog船舶日志从docker容器logstash),但现在它不工作..只是想知道是否有什么问题,我的逻辑。