cloudwatchをgrafana+graphiteで見るようにしたら幸せになった件
TRANSCRIPT
CLOUDWATCHを GRAFANA + GRAPHITEで 見るようにしたら 幸せになった件
2015/04/03 JAWS-UG中央線第5回勉強会
かいしゃいん せいべつ:おとこ レベル: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
S Y S T E M O P E R AT O R
• サービスインフラ設計/構築/監視/運用/構成管理
• 基本的に全アプリを見ている
• ○○担当とかはない
• 現在2名
今日のお話幸せ?
Cloudwatchを Grafanaで見れるようにしたら 働きやすくなった
なぜCloudWatchだけではいけなかったか Grafana/Graphiteとは? Grafana+Graphiteで実現した幸せ まとめ
目次
なぜCloudWatchだけでは いけなかった幸せが足りなかったのか
CloudWatch + SNSManagement Consoleへ
ログインして
CloudWatch
CloudWatchに閾値設定して
SNSでメール送信設定
CloudWatch + SNSManagement Consoleへ
ログインして
CloudWatch
CloudWatchに閾値設定して
SNSでメール送信設定
CloudWatch + SNSManagement Consoleへ
ログインして
CloudWatch
CloudWatchに閾値設定して
SNSでメール送信設定
閾値設定:自動化必須 メール :見ない見落とす ログイン:面倒 値の保持:2週間
アカウント一つを 常時見るような環境なら まだいいけど
たくさん
ブラウザ足りない…
ブラウザ足りない…
でも常に見るわけじゃないし
閾値設定:自動化OK メール :ちゃんと見る ログイン:やったる
としても
見たい時の状況障害
あの時の負荷って…
ログインして
毎回サービス毎に選んで見るのつらい
この画面いくのに
1. ログイン 2. サービス(RDS)選択 3. インスタンス選択 4. Show Monitoring
A lot of accounts すぐ見たいのにやきもき 別のアカウントの見てたり サービス毎に切り替えが必要 たまに表示がおかしい(これはブラウザのせい) あっ…2週間前までのしかないっす…
つ ら い
一通り監視構成を整えた
Grafana + Graphite
Grafana ??
Javascript + HTML + CSS(1系) 機能豊富なdashboardとグラフエディター バックエンドとして
Graphite / InfluxDB / OpenTSDB を選択可能 dashboard情報はElasticsearch or SQLite version1.9で1系の開発は終わり2.0が開発中。 現在β版(2015/3/30)
dashboard
Graphite ??
Graphite - Scalable Realtime Graphing -
Python Sensu + Graphiteという事例が結構有名 http://techblog.yahoo.co.jp/operation/2014-sensu-and-graphite/
構成 carbon ネットワーク経由でのメトリック受信・ストレージへの書き込み
whisper ファイル形式の時系列データベース
graphite-web
Githubから
Grafana + Graphite
dashboard情報
データ更新データファイル
これを
こう見れるようにする
Grafana+Graphite で実現した幸せ
値の投げ入れが自由 アカウント/サービス同時にデータ閲覧 2週間以上残しておける Time rangeが自由自在 DevOpsな雰囲気
DEMO
値の投げ入れが自由
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
この部分
アカウント/サービス同時に データ閲覧
dashboard
項目説明 CloudFront
ELB
RDS
2週間以上残しておける
[cloudwatch] pattern = ^cloudwatch\. retentions = 60s:365d
グラフ作成時に指定できる(carbon) /etc/carbon/storage-schemas.conf
Time rangeが自由自在
DevOpsな雰囲気
Dev負荷どうですかね?
どうかしました?
Ops
イベント開始したんですけど
CloudWatchで見れますよ
どうやって見るんでしたっけ(笑)
見ます
本音
Dev
イベント始まったから負荷見といてね。 いっぱいアクセス来ると思うのでよろしく。 CloudWatch?どうみればいいんだっけ?
アラート飛んできてないし問題ないだろ。 (見てみる)…やっぱり問題ないな。 CloudWatchのIAM渡してるから それで見といてくれればいいのに。
Ops
※フィクションです。 会社内でどうこうとか知りません。
なぜこんなことに
サーバー負荷はsysopが見るものという認識 sysopしか見れないと思われている それはなぜか?
CloudWatch + SNSManagement Consoleへ
ログインして
CloudWatch
CloudWatchに閾値設定して
SNSでメール送信設定
この画面いくのに
1. ログイン 2. サービス(RDS)選択 3. インスタンス選択 4. Show Monitoring
こんなやらないといけないから
なぜこんなことに
普段から見る自分たちでも手間と思う事 それを専門じゃない人にやってもらうというのは傲慢 見てくださいを、いかに見てもらえるようにするか 必要な情報を必要な人が手間無く見れるように
dashboard
項目説明 CloudFront
ELB
RDS
Dev
負荷どうですかね?
こちらをご覧ください
Ops
布教活動
なにこれ
こーであーでこれがここまで 行くとやばいです
リンクこちらです
DEMO
説明
リンク貼っておきますね 自由に触っていいですよ
Dev
こういうの見れると うれしいんですよね
何処見たらいいですかね? Ops
問い合わせ内容が変化してくる
このDBのこの値なんだけど
見れるよう調整しますね
Dev
負荷というものへの意識UP →改善の意識UP
サービス内部の理解 →サービスへの愛UP Ops
同じ情報の共有 = 意識の統一
Win - Win
まとめ
Cloudwatchを Grafanaで見れるようにしたら 全体で負荷を意識する習慣が 少しづつできてきて、サービスの改善につながるようになった
問題の共有 = 可視化 お互いの手間を考える 見やすい = 正義
幸せ
もうすぐ2.0でるし みんなでgrafana触って 情報交換しよう
一緒に働いてくれる方大募集中!! エンジニア・企画問わず 興味のある方はご連絡ください
御清聴 ありがとうございました