2. matsuu is 何
● matsuuです
o 大抵のサービスでmatsuu
o はてなはid:tmatsuu
● Gentooの方から来ました
o RSS消化に明け暮れる日々
o 最近はDockerとTerraformとISUCON
● MSP事業の会社でインフラエンジニア
o 前職プログラマ
o 前々職ネットワーク屋
3. MSP is 何
● Management Service Provider
o 企業システムの運用・監視などを請け負う事業者の
こと(引用元Wikipedia)
o お客様のシステムを24時間365日運用・監視
運用は行わず監視と一次対応のみの場合もある
監視のみの場合もある
エスカレーションのみの場合もある
o 環境はお客様によってバラバラ
chef/puppet/ansibleとか使えないことが多いよ!
4. 現在の監視is 何
● 死活監視は主にNagios
o 複数のお客様、複数の拠点を一括監視
o 監視項目数31560
o 現在バージョンアップ対応中(→4.0.8)
● リソース監視は主にCacti
o 複数のお客様、複数の拠点を一括監視
o 監視項目数50364
5. 現状の問題点is 何
● AutoScalingに対応しにくい
o Nagios/Cactiの自動登録の仕組みは用意している
o AWSのCloudWatchで集約するなど…
● 監視間隔をもっと短くしたい
o 現在Nagiosは3分間隔、Cactiは5分間隔
o pull方式では厳しい?
● 死活監視とリソース監視が完全分離
o 監視元を統一できないか
● 死活監視から一次対応までできるといいな
10. 検証環境
● Gentoo LinuxではなくCentOS 6.5
● sensuの公式リポジトリからyum install
o sensu-0.13.1
o uchiwa-0.2.3
● その他
o sensu-admin
o openduty(監視通知連携)
o influxdb+grafana(リソース監視)
11. Sensuを採用するメリット
● 監視拠点の統一ができる
● Nagiosの監視スクリプトを流用できる
● スケールアウトしやすい
o 複数のsensu-server構成
o 往路・復路で非対称のpub/sub構成
● 冗長構成を取りやすそう
o sensu-server、Redis、RabbitMQ
o sensu-client以外はSPOFにならないかも?
12. sensuの現状の課題その1
● マルチテナント機能がない
o アカウントごとに閲覧できる範囲の制限ができない
uchiwaは複数のsensu-apiを参照することができる
ので、複数のsensuシステムをまとめることは可能
● リソース監視は別途何らかの用意が必要
o 死活監視とリソース監視をまとめて確認できるツー
ルがあるといいんだけども…
● Handlerはsensu-server上で動く
o sensu-clientでhandlerを動かせるといいな
13. sensuの現状の課題その2
● 監視リトライ周りが貧弱
o リトライ時は間隔を狭めたりしたい
● マルチテナント対応のリソース監視がない
o Cactiと比較すると見劣りしがち
o フルスクラッチor何かをベースに作るしかないかも
● Cactiの資産があまり生かせない
o がんばろう
14. sensuの気になったところその1
● sensu-client
o 起動時にRabbitMQに接続できない場合は死ぬ
o 起動中にRabbitMQに接続できない場合はrabbitmq-client
の機能でキューに貯めてる?
sensu-clientが再起動するとキューは消える?
o クライアント証明書がすべて同一
RabbitMQでクライアント証明書のrevokeができ
ないため仕様
15. sensuの気になったところその2
● sensu-serverとsensu-apiの関係
o sensu-serverをrestartするとsensu-apiがたまに死ぬ
のは最新版でも変わってなさそう?
● sensu-clientの登録漏れに気づけるか
o 運用でカバー
● sensu-serverのconfigtest的なものがあると
いいな
● sensu-serverのrestartが若干遅い?
16. sensuの気になったところその3
● sensu for MSP
o https://groups.google.com/forum/#!topic/sensu-users/
YvdfDbKgfF0
18. 参考:PagerDuty
● 監視と通知の橋渡しを行う有償サービス
o http://www.pagerduty.com/
o 監視対象や時間などを元にルールに基づいて自動的
にエスカレーション先・エスカレーション方法を決
定する
o 電話をかけることもできる
o アメリカとカナダ以外から利用するのは厳しい
19. 参考:openduty
● UstreamによるPagerDutyのオープンソース実装
o https://github.com/ustream/openduty
o Djangoベース、PagerDutyとAPI互換
o XMPP, email, SMS, Phoneなどで通知可能
o 開発は停滞している?
ハッカソンでガッと作っただけっぽい
o マルチテナント機能は現状ない
これをベースに改修を検討中
20. 参考:flapjack
● 監視通知のルーティング・イベント処理を担うツール
o http://flapjack.io/
o Ruby実装、Nagiosやsensuと連携する仕組みを持つ
o マルチテナント対応も(一応)謳う
o 通知は別途PagerDutyなどを利用する想定
o 検討はしたもののopendutyで良いかなという結論