SlideShare ist ein Scribd-Unternehmen logo
1 von 18
Downloaden Sie, um offline zu lesen
MuninをCasualに
スケールアウト
hetemlでやってみた

               Monitoring Casual Talk #2
               Ryo Kuroda @lamanotrama
               パペボ所属
今日は、1.3 or 1.4系(普通にredhat系でyumで
入る奴)を使ってスケールアウト構成を作った
話をします。
全体像
台数
● munin-manager(兼muninサーバ) : 一台
● muninサーバクラスタノード: 十数台
● munin-node: 3百ウン十台

全部オンプレミス(って最近言うんですよね)
muninクラスタノード
● 普通にmuninサーバ
● htmlコンテンツは作らないサーブもしない
● munin-htmlはコメントアウトしちゃう

@/usr/bin/munin-cron
  # nice /usr/share/munin/munin-html $@ || exit 1
munin-manager
munin-manager
● 各クラスタノードのコンフィグ管理
● 各クラスタノードからのデータ収集
● webインターフェースのサーブ

https://github.com/lamanotrama/munin-
manager
munin-managerの実体
幾つかのスクリプトと、それを実行するcron job。

●   bin/configgen.pl
    ○   各クラスタノード用configファイルを生成
●   bin/aggregate.sh
    ○   configgen.plで作成したconfigファイルをクラスタノードに配布
    ○   クラスタノードが頑張って作ったRRDやグラフイメージを収集
●   bin/munin-manager-cron
    ○   aggregate.shの実行とhtmlファイルの生成
●   /etc/cron.d/munin-manager
    ○   configgen.plとmunin-manager-cronの定期実行
configgen.pl
configgen.pl
テンプレートに食わせてコンフィグを生成 ※コードは雰囲気です
    my @hosts = get_hosts;

    for my $host ( @hosts ) {
      my $munin_server = Backun::Manager::Heteml::get_backupserver($host);
      push @{ $nodes{$munin_server} }, $host;
    }

    while ( my ($server, $hosts ) = each(%nodes)) {
      write_config( $server, $hosts )
    }

    write_manager_config( @hosts )

●   クラスタノード用 var/conf.d/<hostname>
●   manager用(全node入り) /etc/munin/munin-manager.conf
本職はバックアップ
Backun::Manager::Heteml::get_backupserver ?
実はクラスタノードはもともとはバックアップサーバなのだ。

● 容量欲しいだけなのに無駄に高い性能
● 日次のバックアップ処理時間帯以外はものっそ暇

勿体ないからmunin動かそう。

バックアップシステムがいい具合に対象nodeの割り振りしてくれ
るからそれそのままつかえるじゃん!
aggregate.sh
aggregate.sh
●   クラスタノードへのconifgファイルの配布
●   グラフイメージの収集
●   RRDファイルの収集
●   メタデータ(/var/lib/munin/datafile)のマージ
munin-manager-cron
● aggregate.shを実行した後に、htmlファイルを生成
  /usr/share/munin/munin-html 
    --config /etc/munin/munin-managonfer.conf


● たまに収集したRRDを使ってスタックド(Total)グラフも作る
  /usr/share/munin/munin-graph 
    --config /etc/munin/munin-manager.conf 
    --cron --skip-lockoing --host Total
以上、説明するとややこしげですが、非常に単純な
仕組みです。
クラスタノードを足した際の作業はmuninをインス
トールするだけに近いので、ほぼメンテナンスフ
リーと言えます。

ポイントは、

 ● munin自体を魔改造しない。
 ● サーバリソースを気にし過ぎない
まとめ
複雑でかっこいいものを作るのが常に正解ではな
い。
カジュアルにやってもいいんじゃないですかね。
ありがとうございました

Weitere ähnliche Inhalte

Was ist angesagt?

USBからLinuxを起動してみよう! - 第4回つくらぐ勉強会
USBからLinuxを起動してみよう! - 第4回つくらぐ勉強会USBからLinuxを起動してみよう! - 第4回つくらぐ勉強会
USBからLinuxを起動してみよう! - 第4回つくらぐ勉強会University of Tsukuba Linux User Group
 
Vagrant packana16-otahi
Vagrant packana16-otahiVagrant packana16-otahi
Vagrant packana16-otahiHiroshi Ota
 
勉強会向けサーバを作ってみる2 / Rasbian jessieを試す/ Google Authenticatorのパスコードを作る
勉強会向けサーバを作ってみる2 / Rasbian jessieを試す/ Google Authenticatorのパスコードを作る勉強会向けサーバを作ってみる2 / Rasbian jessieを試す/ Google Authenticatorのパスコードを作る
勉強会向けサーバを作ってみる2 / Rasbian jessieを試す/ Google Authenticatorのパスコードを作るKenichiro MATOHARA
 
OSC 2016 Nagoya - MineOSのすすめ -
OSC 2016 Nagoya - MineOSのすすめ -OSC 2016 Nagoya - MineOSのすすめ -
OSC 2016 Nagoya - MineOSのすすめ -roamer7038
 
ティアラコンチェルトでPS3コントローラを使う
ティアラコンチェルトでPS3コントローラを使うティアラコンチェルトでPS3コントローラを使う
ティアラコンチェルトでPS3コントローラを使うsarasaneia
 
Vagrant intro
Vagrant introVagrant intro
Vagrant introt9md
 
Smartphone workshop kansai #9
Smartphone workshop kansai #9Smartphone workshop kansai #9
Smartphone workshop kansai #9Yutaka Tsumori
 
Raspberry pi on java 20130514
Raspberry pi on java 20130514Raspberry pi on java 20130514
Raspberry pi on java 20130514Masafumi Ohta
 
「ハイパーバイザの作り方」読書会#2
「ハイパーバイザの作り方」読書会#2「ハイパーバイザの作り方」読書会#2
「ハイパーバイザの作り方」読書会#2Takuya ASADA
 
neobundle.vimについて+おまけ
neobundle.vimについて+おまけneobundle.vimについて+おまけ
neobundle.vimについて+おまけShougo
 
Go で Munin プラグインを書いてみた
Go で Munin プラグインを書いてみたGo で Munin プラグインを書いてみた
Go で Munin プラグインを書いてみたftnk
 
Pukiwiki コメントスパム対策 / 電波時計で NTP
Pukiwiki コメントスパム対策 / 電波時計で NTPPukiwiki コメントスパム対策 / 電波時計で NTP
Pukiwiki コメントスパム対策 / 電波時計で NTPKenichiro MATOHARA
 

Was ist angesagt? (20)

USBからLinuxを起動してみよう! - 第4回つくらぐ勉強会
USBからLinuxを起動してみよう! - 第4回つくらぐ勉強会USBからLinuxを起動してみよう! - 第4回つくらぐ勉強会
USBからLinuxを起動してみよう! - 第4回つくらぐ勉強会
 
Vagrant packana16-otahi
Vagrant packana16-otahiVagrant packana16-otahi
Vagrant packana16-otahi
 
FreeBSD Desktop
FreeBSD DesktopFreeBSD Desktop
FreeBSD Desktop
 
Challenge
ChallengeChallenge
Challenge
 
勉強会向けサーバを作ってみる2 / Rasbian jessieを試す/ Google Authenticatorのパスコードを作る
勉強会向けサーバを作ってみる2 / Rasbian jessieを試す/ Google Authenticatorのパスコードを作る勉強会向けサーバを作ってみる2 / Rasbian jessieを試す/ Google Authenticatorのパスコードを作る
勉強会向けサーバを作ってみる2 / Rasbian jessieを試す/ Google Authenticatorのパスコードを作る
 
For tokyo.ex #2 LT
For tokyo.ex #2 LTFor tokyo.ex #2 LT
For tokyo.ex #2 LT
 
Bmd
BmdBmd
Bmd
 
Monit
MonitMonit
Monit
 
OSC 2016 Nagoya - MineOSのすすめ -
OSC 2016 Nagoya - MineOSのすすめ -OSC 2016 Nagoya - MineOSのすすめ -
OSC 2016 Nagoya - MineOSのすすめ -
 
ティアラコンチェルトでPS3コントローラを使う
ティアラコンチェルトでPS3コントローラを使うティアラコンチェルトでPS3コントローラを使う
ティアラコンチェルトでPS3コントローラを使う
 
Vagrant intro
Vagrant introVagrant intro
Vagrant intro
 
Vimはこわくない
VimはこわくないVimはこわくない
Vimはこわくない
 
Smartphone workshop kansai #9
Smartphone workshop kansai #9Smartphone workshop kansai #9
Smartphone workshop kansai #9
 
Tmux
TmuxTmux
Tmux
 
Raspberry pi on java 20130514
Raspberry pi on java 20130514Raspberry pi on java 20130514
Raspberry pi on java 20130514
 
Tmux
TmuxTmux
Tmux
 
「ハイパーバイザの作り方」読書会#2
「ハイパーバイザの作り方」読書会#2「ハイパーバイザの作り方」読書会#2
「ハイパーバイザの作り方」読書会#2
 
neobundle.vimについて+おまけ
neobundle.vimについて+おまけneobundle.vimについて+おまけ
neobundle.vimについて+おまけ
 
Go で Munin プラグインを書いてみた
Go で Munin プラグインを書いてみたGo で Munin プラグインを書いてみた
Go で Munin プラグインを書いてみた
 
Pukiwiki コメントスパム対策 / 電波時計で NTP
Pukiwiki コメントスパム対策 / 電波時計で NTPPukiwiki コメントスパム対策 / 電波時計で NTP
Pukiwiki コメントスパム対策 / 電波時計で NTP
 

Ähnlich wie Munin manager - monitering casual talk #2

MINCS – containers in the shell script
MINCS – containers in the shell scriptMINCS – containers in the shell script
MINCS – containers in the shell scriptMasami Hiramatsu
 
Muninの導入と設定
Muninの導入と設定Muninの導入と設定
Muninの導入と設定guest26fd98
 
Muninの導入と設定
Muninの導入と設定Muninの導入と設定
Muninの導入と設定kohei Yamamoto
 
Terraformディレクトリ構成のベスプラを考えてみた
Terraformディレクトリ構成のベスプラを考えてみたTerraformディレクトリ構成のベスプラを考えてみた
Terraformディレクトリ構成のベスプラを考えてみた山下 達也
 
XenServerによるお手軽開発サーバ運用
XenServerによるお手軽開発サーバ運用XenServerによるお手軽開発サーバ運用
XenServerによるお手軽開発サーバ運用Shinya Okano
 
NetBSDのクロスビルドのしくみとインストール済みLive Imageの作成
NetBSDのクロスビルドのしくみとインストール済みLive Imageの作成NetBSDのクロスビルドのしくみとインストール済みLive Imageの作成
NetBSDのクロスビルドのしくみとインストール済みLive Imageの作成Izumi Tsutsui
 
OrePAN と cpanm を使ったCPAN モジュールの部分ミラーの運用管理 :Yokohama.pm #8
OrePAN と cpanm を使ったCPAN モジュールの部分ミラーの運用管理 :Yokohama.pm #8OrePAN と cpanm を使ったCPAN モジュールの部分ミラーの運用管理 :Yokohama.pm #8
OrePAN と cpanm を使ったCPAN モジュールの部分ミラーの運用管理 :Yokohama.pm #8Satoshi Ohkubo
 
ICSをビルドしてみた
ICSをビルドしてみたICSをビルドしてみた
ICSをビルドしてみたkinneko
 
A_road_to_AMBER_simulations_ver_1.0
A_road_to_AMBER_simulations_ver_1.0A_road_to_AMBER_simulations_ver_1.0
A_road_to_AMBER_simulations_ver_1.0Satoshi Kume
 
Al mininum 47redmine-2nd
Al mininum 47redmine-2ndAl mininum 47redmine-2nd
Al mininum 47redmine-2ndmikoto20000
 

Ähnlich wie Munin manager - monitering casual talk #2 (11)

MINCS – containers in the shell script
MINCS – containers in the shell scriptMINCS – containers in the shell script
MINCS – containers in the shell script
 
Muninの導入と設定
Muninの導入と設定Muninの導入と設定
Muninの導入と設定
 
Muninの導入と設定
Muninの導入と設定Muninの導入と設定
Muninの導入と設定
 
Terraformディレクトリ構成のベスプラを考えてみた
Terraformディレクトリ構成のベスプラを考えてみたTerraformディレクトリ構成のベスプラを考えてみた
Terraformディレクトリ構成のベスプラを考えてみた
 
XenServerによるお手軽開発サーバ運用
XenServerによるお手軽開発サーバ運用XenServerによるお手軽開発サーバ運用
XenServerによるお手軽開発サーバ運用
 
NetBSDのクロスビルドのしくみとインストール済みLive Imageの作成
NetBSDのクロスビルドのしくみとインストール済みLive Imageの作成NetBSDのクロスビルドのしくみとインストール済みLive Imageの作成
NetBSDのクロスビルドのしくみとインストール済みLive Imageの作成
 
OrePAN と cpanm を使ったCPAN モジュールの部分ミラーの運用管理 :Yokohama.pm #8
OrePAN と cpanm を使ったCPAN モジュールの部分ミラーの運用管理 :Yokohama.pm #8OrePAN と cpanm を使ったCPAN モジュールの部分ミラーの運用管理 :Yokohama.pm #8
OrePAN と cpanm を使ったCPAN モジュールの部分ミラーの運用管理 :Yokohama.pm #8
 
Open VZ
Open VZOpen VZ
Open VZ
 
ICSをビルドしてみた
ICSをビルドしてみたICSをビルドしてみた
ICSをビルドしてみた
 
A_road_to_AMBER_simulations_ver_1.0
A_road_to_AMBER_simulations_ver_1.0A_road_to_AMBER_simulations_ver_1.0
A_road_to_AMBER_simulations_ver_1.0
 
Al mininum 47redmine-2nd
Al mininum 47redmine-2ndAl mininum 47redmine-2nd
Al mininum 47redmine-2nd
 

Munin manager - monitering casual talk #2