仕事中の問題と解決メモ。

最近はPythonとGoogle Cloud Platformがメイン。株式会社ビズオーシャンで企画と開発運用、データ活用とか。 http://mstdn.bizocean.co.jp/@uyamazak https://github.com/uyamazak/

GCPでログの内容によってアラートを送信する設定方法

oceanusでは、Google Cloud Platform(GCP)のGoogle Container Engine(GKE)を使っていますが、これらを使うとほぼ何も設定せずに、アプリ側で標準出力へのエラーを出すだけで、Google側でログを集めてくれます。

サーバーを増やすごとにそれぞれにfluentdを入れて設定するのは手間なので、非常に楽。内部的にはGoogle仕様のfluentdが動いてる模様。

しかもWEB画面でほぼリアルタイムに閲覧、検索ができるのも便利。

さらにメールなどでの通知も簡単に設定できました。

GCPの管理画面のメニューからログをクリック

f:id:uyamazak:20161117104109p:plain

アラートを出したい条件を設定して指標を作成

f:id:uyamazak:20161117104122p:plain
自分で出したものはすべてERROR扱いされてしまうようなので、Container Engineに絞り、テキスト検索で「CRITICAL」を絞り込んでます。

作成した指標からアラート作成

f:id:uyamazak:20161117104125p:plain
Stack Driverの画面に飛びます。

通知条件、通知先を指定。

f:id:uyamazak:20161117104128p:plain

何分に何回以上、以下などを指定できます。今回はCRITICALなものなので、5分間に1回でもあったらとしました。

通知先は、メールの他、SMSやSlack、WebHookもあるので、ほぼなんでも対応できそう。

これで、エラー以外でも普段頻繁に出してる正常なログ(書き込み成功など)が減った時なども指標に利用できそうです。




Stack Driverは有料化され今はお試し期間中だけど、無料枠で十分使えるかはこれから調べる必要がありそう。

クラウド開発徹底攻略 (WEB+DB PRESS plus)

クラウド開発徹底攻略 (WEB+DB PRESS plus)