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