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/muni...
munin-manager
munin-manager● 各クラスタノードのコンフィグ管理● 各クラスタノードからのデータ収集● webインターフェースのサーブhttps://github.com/lamanotrama/munin-manager
munin-managerの実体幾つかのスクリプトと、それを実行するcron job。●   bin/configgen.pl    ○   各クラスタノード用configファイルを生成●   bin/aggregate.sh    ○   c...
configgen.pl
configgen.plテンプレートに食わせてコンフィグを生成 ※コードは雰囲気です    my @hosts = get_hosts;    for my $host ( @hosts ) {      my $munin_server = ...
本職はバックアップ
Backun::Manager::Heteml::get_backupserver ?実はクラスタノードはもともとはバックアップサーバなのだ。● 容量欲しいだけなのに無駄に高い性能● 日次のバックアップ処理時間帯以外はものっそ暇勿体ないからmu...
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....
以上、説明するとややこしげですが、非常に単純な仕組みです。クラスタノードを足した際の作業はmuninをインストールするだけに近いので、ほぼメンテナンスフリーと言えます。ポイントは、 ● munin自体を魔改造しない。 ● サーバリソースを気にし...
まとめ複雑でかっこいいものを作るのが常に正解ではない。カジュアルにやってもいいんじゃないですかね。
ありがとうございました
Upcoming SlideShare
Loading in...5
×

Munin manager - monitering casual talk #2

2,740

Published on

0 Comments
7 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
2,740
On Slideshare
0
From Embeds
0
Number of Embeds
6
Actions
Shares
0
Downloads
4
Comments
0
Likes
7
Embeds 0
No embeds

No notes for slide

Munin manager - monitering casual talk #2

  1. 1. MuninをCasualにスケールアウトhetemlでやってみた Monitoring Casual Talk #2 Ryo Kuroda @lamanotrama パペボ所属
  2. 2. 今日は、1.3 or 1.4系(普通にredhat系でyumで入る奴)を使ってスケールアウト構成を作った話をします。
  3. 3. 全体像
  4. 4. 台数● munin-manager(兼muninサーバ) : 一台● muninサーバクラスタノード: 十数台● munin-node: 3百ウン十台全部オンプレミス(って最近言うんですよね)
  5. 5. muninクラスタノード● 普通にmuninサーバ● htmlコンテンツは作らないサーブもしない● munin-htmlはコメントアウトしちゃう@/usr/bin/munin-cron # nice /usr/share/munin/munin-html $@ || exit 1
  6. 6. munin-manager
  7. 7. munin-manager● 各クラスタノードのコンフィグ管理● 各クラスタノードからのデータ収集● webインターフェースのサーブhttps://github.com/lamanotrama/munin-manager
  8. 8. 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の定期実行
  9. 9. configgen.pl
  10. 10. 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
  11. 11. 本職はバックアップ
  12. 12. Backun::Manager::Heteml::get_backupserver ?実はクラスタノードはもともとはバックアップサーバなのだ。● 容量欲しいだけなのに無駄に高い性能● 日次のバックアップ処理時間帯以外はものっそ暇勿体ないからmunin動かそう。バックアップシステムがいい具合に対象nodeの割り振りしてくれるからそれそのままつかえるじゃん!
  13. 13. aggregate.sh
  14. 14. aggregate.sh● クラスタノードへのconifgファイルの配布● グラフイメージの収集● RRDファイルの収集● メタデータ(/var/lib/munin/datafile)のマージ
  15. 15. 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
  16. 16. 以上、説明するとややこしげですが、非常に単純な仕組みです。クラスタノードを足した際の作業はmuninをインストールするだけに近いので、ほぼメンテナンスフリーと言えます。ポイントは、 ● munin自体を魔改造しない。 ● サーバリソースを気にし過ぎない
  17. 17. まとめ複雑でかっこいいものを作るのが常に正解ではない。カジュアルにやってもいいんじゃないですかね。
  18. 18. ありがとうございました
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×