cloudwatchをgrafana+graphiteで見るようにしたら幸せになった件

69
CLOUDWATCH GRAFANA + GRAPHITE 見るようにしたら 幸せ になった件 2015/04/03 JAWS-UG中央線第5回勉強会

Upload: yu-nishimura

Post on 18-Jul-2015

2.524 views

Category:

Technology


1 download

TRANSCRIPT

Page 1: CloudwatchをGrafana+Graphiteで見るようにしたら幸せになった件

CLOUDWATCHを GRAFANA + GRAPHITEで 見るようにしたら 幸せになった件

2015/04/03 JAWS-UG中央線第5回勉強会

Page 2: CloudwatchをGrafana+Graphiteで見るようにしたら幸せになった件

かいしゃいん せいべつ:おとこ レベル:2 7 H P 3 0 / 1 2 0 M P 3 / 1 5

自己紹介

2014/5 ~ NOW 株式会社 :SYSTEM OPERATOR

なまえ  :西村 遊 ついったー:@gacharion

Applibot

好きなAW Sサービス:Auto Scaling Cloud Watch

Page 3: CloudwatchをGrafana+Graphiteで見るようにしたら幸せになった件
Page 4: CloudwatchをGrafana+Graphiteで見るようにしたら幸せになった件

S Y S T E M O P E R AT O R

• サービスインフラ設計/構築/監視/運用/構成管理

• 基本的に全アプリを見ている

• ○○担当とかはない

• 現在2名

Page 5: CloudwatchをGrafana+Graphiteで見るようにしたら幸せになった件

今日のお話幸せ?

Page 6: CloudwatchをGrafana+Graphiteで見るようにしたら幸せになった件

Cloudwatchを Grafanaで見れるようにしたら 働きやすくなった

Page 7: CloudwatchをGrafana+Graphiteで見るようにしたら幸せになった件

なぜCloudWatchだけではいけなかったか Grafana/Graphiteとは? Grafana+Graphiteで実現した幸せ まとめ

目次

Page 8: CloudwatchをGrafana+Graphiteで見るようにしたら幸せになった件

なぜCloudWatchだけでは いけなかった幸せが足りなかったのか

Page 9: CloudwatchをGrafana+Graphiteで見るようにしたら幸せになった件

CloudWatch + SNSManagement Consoleへ

ログインして

CloudWatch

CloudWatchに閾値設定して

SNSでメール送信設定

Page 10: CloudwatchをGrafana+Graphiteで見るようにしたら幸せになった件

CloudWatch + SNSManagement Consoleへ

ログインして

CloudWatch

CloudWatchに閾値設定して

SNSでメール送信設定

Page 11: CloudwatchをGrafana+Graphiteで見るようにしたら幸せになった件

CloudWatch + SNSManagement Consoleへ

ログインして

CloudWatch

CloudWatchに閾値設定して

SNSでメール送信設定

閾値設定:自動化必須 メール :見ない見落とす ログイン:面倒 値の保持:2週間

Page 12: CloudwatchをGrafana+Graphiteで見るようにしたら幸せになった件

アカウント一つを 常時見るような環境なら まだいいけど

Page 13: CloudwatchをGrafana+Graphiteで見るようにしたら幸せになった件

たくさん

Page 14: CloudwatchをGrafana+Graphiteで見るようにしたら幸せになった件

ブラウザ足りない…

Page 15: CloudwatchをGrafana+Graphiteで見るようにしたら幸せになった件

ブラウザ足りない…

でも常に見るわけじゃないし

閾値設定:自動化OK メール :ちゃんと見る ログイン:やったる

としても

Page 16: CloudwatchをGrafana+Graphiteで見るようにしたら幸せになった件

見たい時の状況障害

あの時の負荷って…

Page 17: CloudwatchをGrafana+Graphiteで見るようにしたら幸せになった件

ログインして

毎回サービス毎に選んで見るのつらい

Page 18: CloudwatchをGrafana+Graphiteで見るようにしたら幸せになった件

この画面いくのに

Page 19: CloudwatchをGrafana+Graphiteで見るようにしたら幸せになった件

1. ログイン 2. サービス(RDS)選択 3. インスタンス選択 4. Show Monitoring

Page 20: CloudwatchをGrafana+Graphiteで見るようにしたら幸せになった件

A lot of accounts すぐ見たいのにやきもき 別のアカウントの見てたり サービス毎に切り替えが必要 たまに表示がおかしい(これはブラウザのせい) あっ…2週間前までのしかないっす…

Page 21: CloudwatchをGrafana+Graphiteで見るようにしたら幸せになった件

つ ら い

Page 22: CloudwatchをGrafana+Graphiteで見るようにしたら幸せになった件

一通り監視構成を整えた

Page 23: CloudwatchをGrafana+Graphiteで見るようにしたら幸せになった件
Page 24: CloudwatchをGrafana+Graphiteで見るようにしたら幸せになった件
Page 25: CloudwatchをGrafana+Graphiteで見るようにしたら幸せになった件

Grafana + Graphite

Page 26: CloudwatchをGrafana+Graphiteで見るようにしたら幸せになった件

Grafana ??

Page 27: CloudwatchをGrafana+Graphiteで見るようにしたら幸せになった件
Page 28: CloudwatchをGrafana+Graphiteで見るようにしたら幸せになった件

Javascript + HTML + CSS(1系) 機能豊富なdashboardとグラフエディター バックエンドとして

Graphite / InfluxDB / OpenTSDB を選択可能 dashboard情報はElasticsearch or SQLite version1.9で1系の開発は終わり2.0が開発中。 現在β版(2015/3/30)

Page 29: CloudwatchをGrafana+Graphiteで見るようにしたら幸せになった件

dashboard

Page 30: CloudwatchをGrafana+Graphiteで見るようにしたら幸せになった件

Graphite ??

Page 31: CloudwatchをGrafana+Graphiteで見るようにしたら幸せになった件

Graphite - Scalable Realtime Graphing -

Page 32: CloudwatchをGrafana+Graphiteで見るようにしたら幸せになった件

Python Sensu + Graphiteという事例が結構有名 http://techblog.yahoo.co.jp/operation/2014-sensu-and-graphite/

構成 carbon ネットワーク経由でのメトリック受信・ストレージへの書き込み

whisper ファイル形式の時系列データベース

graphite-web

Page 33: CloudwatchをGrafana+Graphiteで見るようにしたら幸せになった件

Githubから

Page 34: CloudwatchをGrafana+Graphiteで見るようにしたら幸せになった件

Grafana + Graphite

Page 35: CloudwatchをGrafana+Graphiteで見るようにしたら幸せになった件
Page 36: CloudwatchをGrafana+Graphiteで見るようにしたら幸せになった件

dashboard情報

データ更新データファイル

Page 37: CloudwatchをGrafana+Graphiteで見るようにしたら幸せになった件

これを

Page 38: CloudwatchをGrafana+Graphiteで見るようにしたら幸せになった件

こう見れるようにする

Page 39: CloudwatchをGrafana+Graphiteで見るようにしたら幸せになった件

Grafana+Graphite で実現した幸せ

Page 40: CloudwatchをGrafana+Graphiteで見るようにしたら幸せになった件

値の投げ入れが自由 アカウント/サービス同時にデータ閲覧 2週間以上残しておける Time rangeが自由自在 DevOpsな雰囲気

Page 41: CloudwatchをGrafana+Graphiteで見るようにしたら幸せになった件

DEMO

Page 42: CloudwatchをGrafana+Graphiteで見るようにしたら幸せになった件

値の投げ入れが自由

Page 43: CloudwatchをGrafana+Graphiteで見るようにしたら幸せになった件

TAG=“DB.account01.test.random” VALUE=`expr $RANDOM % 100` UTIME=`date +%s` SERVER_IP=“graphiteサーバのIP”

echo “${TAG} ${VALUE} ${UTIME}“|nc ${SERVER_IP} 2003

graphiteサーバの2003ポート(default)に対して “TAG 値 Unixtime”の順で送ればOK

Page 44: CloudwatchをGrafana+Graphiteで見るようにしたら幸せになった件

この部分

Page 45: CloudwatchをGrafana+Graphiteで見るようにしたら幸せになった件

アカウント/サービス同時に データ閲覧

Page 46: CloudwatchをGrafana+Graphiteで見るようにしたら幸せになった件

dashboard

項目説明 CloudFront

ELB

RDS

Page 47: CloudwatchをGrafana+Graphiteで見るようにしたら幸せになった件

2週間以上残しておける

Page 48: CloudwatchをGrafana+Graphiteで見るようにしたら幸せになった件

[cloudwatch] pattern = ^cloudwatch\. retentions = 60s:365d

グラフ作成時に指定できる(carbon) /etc/carbon/storage-schemas.conf

Page 49: CloudwatchをGrafana+Graphiteで見るようにしたら幸せになった件

Time rangeが自由自在

Page 50: CloudwatchをGrafana+Graphiteで見るようにしたら幸せになった件

DevOpsな雰囲気

Page 51: CloudwatchをGrafana+Graphiteで見るようにしたら幸せになった件

Dev負荷どうですかね?

どうかしました?

Ops

イベント開始したんですけど

CloudWatchで見れますよ

どうやって見るんでしたっけ(笑)

見ます

Page 52: CloudwatchをGrafana+Graphiteで見るようにしたら幸せになった件

本音

Page 53: CloudwatchをGrafana+Graphiteで見るようにしたら幸せになった件

Dev

イベント始まったから負荷見といてね。 いっぱいアクセス来ると思うのでよろしく。 CloudWatch?どうみればいいんだっけ?

アラート飛んできてないし問題ないだろ。 (見てみる)…やっぱり問題ないな。 CloudWatchのIAM渡してるから それで見といてくれればいいのに。

Ops

※フィクションです。  会社内でどうこうとか知りません。

Page 54: CloudwatchをGrafana+Graphiteで見るようにしたら幸せになった件

なぜこんなことに

サーバー負荷はsysopが見るものという認識 sysopしか見れないと思われている それはなぜか?

Page 55: CloudwatchをGrafana+Graphiteで見るようにしたら幸せになった件

CloudWatch + SNSManagement Consoleへ

ログインして

CloudWatch

CloudWatchに閾値設定して

SNSでメール送信設定

Page 56: CloudwatchをGrafana+Graphiteで見るようにしたら幸せになった件

この画面いくのに

Page 57: CloudwatchをGrafana+Graphiteで見るようにしたら幸せになった件

1. ログイン 2. サービス(RDS)選択 3. インスタンス選択 4. Show Monitoring

こんなやらないといけないから

Page 58: CloudwatchをGrafana+Graphiteで見るようにしたら幸せになった件

なぜこんなことに

普段から見る自分たちでも手間と思う事 それを専門じゃない人にやってもらうというのは傲慢 見てくださいを、いかに見てもらえるようにするか 必要な情報を必要な人が手間無く見れるように

Page 59: CloudwatchをGrafana+Graphiteで見るようにしたら幸せになった件

dashboard

項目説明 CloudFront

ELB

RDS

Page 60: CloudwatchをGrafana+Graphiteで見るようにしたら幸せになった件

Dev

負荷どうですかね?

こちらをご覧ください

Ops

布教活動

なにこれ

こーであーでこれがここまで 行くとやばいです

リンクこちらです

Page 61: CloudwatchをGrafana+Graphiteで見るようにしたら幸せになった件

DEMO

説明

リンク貼っておきますね 自由に触っていいですよ

Page 62: CloudwatchをGrafana+Graphiteで見るようにしたら幸せになった件

Dev

こういうの見れると うれしいんですよね

何処見たらいいですかね? Ops

問い合わせ内容が変化してくる

このDBのこの値なんだけど

見れるよう調整しますね

Page 63: CloudwatchをGrafana+Graphiteで見るようにしたら幸せになった件

Dev

負荷というものへの意識UP →改善の意識UP

サービス内部の理解 →サービスへの愛UP Ops

同じ情報の共有 = 意識の統一

Win - Win

Page 64: CloudwatchをGrafana+Graphiteで見るようにしたら幸せになった件

まとめ

Page 65: CloudwatchをGrafana+Graphiteで見るようにしたら幸せになった件

Cloudwatchを Grafanaで見れるようにしたら 全体で負荷を意識する習慣が 少しづつできてきて、サービスの改善につながるようになった

Page 66: CloudwatchをGrafana+Graphiteで見るようにしたら幸せになった件

問題の共有 = 可視化 お互いの手間を考える 見やすい = 正義

幸せ

Page 67: CloudwatchをGrafana+Graphiteで見るようにしたら幸せになった件

もうすぐ2.0でるし みんなでgrafana触って 情報交換しよう

Page 68: CloudwatchをGrafana+Graphiteで見るようにしたら幸せになった件

一緒に働いてくれる方大募集中!! エンジニア・企画問わず 興味のある方はご連絡ください

Page 69: CloudwatchをGrafana+Graphiteで見るようにしたら幸せになった件

御清聴 ありがとうございました