O slideshow foi denunciado.
Utilizamos seu perfil e dados de atividades no LinkedIn para personalizar e exibir anúncios mais relevantes. Altere suas preferências de anúncios quando desejar.
Sensu
The Next Generateion
Monitoring Framework
2012年6月6日
運用部技術チーム 山田 修司
What is Sensu?
• Sensu
– 名前は「扇子」から取られている。
– 昨年からひっそりと配布/開発が進められているモニ
タリングフレームワーク。
– NagiosやZabbixに匹敵するくらいに流行るのではな
いかと一部で囁か...
Old MonitoringTool
• Size S
Central Server
Client
Client
Client
3
Old MonitoringTool
• Size M
Central Server
Client
Client
Client
Central Server
Client
Client
4
Old MonitoringTool
• Size L
Central Server
Client
Client
Central Server
Central Server
Central Server
Client
Client
Client...
Old MonitoringTool
• 既存の監視ツールの課題
– 監視サーバに処理を負担させすぎ
• スケジューリング、グラフ描画、アラート発報などなど。。
– 監視サーバの負荷がボトルネックになりやすい。
– 負荷分散のために監視サーバを...
Sensu
Monitoring Framework
7
SensuArchtechture
• Sensu-Server
– 1000行程度のRubyで記述された軽量なサーバ。
– クライアント側でスケジュールされている監視結果
を受け取るだけ。
– RESTベースのJSON APIによるデータ検索...
SensuArchtechture
• Sensu-Client
– Rubyで記述されたOSに依存しないエージェント。
– 簡単な機能追加が可能なモジュール型設計。
– Nagiosプラグインをモジュールとして再利用可能。
Sensu-Ser...
SensuArchtechture
• Sensu-dashboard
– とても簡素なダッシュボード。。
10
Sensu Building Block
• Deploy
– Sensu-Clientの配布のためにChefやPuppetとの連携に対応
• Messaging
– AMQPによるメッセージングにはRabbitMQと連携
• DataStor...
Sensu Building Block
12
Messaging
Deploy
DataStore
Messaging
Metrics
Sensu-Server
Sensu-clients
Alert
OldTools vs Sensu
• Nagios / xymon
– 設定変更の度に、監視サーバに設定を再読み込み
(reload)してやらないといけない。
• Sensu
– Chefやpuppet等の構成管理ツールで、Sensu-Cli...
OldTools vs Sensu
• Nagios / zabbix / cacti
– プラグインを追加するほど、監視サーバの負荷が高
まりやすい。
– 機能追加のためのプラグインは豊富に存在するけど、
満足な機能追加ができないことも。。
...
OldTools vs Sensu
• Nagios / xymon / cacti
– 監視対象や監視項目の数が増加するほど、監視サー
バの負荷が増大する。
• Sensu
– 監視サーバはクライアントから監視結果を受け取る
だけなので、監視...
OldTools vs Sensu
• Nagios / xymon / zabbix
– 構成や設定に凝り始めた途端に複雑化が進み、監視
サーバ周りの運用業務が属人化しがち。
• Sensu
– 設定や構成が単純なので、構成管理の負担が少ない...
Sensu Configuration
(クライアント側にプラグインをインストールする)
# wget -O /etc/sensu/plugins/check-disk.rb
https://raw.github.com/sensu/sensu...
Sensu Configuration
(クライアント側にサブスクリプションを追記)
# vi /etc/sensu/conf.d/client.json
{
"client": {
"name": "client-hostname",
"ad...
Sensu Configuration
(クライアント側にconfigを設定)
# vi /etc/sensu/conf.d/check_disk.json
{
"checks": {
"disk_check": {
"handler": "d...
Sensu Configuration
# yum -y install nagios-plugins-http
# vi /etc/sensu/conf.d/check_google.json
{
"checks": {
"check_web...
Sensu Configuration
(”handlers”にカスタムハンドラを追記する)
# vi /etc/sensu/conf.d/check_disk.json
{
"checks": {
"disk_check": {
"handl...
Sensu Configuration
(emailハンドラを受信したときの処理を定義する)
# vi /etc/sensu/conf.d/handler_email.json
{
"handlers": {
"email": {
"type"...
ANYQUESTION?
23
Próximos SlideShares
Carregando em…5
×

Sensu -The Next Generateion Monitoring Framework-

2012年6月6日開催LT「TECHLUNCH#05」でのSensu紹介資料です。 @uzyexe

  • Seja o primeiro a comentar

Sensu -The Next Generateion Monitoring Framework-

  1. 1. Sensu The Next Generateion Monitoring Framework 2012年6月6日 運用部技術チーム 山田 修司
  2. 2. What is Sensu? • Sensu – 名前は「扇子」から取られている。 – 昨年からひっそりと配布/開発が進められているモニ タリングフレームワーク。 – NagiosやZabbixに匹敵するくらいに流行るのではな いかと一部で囁かれている期待のツール。 – https://github.com/sensu 2
  3. 3. Old MonitoringTool • Size S Central Server Client Client Client 3
  4. 4. Old MonitoringTool • Size M Central Server Client Client Client Central Server Client Client 4
  5. 5. Old MonitoringTool • Size L Central Server Client Client Central Server Central Server Central Server Client Client Client Client Client Client Relay Server Relay Server Relay Server 5
  6. 6. Old MonitoringTool • 既存の監視ツールの課題 – 監視サーバに処理を負担させすぎ • スケジューリング、グラフ描画、アラート発報などなど。。 – 監視サーバの負荷がボトルネックになりやすい。 – 負荷分散のために監視サーバをいっぱい立てたり、 NagiosのNPREのような監視中継サーバを使って階層 化すると監視システムの構成管理が煩雑になる。 6
  7. 7. Sensu Monitoring Framework 7
  8. 8. SensuArchtechture • Sensu-Server – 1000行程度のRubyで記述された軽量なサーバ。 – クライアント側でスケジュールされている監視結果 を受け取るだけ。 – RESTベースのJSON APIによるデータ検索をサポート。 Sensu-Server Client Client API JSON 8
  9. 9. SensuArchtechture • Sensu-Client – Rubyで記述されたOSに依存しないエージェント。 – 簡単な機能追加が可能なモジュール型設計。 – Nagiosプラグインをモジュールとして再利用可能。 Sensu-Server Client AMQP 9
  10. 10. SensuArchtechture • Sensu-dashboard – とても簡素なダッシュボード。。 10
  11. 11. Sensu Building Block • Deploy – Sensu-Clientの配布のためにChefやPuppetとの連携に対応 • Messaging – AMQPによるメッセージングにはRabbitMQと連携 • DataStore – クライアントデータやイベントの格納にはRedisと連携 • Metrics – グラフ描画にはGraphiteやlibratoとの連携に対応 • Alert – SMS/mail/IRC/Twitterなど多様なソースに送信が可能 11
  12. 12. Sensu Building Block 12 Messaging Deploy DataStore Messaging Metrics Sensu-Server Sensu-clients Alert
  13. 13. OldTools vs Sensu • Nagios / xymon – 設定変更の度に、監視サーバに設定を再読み込み (reload)してやらないといけない。 • Sensu – Chefやpuppet等の構成管理ツールで、Sensu-Client を配布するように設定しておけば良い。 – クライアントは動的に監視に参加できる。 – サーバの設定変更に伴うリスクを回避できる。 ~監視対象の追加/停止~ 13
  14. 14. OldTools vs Sensu • Nagios / zabbix / cacti – プラグインを追加するほど、監視サーバの負荷が高 まりやすい。 – 機能追加のためのプラグインは豊富に存在するけど、 満足な機能追加ができないことも。。 • Sensu – クライアント側で全ての監視処理をしており、サー バ側は監視結果を受け取るだけなので、監視サーバ の負荷は少ない。 ~機能拡張性~ 14
  15. 15. OldTools vs Sensu • Nagios / xymon / cacti – 監視対象や監視項目の数が増加するほど、監視サー バの負荷が増大する。 • Sensu – 監視サーバはクライアントから監視結果を受け取る だけなので、監視対象や監視項目の数が増加しても、 監視サーバの負荷は少ない。 ~スケーラビリティ~ 15
  16. 16. OldTools vs Sensu • Nagios / xymon / zabbix – 構成や設定に凝り始めた途端に複雑化が進み、監視 サーバ周りの運用業務が属人化しがち。 • Sensu – 設定や構成が単純なので、構成管理の負担が少ない。 ~運用面~ 16
  17. 17. Sensu Configuration (クライアント側にプラグインをインストールする) # wget -O /etc/sensu/plugins/check-disk.rb https://raw.github.com/sensu/sensu-community- plugins/master/plugins/system/check-disk.rb # chmod +x /etc/sensu/plugins/check-disk.rb # gem install sensu-plugin --no-rdoc --no-ri 例:ディスク使用量監視の設定 17
  18. 18. Sensu Configuration (クライアント側にサブスクリプションを追記) # vi /etc/sensu/conf.d/client.json { "client": { "name": "client-hostname", "address": "client-ipaddress", "subscriptions": [ "test", "fileservers" ] } } 例:ディスク使用量監視の設定 18
  19. 19. Sensu Configuration (クライアント側にconfigを設定) # vi /etc/sensu/conf.d/check_disk.json { "checks": { "disk_check": { "handler": "default", "command": "/etc/sensu/plugins/check-disk.rb", "interval": 3600, "subscribers": [ "fileservers" ] … 例:ディスク使用量監視の設定 19
  20. 20. Sensu Configuration # yum -y install nagios-plugins-http # vi /etc/sensu/conf.d/check_google.json { "checks": { "check_web": { "notification": "HTTP failed", "command": PATH=$PATH:/usr/lib64/nagios/plugins:/usr/lib/n agios/plugins check_http www.mydomain -R 'search'", … 例:Nagiosプラグインの利用 20
  21. 21. Sensu Configuration (”handlers”にカスタムハンドラを追記する) # vi /etc/sensu/conf.d/check_disk.json { "checks": { "disk_check": { "handlers": ["default", "email"], "command": "/etc/sensu/plugins/check-disk.rb", ... 例:アラートメールの送信設定 21
  22. 22. Sensu Configuration (emailハンドラを受信したときの処理を定義する) # vi /etc/sensu/conf.d/handler_email.json { "handlers": { "email": { "type": "pipe", "command": "mail -s 'sensu alert' your@address" … 例:アラートメールの送信設定 22
  23. 23. ANYQUESTION? 23

    Seja o primeiro a comentar

    Entre para ver os comentários

  • ssuser15db85

    Feb. 12, 2016

2012年6月6日開催LT「TECHLUNCH#05」でのSensu紹介資料です。 @uzyexe

Vistos

Vistos totais

1.334

No Slideshare

0

De incorporações

0

Número de incorporações

14

Ações

Baixados

18

Compartilhados

0

Comentários

0

Curtir

1

×