メインコンテンツまでスキップ
Sumo Logic Japanese

Kubernetes コントロール プレーン アプリケーションのログとメトリクスの収集

このページでは、Kubernetes コントロール プレーン アプリケーションのログとメトリクス収集のセットアップ手順を説明します。

ログとメトリクスのタイプ

Kubernetes コントロール プレーン アプリケーションは、ログとメトリクスを使用します。

ログ Source

Sumo Logic Kubernetes アプリケーションは、FluentBit と FluentD を使用してログを収集します。

メトリクス Source
  • Kubernetes API サーバ メトリクス。
  • Scheduler メトリクス。
  • Controller Manager メトリクス。 
  • node-exporter メトリクス。 
  • kube-state-metrics。

メトリクスは、Prometheus で FluentD を使用して収集します。収集に使用できるメトリクス オプションの詳細については、このドキュメントを参照してください。

ログとメトリクスの収集の設定 

Sumo Logic Kubernetes コントロール プレーン アプリケーションは、Kubernetes アプリケーションと連携して、API サーバ、etcd、kube-system、ワーカー ノードなどのマスタ ノード コントロール プレーンをモニタリングします。Kubernetes アプリケーションをインストールするときに、このセクションの説明に従ってログとメトリクスの収集を設定します。

ステップ 1.Kubernetes アプリケーションをセットアップしてインストールする

Sumo Logic Kubernetes アプリケーションは、Kubernetes ワーカー ノードの管理とモニタリングを行うサービスを提供します。コントロール プレーン アプリケーションをインストールする前に、Kubernetes アプリケーションの収集をセットアップしてアプリケーションをインストールする必要があります。このプロセスでは、ログとメトリクスの収集を設定します。

Kubernetes アプリケーションをセットアップしてインストールするにはベスト プラクティスを参照し、このドキュメントの手順に従ってください。

ステップ 2.Kubernetes コントロール プレーン アプリケーションのインストール

Kubernetes アプリケーションをインストールしたときに、ログとメトリクスの収集を設定しました。これで、Kubernetes コントロール プレーン アプリケーションをインストールする準備ができました。

Kubernetes アプリケーションをインストールするにはこのページの手順に従ってください。

ログ メッセージのサンプル

Kube API Server ログ
{"timestamp":1562059802772,"log":"E0702 09:30:02.772323       1 
watcher.go:208] watch chan error: etcdserver: mvcc: required revision has been compacted",
"stream":"stdout","time":"2019-07-02T09:30:02.772474301Z"}
Kube Control Manager ログ
 {"timestamp":1561651885393,"log":"E0627 16:11:25.377997       1 
 horizontal.go:214] failed to compute desired number of replicas based on listed metrics for 
 Deployment/2019-06-27-numbers/goledzki-k8sdemo-20190627: Invalid metrics (1 invalid out of 1), 
 last error was: failed to get cpu utilization: unable to get metrics for resource cpu: unable to fetch 
 metrics from resource metrics API: the server could not find the requested resource 
 (get pods.metrics.k8s.io)","stream":"stderr","time":"2019-06-27T16:11:25.393923292Z"}
Kube Scheduler ログ
 {"timestamp":1561646836232,"log":"E0627 14:47:16.211140       1 
 scheduling_queue.go:346] Unable to find backoff value for pod 
 2019-06-27-numbers/goledzki-k8sdemo-20190627-6cc8d4b677-vqwdt in backoffQ","stream":"stderr",
 "time":"2019-06-27T14:47:16.232275553Z"}
Kube-System Namespace ログ
{"timestamp":1562059802772,"log":"E0702 09:30:02.772323       1 
watcher.go:208] watch chan error: etcdserver: mvcc: required revision has been compacted",
"stream":"stdout","time":"2019-07-02T09:30:02.772474301Z"} 
アプリケーション ログ
{"timestamp":1561534865020,"log":"E0626 07:41:05.020255       1 
manager.go:101] Error in scraping containers from kubelet:192.168.190.54:10255: 
failed to get all container stats from Kubelet URL \"http://192.168.190.54:10255/stats/container/\": 
Post http://192.168.190.54:10255/stats/container/: dial tcp 192.168.190.54:10255: getsockopt: 
connection refused"}

クエリのサンプル

Controller Manager - イベント重大度の傾向
 _sourceCategory = *controller*
| json field=_raw "log" as log
| parse regex field=log "^(?<severity>.)(?:[0-9])"
| timeslice 1h
| count _timeslice, severity
| transpose row _timeslice column severity
| fillmissing timeslice(1h)
  • この記事は役に立ちましたか?