Tag: logging

日志不是在docker撰写的

我正在使用docker组成开发环境。 我的docker撰写文件是, version: '2' services: mysql_db: image: mysql:5.6 ports: – "3310:3306" environment: MYSQL_ROOT_PASSWORD: some pass MYSQL_DATABASE: some db MYSQL_USER: some user MYSQL_PASSWORD: some pass onehop: build: context: . #current dir as build context args: mysql_host: 127.0.0.1 mysql_port: 3306 mysql_user: onehop mysql_passwd: onehop mysql_db: onehop celery_host: some host celery_port: some port celery_user: some user celery_password: some […]

Docker,Supervisord和日志logging – 如何整合docker日志中的日志?

所以,通过uWSGI来试验Docker + Supervisord + Django应用程序。 我有整个工作正常,但需要整理日志logging。 如果我以非守护模式启动主pipe, /usr/bin/supervisord -n 然后我得到了监督日志标准输出的日志输出。 但是,如果supervisord处于守护进程模式,则它自己的日志将被隐藏在容器文件系统中,并且其应用程序的日志也会在自己的app_stderr / stdout文件中执行。 我想要的是将pipe理员和应用程序标准输出logging到docker日志中。 在非守护模式下启动supervisord是一个合理的想法,还是会造成意想不到的后果? 另外,我怎样才能获得应用程序日志也发挥到docker日志?

将docker容器日志发送到logstash的最佳方法

比方说,我有一个容器(泊坞窗)内运行的Nginx。 访问日志和错误日志通过STDOUT在Dockerfile中发送: # forward request and error logs to docker log collector RUN ln -sf /dev/stdout /var/log/nginx/access.log RUN ln -sf /dev/stderr /var/log/nginx/error.log Logspout似乎是一个优雅的解决scheme,可以在logstash内发送容器的STDOUT(configuration了sysloginput) input { syslog { type => syslog port => 5514 } } 但是logspout不知道通过STDOUT发送的日志的格式(或者我错过了什么?) 所以我必须做一些事情: input { syslog { type => nginx-access port => 5514 } } 但那么nginx错误日志呢? 如果我也通过STDOUT发送php-fpm日志呢? logspout如何pipe理这个? 另一个解决scheme是运行rsyslog indos容器并将收集的日志发送到logstatsh的input… 正如你所看到的,这对我来说并不是很清楚……我希望能够发送nginx和php-fpm日志到logstash,以便它们可以被解释为它们是什么……但是我没有find“好的做法“… […]

从Docker容器中运行的JVM应用程序将日志发送到Graylog的最佳实践是什么?

我使用Graylog作为中央日志logging服务器,并使用gelf log4j2-appender将日志消息发送到graylog。 这工作正常。 现在我创build了我的应用程序的泊坞窗图像,我能够运行我的软件作为docker集装箱。 使用docker我也login到标准输出(控制台appender)获取应用程序日志到docker(docker logs {containerId})。 现在我问自己,我可以在gelf log4j2-appender上腾出空间,并使用docker log-driver / plugin作为gelf。 (请参阅https://docs.docker.com/engine/admin/logging/overview/ ) 这里最好的做法是什么? 我认为使用docker日志插件会将整个string消息发送到graylog,并且graylog需要从该string中提取元信息(所以我需要在日志消息中提供这个元数据,例如log_level)。 这可能会导致更多的资源消耗在graylog端,也不可能configuration泊坞窗只发送错误消息到graylog。 这导致更多的networkingstream量。 使用log4j2 gelf-appender,我可以在日志消息中提供额外的元数据,而不需要将其包含在主日志消息中,并且在graylog端不需要提取。 也可以通过log_levelconfiguration哪些消息应该发送给graylog。 还是我错了? 什么是最好的解决scheme或每种方式发送日志到graylog的优点和缺点是什么?