42
Shinken Monitoringについて真剣に 調べてみた結果www 2014/01/29 montoring cacual vol7 Tsuyoshi Torii (@toritori0318) Bascule Inc.

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

Embed Size (px)

Citation preview

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

Shinken Monitoringについて真剣に調べてみた結果www

2014/01/29

montoring cacual vol7

Tsuyoshi Torii (@toritori0318)

Bascule Inc.

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

自己紹介

• 鳥居剛司@toritori0318

• 株式会社バスキュール

• TV連動プラットフォームサーバ開発/運用

• Lua / Python / Golang / Node.js / Perl / Ruby

• 二児の父

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

こんなインフラ環境です

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

現在

• Nagios+Munin(+Proteus monitor)

–古き良きモニタリングツール

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

欲しい監視ツール

• ディスポーザブルなインフラ環境にマッチ

–自動で監視下に入る

–ゴミ出ない

– リアルタイム性

– …

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

_人人人人人人人人人人人人人人人人人_> Nagios+Munin、どう考えてもつらい < ̄Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y ̄

Page 7: shinken monitoringについて真剣に調べてみた結果www
Page 8: shinken monitoringについて真剣に調べてみた結果www

Shinken Monitoringについて

• 名前がかっこいい

• アイコンがかっこいい

使う理由を十分に満たしている

Page 9: shinken monitoringについて真剣に調べてみた結果www
Page 10: shinken monitoringについて真剣に調べてみた結果www

http://www.rohit.io/blog/rip-nagios-hello-docker-shinken.html

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

Blog要約

• アクティブな開発• マルチDCデプロイメント

– 無限にスケール!– しかも簡単!

• パフォーマンス– Nagios速い。けどShinkenもbooster-nrpeといったツールで工夫してる

• モダン– 動的構成/AWS/shinkenモジュールインストーラなど豊富なサポート機能を持っているよ

• UI– Nagiosは古いけど多機能。それに比べてShinkenは現代的で洗練された

UIを持っている。ThrukやGraphiteとも連携可

• 簡単に切り替え– 設定はNagiosとほぼ100%互換!

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

なんか良さそう!ピコーン

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

まずはアーキテクチャを見てみよう

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

Architecture diagram with all daemons illustrated

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

うっ… なんか多くね?

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

Shinken daemon roles

• Arbiter– 設定ファイル読み込む+可用性のためのデーモン。マスターが死んだらスペアに再ルーティングなどするらしい。

• Scheduler– PollerやReactionnerをチェックしてプールしたり。

• Poller– Schedulerによってリクエスト要求され、チェックプラグイン(nrpeなど)を実行し、結果をSchedulerに返す。

• Reactionner– チェックプラグインの結果から、RSS/メール/イベントハンドラ通知などする

• Broker– Schedulerからのデータを管理。監視結果やログをデータとして出力し

DBに保存する。

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

つかってみよう

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

Shinkenインストール

# shinkenユーザ必須adduser shinken

# pippip install shinken

# デーモン設定service shinken startchkconfig shinken on

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

ディレクトリ構造

• /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

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

shinkenコマンド

# セットアップshinken --init

# モジュールインストールshinken install <module>

# モジュール検索shinken search <module>

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

WebUIインストール

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

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/

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

ちょっと面倒になってきた

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

http://www.rohit.io/blog/rip-nagios-hello-docker-shinken.html

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

Dockerつかえばええんや!ピコーン

Page 26: shinken monitoringについて真剣に調べてみた結果www
Page 27: shinken monitoringについて真剣に調べてみた結果www

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

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

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

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

実際の動きを見てみましょう(demo)

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

使えそう?なプラグインたち

• ホスト管理系

– import-aws

• 監視系

– booster-nrpe

– linux-snmp

– linux-ssh

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

import-aws

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

import-awsを使ってみる

• インストール

# pipsudo pip install apache-libcloud

# import-awssudo shinken install import-aws

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

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 ;

}

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

import-awsを使ってみる

# arbiterコンフィグ$ cat /etc/shinken/arbiters/arbiter-master.cfg

…modules AWS

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

import-awsを使ってみる

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

import-awsを使ってみる

default_template名

“use” タグの値 “EC2” 固定

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

import-awsを使ってみる

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

import-awsを使ってみる

# 自動生成されるhostコンフィグ

define host {host_name i-xxxxxxxaddress x.x.x.xuse hogehoge, generic-host,EC2

_EC2_AVAILABILITY ap-northeast-1…

}

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

その他気になったところ

• Configエラーでもデーモン起動はOK出す

• shinkenサイトがhttp

Page 40: shinken monitoringについて真剣に調べてみた結果www
Page 41: shinken monitoringについて真剣に調べてみた結果www

結論

• いまいち優位性が感じられなかったが…– スケーラビリティ– モジュール便利…?– “ビジネスインパクトにフォーカスする” の部分が使いこなせてない感じする• http://shinken-monitoring.org/#Slide4

– import-awsは便利

• Nagiosほぼ100%互換は良い– 現在Nagiosを利用していてつらいなら考えても良いかも– NagiosっぽいビューもThruk使えば無問題

• めっちゃオススメ出来る感じでもない– Shinken enterprise版があるようなので、そちらはまた違うかも

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

ありがとうございました