読者です 読者をやめる 読者になる 読者になる

続 カッコの付け方

AWSを始めとしたクラウドコンピューティング全般と、唯一神emacsにおける()の付け方についてだらだら書きます

Cloud Monitoringでカスタムメトリックを投げる

GCE GCP Google Cloud Monitoring カスタムメトリック

Google Cloud Monitoring でカスタムメトリクスを投げてみました。

2種類のカスタムメトリック

下記の2つがあります。

  • lightweight Custom Metrics
    一言でいうと普通のやつ。AWSのCloudWatchのカスタムメトリック相当
  • labeled Custom Metrics
    1つのグループ?ディメンジョン?の中に複数のラベルを付けられるメトリック。これも説明しにくいので、スクリーンショット貼っておきます。

サンプルがあるので、サクッと両方共動かします。

apiの有効化

見た感じだとカスタムメトリックのコールでAPI使用数を消費しているので、この工程は必須では無いかと。前の記事にSS貼っておきました。

Google Cloud Monitoringを試し、そしてビビる - 続 カッコの付け方

インスタンス起動時の scopes

まず、GCEのインスタンス起動時にscopeというものを指定します。解釈としては、EC2の IAMロールとおなじ。ここは まだDevelopers console で出来ないので、gcloudコマンドでインスタンス作成する必要があります。。

gcloud compute --project "<Project>" \
instances create cm-example-vm --image centos-6 \
--zone asia-east1-b \
--scopes https://www.googleapis.com/auth/monitoring \
https://www.googleapis.com/auth/devstorage.read_only \
--machine-type g1-small

この scopes は、 Developers console上からも指定できることはできますが、 Cloud Monitoringのエンドポイントが指定出来ないようです。よって、gcloud 必須。また、残念なことにこのscopesは後付け不可能です。ここもできれば改善してほしい。

インスタンス上でサンプル動かす準備

# yum install python-setuptools
# easy_install pip
# pip install --upgrade google-api-python-client

サンプルはこちら

Example: Using a Lightweight Custom Metric - Google Cloud Monitoring — Google Cloud Platform

pidをグラフ化ですので、あくまでデモ用

Example: Using a Labeled Custom Metric - Google Cloud Monitoring — Google Cloud Platform

こちらは店舗のシャツの在庫をグラフ化、シャツの色とサイズでラベル付け

グラフ化

ダッシュボードに貼り付けたらこんな感じ。
f:id:iga-ninja:20150308100304p:plain
lightweightはいいとして、labeledはこんな感じで表示をカスタム出来ます。
f:id:iga-ninja:20150308100329p:plain

まとめ

  • インスタンス起動時にしか scopesを指定出来ない。
  • 多分 Cloud Monitoring の APIキーを使えば、scopesに頼らなくともできるはず。
  • labeledでインフラ以外のものもグラフ化するのもいいかも。

今回はサンプル通りにやりましたが、pythonで組み込みとかやらなくても行けると思う、たぶん。それとscopesは無理だけどカスタムメトリックの後付けはできるはず。