Tag: logging

在容器之间共享数据

我有一个运行应用程序服务器的docker集装箱。 应用程序日志生成并存储在一个特定的目录中。 在我的情况下,有多个日志文件和跟踪生成并存储在该位置。 我可以理解,有多种方式来访问这些日志 – 例如 docker exec -it <container_id> bash ssh into the container (when the keys are set while creating the container) 除了上面的两个例子,我想通过一个不同的容器(运行一个nginx的web服务器)来访问日志。 理论上我可以理解,在为应用服务器(第一个容器)创builddocker容器时使用“-volumes-from”的概念,我们可以实现,但是我不知道如何让它工作。 我的要求是每当生成日志,它应该通过其他容器的networking服务器。 有没有办法像目录列表一样查看整个日志目录的目录列表(通过卷???)。 我尝试了这样的事情,并没有像预期的那样工作 docker run –name=log_webserver -p 80 –volumes-from logvol:/website_files nginx docker run –name appcontainer -m 1024 -p 9080 -v sysvol:/var/log/rsyslog -v logvol:/opt/servers/simpleappserver/logs krckumar/simpleappserver 任何其他方式来公开日志? 请build议。

带弹性堆栈的Kubernetes / Docker中可靠的集中式日志logging

我们正在CoreOS上build立一个Kubernetes集群来运行50多个不同的应用程序(主要是Java应用程序),每个应用程序都可能以自己的格式生成日志。 我们正在寻求使用Elastic Stack (以前称为ELK堆栈) 集中来自所有容器的日志 ,并具有一些特定的要求: 面对networking,容器或节点故障的可靠性 。 每个日志语句都经过一次处理 。 即使发生故障,解决scheme也必须记住停止的位置,并且应该继续从此时开始调度日志,一旦恢复健康状态。 在pod / replication控制器的configuration中configuration日志grokking模式 。 我们希望避免在集中的通用元素(例如Logstash)中configuration特定于应用程序的模式。 我们提出的解决scheme是使用: Logspout消耗Docker日志 – 将它们转发到本地… rsyslog守护进程(例如syslog://localhost:514 ),这将转发他们到一个… Logstash实例在集群中运行并通过Kubernetes服务公开。 Logstash会根据容器ID过滤和转换日志文件,并将结果发送给Elasticsearch。 这个解决scheme可靠吗? 这个解决scheme似乎覆盖了我们所有的要求,除了#3(与应用程序一起的grokking模式)。 你有什么build议吗? 我们愿意使用Filebeat,fluentd或其他组件。

docker日志和缓冲输出

我想连续打印没有换行符(等待行为)的点。 这个bash单行内容在我的机器上工作正常: $ while true; do sleep 1; printf '.'; done …….^C 但是,当我在Docker容器中运行它时,并且当我尝试使用docker日志读取其输出时,将不输出任何输出: $ docker run -d –name test_logs ubuntu:14.04 bash -c "while true; do sleep 1; printf '.'; done" 60627015ed0a0d331a26e0c48ccad31c641f2142da55d24e10f7ad5737211a18 $ docker logs test_logs $ docker logs -f test_logs ^C 我可以通过在进程1(bash命令)上使用strace来确认bash循环在容器中执行: $ docker exec -t test bash -c 'apt-get install -y strace; strace -p1 […]

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在supervisord中loggingstdout

我有几个需要运行supervisord的docker集装箱。 但是,我没有设法让主pipe捕获日志并将其输出到标准输出。 看起来,主pipe没有捕获他们的输出,并以与docker工作良好的方式吐出。 我很喜欢它前面的进程名称或东西。 我该怎么做? 从主pipe手册中不清楚。 除了主pipe,我还会考虑一个不同的工具。 它的缺点之一是它是用python编写的,它真的使Docker容器膨胀起来。 除了你的解决scheme,如果你有一个,是否有更好的工具与docker工作更好?

kubernetes如何设置日志文件的最大大小?

如何设置日志文件的最大大小? 或者启用日志旋转。 在文档中我还没有发现任何关于这个。 或者有必要为此写一个脚本?

Supervisord不会显示来自进程的stdout

试图捕获我的应用程序的日志与监pipe人在docker。 这是我的supervisord.conf: [supervisord] logfile=/dev/null nodaemon=true [program:autofs] command=automount -f redirect_stderr=true stdout_logfile=/dev/stdout stdout_logfile_maxbytes=0 [program:split-pdf] command=bin/split-pdf-server directory=/root/split-pdf redirect_stderr=true stdout_logfile=/dev/stdout stdout_logfile_maxbytes=0 启动容器后,一切正常,我可以看到我的应用程序运行的结果(它在networking共享上创buildPDF文件) 但日志显示从我的应用程序没有输出: 015-07-02 00:39:26,119 CRIT Supervisor running as root (no user in config file) 2015-07-02 00:39:26,124 INFO supervisord started with pid 5 2015-07-02 00:39:27,127 INFO spawned: 'split-pdf' with pid 8 2015-07-02 00:39:27,130 INFO spawned: 'autofs' with pid 9 […]

Docker容器sshd日志

如何使用openssh-server在Docker容器中启用ssh连接日志(/var/log/auth.log)? /var/log/auth.log不存在于我的容器中。 docker版本:9.0 主机:Ubuntu 13.10 容器:Ubuntu 13.10

如何访问Google AppEngine托pipe虚拟机日志?

我正在尝试Google AppEngine的托pipe虚拟机testing版,当它在我的IDE中使用AppEngine dev服务器在本地运行时,似乎无法使其与mvn appengine:gcloud_app_run一起运行。 我始终如一地得到: "[INFO] INFO: default: "GET /_ah/health?IsLastSuccessful=no HTTP/1.1" 503 298" 因此需要访问docker容器中输出的日志来诊断503。 我已经在appengine-maven-pluginconfiguration部分中使用以下行来激活日志logging(在IDE中工作良好)。 <gcloud_app_enable_mvm_logs>true</gcloud_app_enable_mvm_logs> 然后我尝试访问docker容器中的日志: ➜ ~ docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 76369bc9b773 heimdall-dev.default.1:latest "/home/vmagent/jetty 5 seconds ago Up 4 seconds 0.0.0.0:49174->8080/tcp google.appengine.heimdall-dev.default.1.0.2014-11-13T210256.776274Z ➜ ~ docker logs 76369bc9b773 Info: Limiting Java heap size to: 1456M Java HotSpot(TM) 64-Bit […]

在弹性search泊坞窗容器中找不到日志

我使用以下参数运行公共弹性search容器: docker run -d -v /elasticsearch/data:/usr/share/elasticsearch/data -p 9200:9200 -p 9300:9300 –name my_elastic_search elasticsearch:2.4.1 -Des.cluster.name="elastic_search_name" 我有兴趣得到日志,但我没有find他们的运气。 他们应该在哪里? 我查看了/var/log/elasticsearch和/usr/share/elasticsearch/logs ,这两个目录都是空的