docker 程序日志怎么处理

如题所述

Docker日志发送到Loggly可以有多种途径
我们为您提供了多种灵活的日志传送方法,你可以选择其中最适合你特定环境的那个——当然,所有的方法都不需要专门的agent。以下是为每种logging类型提供的最佳方案:

1. Syslog
现在您可以使用 Loggly Docker container。它同样托管在 Docker Hub上。SendGrid Labs推荐使用这种方案。

2. 自定义应用日志
通过我们的 HTTP端点发送数据:如果你正在使用我们为通用开发语言提供的 logging库的其中之一做logging的话,这种方式可能会工作的很好。

3. 文件和socket结合
挂载到宿主机,之后rsyslog将会帮你读取已经挂载的卷,并且隔一段时间会将你的log events转发到Loggly。下次我会找个时间针对这种方法作出更为详细的介绍。

在这篇文章中,我将会详细介绍第一种方案,这种方案适用于可以生成兼容于syslog日志的应用程序。兼容于syslog日志的应用包括Apache、Nginx和使用logback或是Log4j的Java程序。

使用容器技术有以下优点:

你只需要维护单独的进程(一个容器就是一个进程),并且它们相对独立于宿主机本身;
你可以更高效的使用你的资源。在一台宿主机上,一个Loggly的Docker容器可以支持同一主机上的数十个其它容器;
你可以保证你的核心应用的性能和可靠性。
由于Loggly容器是作为一个单独的进程运行,你可以确保以一种可靠的方式从Loggly获取你的日志,而无需阻塞你的应用程序的处理;
你可以单点控制发送到Loggly的日志。例如,由于日志会发送到外网,你可能希望对其设置TLS加密,又或者,你想对你的日志做下过滤,只是想把特定日志级别的日志内容发送到Loggly。
温馨提示:答案为网友推荐,仅供参考
相似回答