カスタムグラフの作り方
[id:cooldaemon:20060802]で書いた、mysql 死活監視のやっつけをグラフ化する方法。
/home/hobbit 配下に Hobbit がインストール済みだと仮定する。
グラフ作成前の準備
/home/hobbit/server/ext 配下に下記の script を配置。
> cat mysql_ping.pl #!/usr/local/bin/perl use strict; use warnings; use Readonly; use Time::HiRes qw(time); use IO::Socket; Readonly my $TAG => q{mysqlping}; Readonly my $PORT => q{3306}; Readonly my $TIMEOUT => q{10}; check_bb_env() or die q{call form BB!}, "?n"; for (`$ENV{BBHOME}/bin/bbhostgrep $TAG`) { my ($host_ip, $host_name,) = split /?s/; send_to_bb( $host_name, connect_to_host( $host_ip, ) ); } exit; sub check_bb_env { for ( qw(BB BBDISP BBHOME) ) { return 0 if ! defined $ENV{$_}; } return 1; } sub connect_to_host { my ($host_ip) = @_; my $start_sec = time; my $socket = IO::Socket::INET->new( PeerAddr => $host_ip, PeerPort => $PORT, Timeout => $TIMEOUT, ) or return ( q{red}, 0, ); my $end_sec = time; $socket->close(); return ( q{green}, int( ($end_sec - $start_sec) * 1000 ), ); } sub send_to_bb { my ($host_name, $color, $connect_sec,) = @_; my $now_date = `date`; `$ENV{BB} $ENV{BBDISP} "status $host_name.$TAG $color $now_date?n?nms : $connect_sec?n"`; }
前回は、shell で書いたが、今回は perl 。CPAN モジュールに依存してるが気にしない。
hobbitlaunch.cfg に配置した script を実行する記述を追加。
[mysqlping] ENVFILE /home/hobbit/server/etc/hobbitserver.cfg NEEDS hobbitd CMD $BBHOME/ext/mysql_ping.pl LOGFILE $BBSERVERLOGS/mysqlping.log INTERVAL 5m
bb-hosts に、mysqlping を追加する。
xxx.xxx.xxx.xxx mysql # mysqlping
ここまでは、前回の解説と、ほぼ同様。
グラフ作成
hobbitserver.cfg に rrd ファイルを作成する為の記述を追加。
TEST2RRD="cpu=la,disk,inode,...[いろいろ省略]...,lines,mysqlping=ncv" NCV_mysqlping="ms:GAUGE"
hobbitgraph.cfg にグラフ表示の設定を追加。
[mysqlping] TITLE MySQL connect milli second YAXIS milli second DEF:connect=mysqlping.rrd:ms:AVERAGE LINE2:connect#00CCCC:connect ms COMMENT:?n GPRINT:connect:LAST:connect ?: %5.1lfms (cur) GPRINT:connect:MAX: ?: %5.1lfms (max) GPRINT:connect:MIN: ?: %5.1lfms (min) GPRINT:connect:AVERAGE: ?: %5.1lfms (avg)?n
trends に追加する場合は、hobbitserver.cfg に下記を追加。
GRAPHS="la,disk,inode,...[いろいろ省略]...,lines,mysqlping"
参考URL
http://www.umasugi.com/~h070017/hobbit/index_c3_s1.html
ほぼ、ここのパクリ。多謝!