从运行Apache和PHP-FPM的自定义Kubernetes docker容器向Stackdriver提供日志

时间:2018-10-18 03:51:23

标签: apache docker kubernetes stackdriver fpm

我们正在Google云上运行一个小型的Custom Kubernetes Pod测试集群,该集群内部正在运行Apache和PHP-FPM。

集群具有以下关键配置:

  • 主版本:1.10.6-gke.2
  • Kubernetes alpha功能:已禁用
  • 总大小:3
  • StackDriver日志记录:已启用
  • StackDriver监视: 已启用

一旦集群出现, kubectl get pods --all-namespaces 就会显示出与我们的服务一起运行的流利和堆积服务。

kube-system   event-exporter-v0.2.1-5f5b89fcc8-r89d5                           2/2       Running   0          13d
kube-system   fluentd-gcp-scaler-7c5db745fc-gbrqx                              1/1       Running   0          21d
kube-system   fluentd-gcp-v3.1.0-76mr4                                         2/2       Running   0          13d
kube-system   fluentd-gcp-v3.1.0-kl4xp                                         2/2       Running   0          13d
kube-system   fluentd-gcp-v3.1.0-vxsq5                                         2/2       Running   0          13d
kube-system   heapster-v1.5.3-95c7549b8-fdlmm                                  3/3       Running   0          13d
kube-system   kube-dns-788979dc8f-c9v2d                                        4/4       Running   0          99d
kube-system   kube-dns-788979dc8f-rqp7d                                        4/4       Running   0          99d
kube-system   kube-dns-autoscaler-79b4b844b9-zjtwk                             1/1       Running   0          99d

我们可以从我们的应用程序代码(在我们的pod内运行)中获取日志记录,以显示在Stackdriver Logging中,但是我们希望汇总Apache(/ var / log / httpd / access_log和error_log)和PHP-以及Stackdriver中的FPM。

此页面来自Google的文档,意味着该默认情况下应启用。 https://cloud.google.com/kubernetes-engine/docs/how-to/logging

注意:默认情况下,当您使用gcloud命令行工具或Google Cloud Platform Console创建新集群时,将启用Stackdriver Logging。

但是对于我们来说显然不是这样。我们尝试了几种不同的方法来使它起作用(下面列出),但是没有成功。

包括:

似乎没有必要执行此步骤,因为文档表明您只需要在VM实例上执行此操作,但是无论如何我们还是在k8s pod上进行了尝试。作为此步骤的一部分,我们确保Apache启用了mod_status(/ server-status),PHP-FPM启用了/ fpm-status,然后按照文档安装模块Apache插件。

这似乎应该很简单,但是显然我们错过了一些事情。任何帮助将不胜感激。

干杯,朱利安·科恩

0 个答案:

没有答案