Tag: rsyslog

如何从运行在primefaces主机上的docker容器获取tomcat日志

我正在处理日志监控,我有要求在Docker容器(容器运行在primefaces主机)中运行的Tomcat应用程序服务器日志(例如:catalina.log),并使用rsyslog将其传递到Logstash服务器。 我能够得到docker容器相关的日志,但无法从运行tomcat的docker容器中获取Tomcat服务器和应用程序日志。 任何build议对此表示赞赏。 谢谢,Praveen

反正有没有sudo访问启动rsyslogd?

我正在运行docker容器没有使用sudo访问 docker run -it –user 739000:8500 blabla… 有反正我可以启动rsyslogd deamon这个docker容器内没有sudo访问?

rsyslog无法将docker container id识别为来自log4j 1x的主机名称

我的log4j 1x版本正在从docker容器发送日志到syslog服务器。 在我的rsyslog.conf中,我将这些日志存储在/ var / log / rsyslog / appname /%hostname%下。 理想情况下,如果我从log4j1x docker容器发送日志,rsyslog应该将容器标识标识为%hostname%,但将底层服务器标识为主机名。 当我的nginx docker容器发送日志到rsyslog时,情况并非如此。 它正确地标识容器id作为主机名。 有人可以帮忙吗?

将日志元数据写入rsyslog

我有一个设置泊坞窗容器使用日志logging驱动程序写他们的日志。 目前,来自日志的日志行被转发到主机上运行的dockerd ,但syslog行上的应用程序名称显示为dockerd 。 作为一种解决方法,我希望将日记元数据中的CONTAINER_NAME字段写入syslog中出现的行中,以便在主机的syslog被传送到syslog聚合服务器之后,我可以识别哪个容器写了什么行。 有什么build议么?

Docker swarm – login到rsyslog容器

我有一个docker群,有6个服务,我想logging到一个中央日志logging容器。 我有这个工作在我的开发环境(非swarm) – 请参阅下面的docker-compose文件。 当我尝试将configuration从dev env转换到我的swd prod env时,它失败。 首先我提出日志服务: docker service create –replicas 1 \ –name logserver \ –network phototankswarm \ –constraint=node.hostname==pi2 \ -p localhost:5514:514 \ kaninfod/pt-syslog 这很好地运行。 然后其中一个服务(例如redis): docker service create –replicas 1 \ –name redis \ –network phototankswarm \ –constraint=node.hostname==pi1 \ –log-driver=syslog \ –log-opt syslog-facility="daemon" \ –log-opt tag="rails" \ –log-opt syslog-address="tcp://localhost:5514" \ -p […]

docker containers里面的rsyslog =>“rsyslogd没有运行…失败”

我正在docker容器中运行rsyslog发送UDP消息到logstash。 当我login泊坞窗容器时,input: service rsyslog status 说明: rsyslogd is not running … failed! 但是,当我在容器中时,如果input: service rsyslog start 它完美启动,没有错误,也没有真正的迹象表明它在一开始就失败了 我不能说出为什么它失败! * rsyslog conf文件没有被修改,除了允许imfile的模块。 rsyslog.conf如下所示: # /etc/rsyslog.conf Configuration file for rsyslog. # # For more information see # /usr/share/doc/rsyslog-doc/html/rsyslog_conf.html ################# #### MODULES #### ################# module(load="imfile" PollingInterval="10") module(load="imuxsock" ) # provides support for local system logging module(load="immark") #provides –MARK– […]

Docker rsyslog驱动程序在实际消息之前添加消息长度

我正在尝试configuration一个rsyslog服务器来接收来自docker容器的日志。 我目前使用下面的命令行来运行Docker容器: sudo docker run -d –log-driver=syslog –log-opt syslog-address=udp://localhost:514 –log-opt syslog-format=rfc5424 –log-opt tag="remote:shouldshow" alpine echo "some random message" 我正在使用rfc5424,因为从docker到rsyslog的标准日志格式打破了冒号字符的消息,将标记remote:shouldshow分开,并向消息添加shouldshow。 有关这种情况的更多信息在这里: https : //github.com/docker/docker/issues/18712 问题是来自docker的日志消息在消息之前还有一个三位数字,就像下面例子中的127(rsyslog的rawmsg属性)一样: 127 <30>1 2016-07-12T00:51:13-03:00 vitor-Lenovo-G50-70 docker/remote:shouldshow 2910 docker/remote:shouldshow some random message 当我尝试使用像APP-NAME或syslogtag这样的系统日志属性时,它们都具有<30> 1的值。 我已经复制这个消息没有127,并通过netcat发送到系统日志服务器,并正确parsing值,如下所示: echo '<30>1 2016-07-12T00:15:53-03:00 vitor-Lenovo-G50-70 docker/remote:shouldshow 2910 docker/remote:shouldshow some random message' | nc -u -v localhost 514 任何人有任何想法为什么发生这种情况? 任何帮助将非常感激。 […]

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),但现在它不工作..只是想知道是否有什么问题,我的逻辑。