GKEでは、自前でなにもしなくても Stackdriver Logging を有効にしておくだけで自動でログを収集してくれているので、
ブラウズ したり、ログベースのメトリクスでアラートを仕込んだりできるようになる。
以下、何がどこに送られてきているかのまとめ。
GKE Container (resource.type="container"
)
デプロイされた各コンテナの標準出力、標準エラー出力が送られてくる。
namespace: kube-system
Kubernetesのシステム用(そのまんま)のコンテナからのログ。
以下、 Pod名と(コンテナ名)
- default-http-backend (default-http-backend)
- event-exporter-v0.1.7 (event-exporter, prometheus-to-sd-exporter)
- fluentd-gcp-v2.0.9 (fluentd-gcp, prometheus-to-sd-exporter)
- heapster-v1.4.3 (heapster, prom-to-sd, heapster-nanny)
- kube-dns (dnsmasq, kubedns, sidecar)
- kube-dns-autoscaler (autoscaler)
- kube-proxy-XXXXXX (kube-proxy)
- kubedash (kubedash, heapster)
- kubernetes-dashboard (kubernetes-dashboard)
- l7-default-backend (default-http-backend)
などがいる。(もしかしたら自分でデプロイしたものが混ざっているかもしれない)
namespace: それ以外
自分でデプロイしたコンテナからのログ。
GKE Cluster Operations (resource.type="gke_cluster"
)
events
Kubernetesのイベント(kubectl get events
で見れるやつ)が送られてくる。
注意点として、 location を選択してしまうと出てこなくなるので、 All location を選ぶこと。(嵌った)
GCE VM Instance (resource.type="gce_instance"
)
インスタンス上で直接動く各種プロセスからのログが送らてくる。
- kubelet
- kube-proxy
- docker
- node-problem-detector
これらのログはこっち。
おわり
ガチになると自前でDatadogなどに送らないといけないのかもしれないけど、
デフォルトでもある程度は全然いけるGKE素敵。
蛇足
- GKE Node Pool Operations
- Kubernetes Cluster
というログもあるけど何のログかちゃんと調べられていない。。。
リファレンス
ログ | Kubernetes Engine | Google Cloud