マイルストーン 77 以降、Container-Optimized OS には Node Problem Detector エージェントが含まれます。この機能を使用すると、COS インスタンスのシステムの状態をモニタリングできます。Node Problem Detector は、インスタンスの健全性をモニタリングし、健全性に関連する指標(容量とエラーの指標を含む)を Cloud Monitoring に報告します。これにより、Google Cloud Observability ダッシュボードで可視化できるようになります。デフォルト構成から収集された指標は無料です。Google は、集約された指標を使用してノードの問題を理解し、Container-Optimized OS の信頼性を向上させます。
エージェントは、エクスポートする指標のセットで事前構成されています。現時点では、組み込みエージェントのカスタム レポートの指標はサポートされていません。Node Problem Detector はオープンソース ソフトウェアです。ソースコードと構成は、それぞれのソース リポジトリで確認できます。
ヘルス モニタリングを有効にする
Node Problem Detector エージェントは、起動時にデフォルトで無効になっています。この機能を有効にするには、次を使用します。
起動スクリプトを使用する
起動スクリプトを使用して Node Problem Detector を有効にできます。
cloud-init の使用
cloud-init
の例では、Container-Optimized OS インスタンスの構成の基本について説明しています。次の cloud-config
の例では、cloud-init
を使用してヘルス モニタリングを有効にできます。
#cloud-config
runcmd:
- systemctl start node-problem-detector
メタデータの使用
Container-Optimized OS マイルストーン 88 以降では、カスタム メタデータ セクションで google-monitoring-enabled
の値を true
に設定することで、Node Problem Detector を有効にできます。
インスタンスの作成時にモニタリングを有効にするには:
gcloud compute instances create VM_NAME \ --image=IMAGE \ --image-project=cos-cloud \ --metadata=google-monitoring-enabled=true
以下のように置き換えます。
VM_NAME
: 新しい VM の名前IMAGE
: 公開版 Container-Optimized OS イメージの特定のバージョン。たとえば、--image=cos-113-18244-85-29
です。
既存のインスタンスでモニタリングを有効にするには:
gcloud compute instances add-metadata VM_NAME \ --metadata=google-monitoring-enabled=true
VM_NAME
は VM の名前で置き換えます。
マイルストーン 97 以降、モニタリングはプロジェクト メタデータで有効にできます。
gcloud compute project-info add-metadata \
--metadata google-monitoring-enabled=true
実行後、node-problem-detector サービスが有効になります。
ユーザー定義のゲストポリシーの使用
Container-Optimized OS には、ゲストポリシーで指定された VM の状態を維持するために、OS システム ユーティリティを使用する OS Config エージェントが含まれています。ゲストポリシーの詳細については、OS Config エージェントを有効にするとゲストポリシーを作成するをご覧ください。次のゲストポリシーは、すべてのインスタンスで Node Prolem Detector エージェントを有効にします。
recipes:
- name: recipe-enable-npd
desiredState: INSTALLED
installSteps:
- scriptRun:
interpreter: SHELL
script: |-
#!/bin/bash
systemctl start node-problem-detector
収集された指標の表示
Node Problem Detector は、Compute Engine インスタンスのモニタリング対象リソースに対する指標のリストを報告します。指標は、compute.googleapis.com/guest/
の接頭辞が付けられて Monitoring 指標の一覧に記載されています。次のように、Monitoring Metrics Explorer を使用して、収集された指標を表示できます。
Cloud Console で、[Monitoring] に移動するか、次のボタンを使用します。
[Monitoring] のナビゲーション パネルで、 [Metrics Explorer] をクリックします。
リソースタイプには、[Compute Engine VM instance] を選択します。
「Problem Count」などの指標を選択します。
右側にグラフと統計情報が表示されます。特定の Container-Optimized OS インスタンスの結果を表示するには、フィルタを
"instance_id=[INSTANCE_ID]"
に設定します([INSTANCE_ID] は、目的のインスタンスの ID で置き換えます)。
ヘルス モニタリングの無効化
cloud-config
または起動スクリプトによってすでに有効になっているサービスを無効にするには、systemctl start node-problem-detector
ステップを削除してから、Container-Optimized OS インスタンスを再起動します。メタデータによって有効になっている場合は、google-monitoring-enabled
キーが false
に設定されていることを確認します。