はじめに
こんにちは。ひつじです。
GCPの監視ってどうやってるんだ?と思い、GCPが提供している監視ツール「StackDriver」を使って監視設定を行ってみました。
ちなみにメガクラウドが提供している監視機能(リソースモニタリング)は以下です。
| AWS | Azure | GCP | Alibaba |
|---|---|---|---|
| CloudWatch | AzureMonitir | StackDriver | CloudMonitor |
触ったことないのはAzureだけですねぇ。
GCPだけ名前がなんかかっこいいな~と思ったら、2014年にStackDriverというクラウドモニタリングの企業をGoogleが買収したんですね。
やること
1. GCE(Iaas)のリソースを取得
2. 監視閾値を定めてインシデントとして検知
3. 検知したらメール、SLACKを送る
では順番に見ていきましょう。
GCEのリソースを取得する
今回はGCEでCentOS7を使います。
リソースを取得するにはエージェントを入れる必要があります。
しかし、エージェントをいれなくても以下の項目はリソースが取得されます。
・CPU
・ネットワーク(バイト/パケット)
・DISK I/O
上記の画像で1つめのインスタンスにはエージェントがないので、メモリが取得できていません。
CentOSにSSHしたあと、以下のコマンドを実行
curl -sSO https://dl.google.com/cloudagents/install-monitoring-agent.sh
sudo bash install-monitoring-agent.sh
成功すると以下のよう画面が表示されます。
では、リソースが取得できているか確認してみましょう。
StackDriver -> resources -> Metrics Explorer
エラーが起きたらSlack通知するための設定する
まずはSlackアカウントを紐づける必要があります。
StackDriverの画面からプロジェクトのプルダウンをクリックすることWorkSpaceSettingsを選択できます。
WorkSpaceSettingsを選択後にSlackのアカウントを登録します。
StackDriverでモニタリング閾値を設定する
では閾値(AlertPolicy)を登録していきましょう。
StackDriver -> resources -> Incidents -> Create Alerting Policy
実際の設定画面はGIFをとってみました。
Qiita用
— ひつじ (@141mhz) July 19, 2019
GCP StackDriverで監視閾値を設定してメール、SLACK通知を設定する pic.twitter.com/gyyXcIAeJI
GIFの中では、以下の作業を実施しました。
インスタンスを指定 CPU load 1mのモニタリングを指定 80%以上になったらメール、SLACKに通知する
テスト
GCEに負荷をかけて、CPU100%にしてどのような通知がくるか試してみたいと思います。
yesコマンドをパラで6本ほど流します。(商用じゃやっちゃだめよ。)
yes > /dev/null &
メールだとこんな感じで届きます。
SLACKだとこんな感じですね。
復旧の通知もきてしまっていますが。
おわりに
いかがでしたでしょうか。
いやーめちゃ簡単にできましたね。
感覚的にはAWSやAlibabaCloudよりも簡単にSLACK通知ができたかなと思います。
それではご査収ください~(^-^)




