Kubernetes Monitoring への移行

このページでは、Stackdriver Kubernetes Monitoring において指標、リソースタイプ、ログがどのように使用されるかについて説明します。また、以前の Stackdriver サポート(一般提供サポート)との非互換性や古いサポートから新しいサポートへの移行方法について説明します。

非互換性

新しい Stackdriver Kubernetes Monitoring サポートでは、Stackdriver の使用方法について次のような違いが存在します。

  • Stackdriver Kubernetes Monitoring では、ユーザー インターフェースが異なります。このユーザー インターフェースには、Stackdriver Monitoring の [Resources] > [Kubernetes Beta] ナビゲーション メニューからアクセスできます。Stackdriver Kubernetes Monitoring を使用するクラスタだけが表示されます。そのようなクラスタがない場合、メニュー項目は表示されません。

  • Stackdriver Kubernetes Monitoring ではさまざまな指標が利用できます。

  • Stackdriver Kubernetes Monitoring には、Monitoring と Logging で異なるモニタリング対象リソースタイプのセットが用意されています。

Stackdriver Kubernetes Monitoring を使用するとこれらの変更が有効になります。たとえば、既存のクラスタをアップグレードすると、指標とモニタリング対象リソースタイプのセットが 2 つになります。古い指標とリソースタイプには、アップグレード前からのデータとログが含まれます。新しい指標とリソースタイプは、アップグレード後のデータとログを受け付けます。

これらの変更によって、Stackdriver Logging と Stackdriver Monitoring における Kubernetes 関連アクティビティに次のような影響があります。

  • アラート ポリシー。新しいデータを受け付けない指標やリソースタイプを参照しているため、アラート ポリシーがトリガーされなかったり、予期せずにトリガーされたりする可能性があります。

  • ログベースの指標。ログベースの指標が古いリソースタイプやリソースラベルを持つ新しいログエントリを探すため、GKE ログエントリが見つからない場合があります。

  • ログのエクスポート。エクスポート シンクのフィルタが GKE ログエントリのリソースタイプと一致しなくなったため、エクスポート シンクによる GKE ログのエクスポートが停止してしまう可能性があります。

  • ログの除外。除外フィルタが GKE ログエントリのリソースタイプと一致しなくなったため、削除されるべき GKE ログが削除されない場合があります。

  • カスタムグラフ。カスタムグラフやダッシュボードがデータを受け付けない指標を参照している場合に、GKE データの表示が停止することがあります。Metrics Explorer を使用する場合は、GKE の新しいリソースタイプと指標名を選択してください。

  • データの消失。ログエントリやモニタリング データを結合し、アップグレード前とアップグレード後のデータ ストリームをつなげて表示させる方法は存在しません。

以降のセクションでは、変更点について詳しく説明します。その中で、Stackdriver Monitoring と Stackdriver Logging の機能を Stackdriver Kubernetes Monitoring に移行する方法についても説明しています。

GKE の指標

GKE の指標が名前変更されました。表の指標名をクリックして、指標の一覧を取得してください。

以前の指標名 Stackdriver Kubernetes Monitoring の指標名
container.googleapis.com/* kubernetes.io/*

以前のサポートからの移行: すべてのカスタムグラフとアラート ポリシーを確認してください。そのうえで、従来の指標名を対応する Stackdriver Kubernetes Monitoring の指標名に変更してください。

GKE のリソースタイプ

Kubernetes で使用するモニタリング対象リソースタイプの名前を以下に示します。リソースタイプ名をクリックすると詳細な説明が表示されます。移行手順の後に、リソースタイプのラベルの名前変更が一覧表示されます。

以前のリソースタイプ Stackdriver Kubernetes Monitoring のリソースタイプ
GKE コンテナgke_containerM
GKE コンテナcontainerL
Kubernetes コンテナk8s_containerL+M
(なし) Kubernetes クラスタk8s_clusterL+M
GCE VM インスタンスgce_instanceL+M Kubernetes ノードk8s_nodeL+M
(なし) Kubernetes ポッドk8s_podL+M

:
M Monitoring で使用されます。
L Logging で使用されます。
L+M Monitoring と Logging の両方で使用されます。

以前のサポートからの移行(Logging): すべての拡張ログフィルタを調べ、古いリソースタイプとラベルを新しいリソースタイプとラベルに変更します。フィルタは次の場所で使用される可能性があります。

  • ログベースの指標
  • ログのエクスポート シンク
  • ログの除外

以前のサポートからの移行(Monitoring): すべてのモニタリング フィルタを確認し、古いリソースタイプとラベルを新しいリソースタイプとラベルに変更します。モニタリング フィルタは次の場所で使用される可能性があります。

  • カスタムグラフの定義
  • グループの定義
  • アラート ポリシーの条件

リソースラベル

新しいモニタリング対象リソースタイプのラベルは、以降のセクションで説明するように、古いタイプで使用されているラベルと少し異なります。

container から k8s_container への変更(Logging)

次の表に、2 つのモニタリング対象リソースタイプでのラベルの違いを示します。

G​K​E コンテナ
container)ラベル
Kubernetes コンテナ
k8s_container)ラベル
備考
project_id project_id 変更なし
cluster_name cluster_name 変更なし
namespace_id namespace_name ほとんどの場合変更なし
instance_id metadata.systemLabels.node_name を使用 1
pod_id pod_name
container_name container_name 変更なし
zone location zone はインスタンス(ノード)の場所を指し、
location はクラスタの場所を指す

1 ログエントリ内では、現在の instance_id フィールドに数値のインスタンス ID が保持されます。metadata.systemLabels.node_name フィールドに、英数字のインスタンス ID が保持されます。どちらも同じインスタンスを参照しています。

gke_container から k8s_container への変更(Monitoring)

次の表に、2 つのモニタリング対象リソースタイプでのラベルの違いを示します。

G​K​E コンテナ
gke_container)ラベル
Kubernetes コンテナ
k8s_container)ラベル
備考
project_id project_id 変更なし
cluster_name cluster_name 変更なし
namespace_id namespace_name ほとんどの場合変更なし
instance_id metadata.systemLabels.node_name を使用 1
pod_id pod_name
container_name container_name 変更なし
zone location zone はインスタンス(ノード)の場所を指し、
location はクラスタの場所を指す 2

1 指標データのうち、instance_id フィールドと metadata.systemLabels.node_name フィールドが同じ値(英数字のインスタンス ID)を保持します。
2「ゾーン」Google Kubernetes Engine クラスタでは、これらの値は同じです。「リージョン」Google Kubernetes Engine クラスタでは、値が異なる場合があります。

gce_instance から k8s_node

次の表に、2 つのモニタリング対象リソースタイプでのラベルの違いを示します。

G​C​E VM インスタンス
gce_instance)ラベル
Kubernetes ノード
k8s_node)ラベル
備考
project_id project_id 変更なし
(なし) cluster_name
instance_id node_name
zone location zone はインスタンス(ノード)の場所を指し、
location はクラスタの場所を指す 2

1 現在の instance_id フィールドは数値のインスタンス ID を保持することも、英数字の ID を保持することもあります。metadata.systemLabels.node_name フィールドでは、常に英数字のインスタンス ID が表示されます。どちらも同じインスタンスを参照しています。
2「ゾーン」Google Kubernetes Engine クラスタでは、これらの値は同じです。「リージョン」Google Kubernetes Engine クラスタでは、値が異なる場合があります。

GKE ロギング

Stackdriver Kubernetes Monitoring にアップグレードすると、次のログ関連の変更が有効になります。

  • 前述のリソースタイプを変更した場合、ログエントリがログビューアで、以下のリソースの見出しの下に表示されます。

  • k8s_container のログエントリには、コンテナ クラスタ名ではなく stdout または stderr のログ ID が含められます。クラスタ名は resource.labels フィールドに設定されています。

  • ログエントリでは、ルートレベル(最上位)の labels フィールドにさまざまな値を持つ場合があります。詳細については、resource.labels フィールドをご確認ください。フィールドの内容は、一般提供の以前のサポートの場合と同様です。

以前のサポートからの移行: ログベースの指標ログのエクスポート シンク、またはログの除外が存在しており、ログフィルタが Kubernetes のモニタリング対象リソースタイプを使用している場合、次の手順に従います。

  • 新しいリソースタイプに更新します。
  • labels ログエントリ フィールドへの参照を resource.labels に変更します。
  • resource.label の値を、前のセクションのリソースラベルに従って変更します。

次のステップ

このページは役立ちましたか?評価をお願いいたします。

フィードバックを送信...

ご不明な点がありましたら、Google のサポートページをご覧ください。