Sensu Deep Talks #1に行ってきました #Sensu #sensudeep
Sensu Deep Talks #1 に行ってきました。
Sensu Deep Talks #1 - connpass
Sensu を使ったことはないのですが、エージェント型で Immutable Infrastructure に適した監視ということで、以前から気になっていました。
今回は現場で Sensu を使っている人の深い話が聴けてよかったです。
以下、発表内容です。
※資料がアップされたので追加しました。
Sensu with Golang
@hico_horiuchi
大学院修士1年生の方。
- ohgi - Go 製の Sensu CLI
- GitHub - hico-horiuchi/ohgi: 扇: Sensu command-line tool by Golang
- v0.1.4
- APIひと通り叩ける
- aggregates 除く
- 色付けなど見た目の UI を uchiwa に似せてる
- sensu-cli ... Sensu 本家の CLI
- Ruby製
- 情報量が多く見づらい、重い
- Go について
- ohgi の Demo
- Sensu Plugin を Go で書く
- GitHub - hico-horiuchi/sensu-plugins-go: Sensu plugins & libraries by Golang
- check - os.Exit() で終了ステータス変更
- metrics: Scheme + Value + Unix
- sensu/handler ライブラリ
- 渡された event を構造体に格納
- simple-json で設定読み込み
- before/after 比較
- 10倍ぐらい高速になった
- community-plugins より高速
- 今後
- ohgi ... 複数 Sensu 対応
Graphite の話
Y! 北田駿也さん
はじめに
- プライベートクラウドの監視に Sensu を使っている
- 5000台規模
- メトリクス収集にも使っている
- サーバリソースなど
- Sensu から Graphite にデータを入れている
- クラウドコンパネで可視化
Graphite
- Graphite とは
- carbon-relay
- carbon-cache
- whisper ... rrd みたいなもの
- graphite web ... web インタフェース
- 初期構成
- Sensu > LB > (web, carbon-relay)
- carbon-relay > carbon-cache > whisper
- carbon-relay
- cpu よく詰まる
- carbon-cache
- io
- tmpfs 使う
- たまに rsync => x 終わらない
- 最終的に storage 使うようになった
- => CPU 100%超
- => multi-process 化
- スケールアウト後の構成
- carbon-relay の前段に haproxy
- スケールアウト時の context-hash の問題
- carbon-cache 追加
- web から見れなくなる
- consistent hashing のこと?
- context-hash => relay-rule を使うようにした
- ceres を試したが、問題があった
- メトリクスが多くなると延々と回り続ける
- carbon-cache がダウンする
- => 結局 whisper に戻した
- carbon-cache 追加
- チューニング
- Q&A
- なぜ Graphite ?
- 当時 Sensu を使うにあたって他に選択肢が上がらなかった
- なぜ Graphite ?
参考資料
この辺の話のようです:
MERYにおけるSensuの活用事例とハマりどころ
ペロリ山中さん
- 自己紹介
- ペロリとMERY
- 2012 Aug 設立
- 2億PV/month
- Sensu 以前
- 構成
- Appサーバに Sensu Client
- Sensu Server
- Docker コンテナにまとめている
- Sensu にコンポーネントがいろいろある
- RabbitMQ, Redis, etc.
- uchiwa
- Sensu 導入後
- Sensu 導入におけるトラブル/問題点
- まとめ
- 地雷はある
- 最初に2週間だけ苦労するのか、サービスが成長する度に苦労し続けるのか
- Q&A
- 機能的に不足があることもある
- 一括で通知オフとか
- APIがあるので、自力でなんとかできなくもない
- 機能的に不足があることもある
Kaizen Platform, Inc. の監視の話
@glidenote
Akira Maeda
Blog: Glide Note
- KAIZEN PLATFORM
- SF 本社, 東京支社
- Webサイトの A/B テスト
- naoya さんがいる
- Sensu
- クラウド環境に適した監視
- Nagios での問題
- ノード追加時に設定撒かないと行けない
- 設定ミスでアラート地獄
- Nagios での問題
- プロビジョニングツールと相性がいい
- sensu-chef
- sensu-puppet
- 通知は PagerDuty に集約
- Pingdom などとも連携可能
- Slack に通知
- 監視
- 疎通、死活監視
- 負荷監視
- プロセス監視
- エラーログ監視
- パフォーマンス監視
- リリースプロセス
- QAデプロイ
- QA環境の監視を厳し目にしている
- 本番デプロイ
- この前に異常を検知出来る
- QAデプロイ
- Pingdom
- 外から E2E 監視
- メトリクス
- Sensu ではやらない。地雷臭がする
- Mackerel, DataDog など
- お知らせツール
- StatusPage.io
- Sensu 運用
- Chef でサーバ構築して終わり
- 監視項目を追加
- pull-req
- ChatOps でデプロイ
- まとめ
- サービス開発に注力できるようになった
- KAIZEN エンジニア行動指針
- 監視を自動化しよう
- Q&A
- メトリクスの地雷臭について
- I/O が上がる
- 監視とメトリクスを同居させると明らかに負荷が上がる
- 当時 Serf と Munin でメトリクスを実現していた
- メトリクスの地雷臭について