Google Cloud Platform(GCP)には、無料で利用できる Google Cloud Monitoring というモニタリング サービスがあります。このCloud Monitoring は Google Compute Engine(GCE) インスタンス リソースの監視やデータ収集をすることができます。GCP 以外に Amazon Web Services のインスタンスにも導入することができます。
今回は GCE のVM インスタンスに Cloud Monitoring を導入する方法をご紹介します。
インスタンス OSによってコマンドが異なります。ここでは Debian / Ubuntu のコマンドを使用しています。
VM インスタンスの状況を確認する
GCE に Cloud Monitoring エージェントが導入されているかVM インスタンスの詳細を確認します。
モニタリング
「CPU 使用率」「ネットワーク バイト」「ネットワークのパケット」などはモニタリング可能ですが、「メモリ使用率」「ディスク使用率」は Cloud Monitoring エージェントがVM インスタンスに導入されていないと監視することができません。表示されていた場合は Cloud Monitoring エージェントが導入されています。

カスタムメタデータ google-monitoring-enable の確認
Compute Engine のVM インスタンス を選択して、対象のVM インスタンスをクリックします。
カスタム メタデータ項目 の google-monitoring-enable が「1」になっていることを確認します。
値が「0」になっていた場合は [編集] を押して [1(有効)] に変更します。

カスタム メタデータを変更した後はVM インスタンスのターミナルに接続し、エージェントを再起動するために次のコマンドを実行します。
sudo service stackdriver-agent restart
Cloud Monitoring エージェントをインストールする
GCP 公式の説明では「Monitoring エージェントを導入には 最低 250 MiB の常駐(RSS)メモリが推奨」と記載されています。最小インスタンス タイプの f1-micro はメモリ 600 MiB しかありませんが、Monitoring エージェントを動かすことはできます。
常時負荷がかかっているVM インスタンスであれば、上位のインスタンス タイプに切り替えることをお勧めします。
VM にエージェントをインストールする
VM インスタンスのターミナルに接続をします。
次のコマンドを実行して、Cloud Monitoring エージェントのパッケージ リポジトリを追加します。
curl -sSO https://dl.google.com/cloudagents/add-monitoring-agent-repo.sh
sudo bash add-monitoring-agent-repo.sh
sudo apt-get update

次のコマンドを実行して、Cloud Monitoring エージェントの最新バージョンをインストールします。
実行途中に「19.2MBの追加ディスク容量が使用します、続けますか?」と聞かれるので「Y」と入力します。
sudo apt-get install stackdriver-agent

特定のバージョンをインストールすることもできます。
使用可能なエージェントのバージョンを一覧を表示するには、次のコマンドで表示することができます。
sudo apt-cache madison stackdriver-agent

メジャー バージョン/特定のバージョンでインストールすることもできます。
例えば、エージェントの 6.x.x に固定する場合は次のコマンドになります。
sudo apt-get install -y 'stackdriver-agent=6.*'
または、エージェントの最新バージョンをインストールするには、次のコマンドを実行します。
sudo apt-get install -y stackdriver-agent=6.1.1-1.focal
エージェント サービスを開始する
次のコマンドを実行して、エージェント サービスを開始します。
sudo service stackdriver-agent start

次のコマンドを実行して、正常に動作していることを確認します。
sudo service stackdriver-agent status

「ctrl + c」を入力し、表示を停止します。
Failed to start stackdriver-agent.service: Unit stackdriver-agent.service not found. と表示された場合は、カスタムメタデータ google-monitoring-enable が「0」になっていないか確認してください。
Cloud Monitoring エージェントが正常に動作を確認したら、インストールで使ったスクリプトは削除します。
rm add-monitoring-agent-repo.sh

導入後に使用するコマンドの紹介
エージェント バージョンの確認するには次のコマンドを実行します。
dpkg-query --show --showformat \
'${Package} ${Version} ${Architecture} ${Status}\n' \
stackdriver-agent

エージェントの再起動を行うには次のコマンドを実行します。
sudo service stackdriver-agent restart

エージェントのアップグレードを行うには次のコマンドを実行します。
sudo apt-get update
sudo apt-get install stackdriver-agent

Cloud Monitoring エージェントを削除するには次のコマンドを使用します。
削除実行時すると Cloud Monitoring エージェントの構成ファイルも削除されます。
sudo apt-get remove stackdriver-agent

モニタリング状況を確認する
GCP コンソールから [Montioring] を開き、ステータスが最新になっていることを確認します。

また、VM インスタンスの「メモリ使用率」「ディスク使用率」が表示されていることを確認します。

Leave a Reply
View Comments