Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

shinken monitoringについて真剣に調べてみた結果www

1,865 views

Published on

モニカジ vol7の資料です

Published in: Technology
  • Be the first to comment

shinken monitoringについて真剣に調べてみた結果www

  1. 1. Shinken Monitoringについて真剣に 調べてみた結果www 2014/01/29 montoring cacual vol7 Tsuyoshi Torii (@toritori0318) Bascule Inc.
  2. 2. 自己紹介 • 鳥居 剛司 @toritori0318 • 株式会社バスキュール • TV連動プラットフォームサーバ開発/運用 • Lua / Python / Golang / Node.js / Perl / Ruby • 二児の父
  3. 3. こんなインフラ環境です
  4. 4. 現在 • Nagios+Munin(+Proteus monitor) – 古き良きモニタリングツール
  5. 5. 欲しい監視ツール • ディスポーザブルなインフラ環境にマッチ – 自動で監視下に入る – ゴミ出ない – リアルタイム性 – …
  6. 6. _人人人人人人人人人人人人人人人人人_ > Nagios + Munin、どう考えてもつらい <  ̄Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y ̄
  7. 7. Shinken Monitoring について • 名前がかっこいい • アイコンがかっこいい 使う理由を十分に満たしている
  8. 8. http://www.rohit.io/blog/rip-nagios-hello-docker-shinken.html
  9. 9. Blog要約 • アクティブな開発 • マルチDCデプロイメント – 無限にスケール! – しかも簡単! • パフォーマンス – Nagios速い。けどShinkenもbooster-nrpeといったツールで工夫してる • モダン – 動的構成/AWS/shinkenモジュールインストーラなど豊富なサポート機 能を持っているよ • UI – Nagiosは古いけど多機能。それに比べてShinkenは現代的で洗練された UIを持っている。ThrukやGraphiteとも連携可 • 簡単に切り替え – 設定はNagiosとほぼ100%互換!
  10. 10. なんか良さそう!ピコーン
  11. 11. まずはアーキテクチャを見てみよう
  12. 12. Architecture diagram with all daemons illustrated
  13. 13. うっ… なんか多くね?
  14. 14. Shinken daemon roles • Arbiter – 設定ファイル読み込む+可用性のためのデーモン。マスターが死ん だらスペアに再ルーティングなどするらしい。 • Scheduler – PollerやReactionnerをチェックしてプールしたり。 • Poller – Schedulerによってリクエスト要求され、チェックプラグイン(nrpeなど) を実行し、結果をSchedulerに返す。 • Reactionner – チェックプラグインの結果から、RSS/メール/イベントハンドラ通知な どする • Broker – Schedulerからのデータを管理。監視結果やログをデータとして出力し DBに保存する。
  15. 15. つかってみよう
  16. 16. Shinken インストール # shinkenユーザ必須 adduser shinken # pip pip install shinken # デーモン設定 service shinken start chkconfig shinken on
  17. 17. ディレクトリ構造 • /etc/shinken/shinken.cfg # ルートコンフィグ • /etc/shinken # コンフィグファイル群 • /var/lib/shinken # shinkenモジュール • /var/log/shinken # ログ • /var/run/shinken # pidファイル • Shinken install モジュール – /var/lib/shinken/modules # ライブラリ実体 – /etc/shinken/modules/* # config
  18. 18. shinken コマンド # セットアップ shinken --init # モジュールインストール shinken install <module> # モジュール検索 shinken search <module>
  19. 19. WebUIインストール
  20. 20. WebUIインストール # shinken install sudo shinken install webui sudo shinken install auth-cfg-password sudo shinken install sqlitedb # コンフィグ設定: broker vi /etc/shinken/brokers/broker-master.cfg modules webui # コンフィグ設定: webui vi /etc/shinken/modules/webui.cfg modules auth-cfg-password, sqlitedb # デーモン再起動 sudo service shinken restart # 以下のURLにアクセス http://<host>:7767/
  21. 21. ちょっと面倒になってきた
  22. 22. http://www.rohit.io/blog/rip-nagios-hello-docker-shinken.html
  23. 23. Dockerつかえばええんや!ピコーン
  24. 24. Dockerイメージで楽ちん〜 1. WebUI – Shinken WebUI基本形 – http://localhost/ 2. Thruk UI – Thruk入りWebUI – http://localhost/thruk/ 3. Graphs – Graphite入りWebUI – http://localhost/service/docker_shinken/http_port_7770 #graphs https://github.com/rohit01/docker_shinken.git
  25. 25. Dockerイメージで楽ちん〜 # git clone git clone https://github.com/rohit01/docker_shinken.git # 1. webui cd docker_shinken/shinken_basic sudo docker run -d -v "$(pwd)/custom_configs:/etc/shinken/custom_configs" -p 80:80 rohit01/shinken # 2. webui + thruk cd docker_shinken/shinken_thruk sudo docker run -d -v "$(pwd)/custom_configs:/etc/shinken/custom_configs" -p 80:80 rohit01/shinken_thruk # 3. webui + thruk + graphite cd docker_shinken/shinken_thruk_graphite sudo docker run -d -v "$(pwd)/custom_configs:/etc/shinken/custom_configs" -p 80:80 rohit01/shinken_thruk_graphite
  26. 26. 実際の動きを見てみましょう(demo)
  27. 27. 使えそう?なプラグインたち • ホスト管理系 – import-aws • 監視系 – booster-nrpe – linux-snmp – linux-ssh
  28. 28. import-aws
  29. 29. import-awsを使ってみる • インストール # pip sudo pip install apache-libcloud # import-aws sudo shinken install import-aws
  30. 30. import-awsを使ってみる # import-awsコンフィグ $ cat /etc/shinken/module/import-aws.cfg define module { module_name AWS module_type aws_import # Configure your REAL api_key and secret from AWS api_key xxxxxxxxxxxxxxxxxxx secret xxxxxxxxxxxxxxxxxxx regions ec2_ap_northeast ; default_template generic-host ; }
  31. 31. import-awsを使ってみる # arbiterコンフィグ $ cat /etc/shinken/arbiters/arbiter-master.cfg … modules AWS …
  32. 32. import-awsを使ってみる
  33. 33. import-awsを使ってみる default_template名 “use” タグの値 “EC2” 固定
  34. 34. import-awsを使ってみる
  35. 35. import-awsを使ってみる # 自動生成されるhostコンフィグ define host { host_name i-xxxxxxx address x.x.x.x use hogehoge, generic-host,EC2 _EC2_AVAILABILITY ap-northeast-1 … }
  36. 36. その他気になったところ • Configエラーでもデーモン起動はOK出す • shinkenサイトがhttp
  37. 37. 結論 • いまいち優位性が感じられなかったが… – スケーラビリティ – モジュール便利…? – “ビジネスインパクトにフォーカスする” の部分が使いこなせてない感 じする • http://shinken-monitoring.org/#Slide4 – import-awsは便利 • Nagiosほぼ100%互換は良い – 現在Nagiosを利用していてつらいなら考えても良いかも – NagiosっぽいビューもThruk使えば無問題 • めっちゃオススメ出来る感じでもない – Shinken enterprise版があるようなので、そちらはまた違うかも
  38. 38. ありがとうございました

×