在Kubernetes集群中的自定义docker容器与使用Stackdriver的日志

时间:2017-11-25 15:33:31

标签: apache docker logging kubernetes google-cloud-stackdriver

我想知道为了将在我的自定义apache容器中创建的日志(部署在带有Kubernetes的pod中)发送到Stackdriver收集器,我必须遵循哪些步骤。

我注意到如果我创建一个带有标准apache(或nginx)容器的pod,access.log和error.log会自动发送到Stackdriver。

事实上,我能够在Kubernetes仪表板和Google Cloud Dashboard上看到日志---> Logging ---> Logs 相反,我没有看到任何与我的自定义apache相关的内容......

有什么建议吗?

1 个答案:

答案 0 :(得分:0)

让我们从Nginx容器的默认行为开始,它将日志发送到access.log和error.log。这两个文件都有符号链接(软链接),如下所示

access.log -> /dev/stdout   
error.log -> /dev/stderr

因此,您可以访问Kubernetes Dashboard和Google Cloud Dashboard上的日志。

解决您的问题

由于您有自定义Apache或Nginx服务器,我建议您检查access.log和error.log是否分别具有指向/ dev / stdout,/ dev / stderr文件的符号链接。

如果没有符号链接,则需要为两个文件创建它以访问日志。  这是执行此操作的命令。

ln -s source_file myfile