2010夏のmemcachedシリーズもいよいよ最後となりました。

1歳8ヶ月のうちの息子も見ていた Shibuya Perl Mongersテクニカルトーク#14「IPAとJPAは違う団体です」でmemcachedの運用について発表をさせていただきました。今回は監視scriptの書き方やcronlog、Nagiosの設定tipsなどの内容にしました。memcachedの監視というよりかは一般的なノウハウ寄りだったかなと

監視の狭間問題の対策としてmemcachedのuptimeを見るscriptを紹介していますが、この問題はmemcachedには限りません。自動的に再起動してくるようなサービスで勝手に再起動した=何か問題が起きたと想定できる、例えばMySQLや /proc/sys/kernel/panic が設定されているLinuxにも同じような監視が必要になるでしょう。

MySQLであれば次のようなscriptで監視ができます。

#!/usr/bin/perl

use strict;
use warnings;
use Getopt::Long;
use DBI;

GetOptions(
   'H=s' => \my $HOST,
   'p=s' => \my $PORT,
   'c=i' => \my $CRIT
);

my $dbh=DBI->connect("dbi:mysql:;host=$HOST;port=$PORT");
if ( !$dbh ) {
    print "Couldnt connect to $HOST:$PORT: $DBI::errstr\n";
    exit(3); ##UNKNOWN
}

my $row=$dbh->selectrow_arrayref(q!show global status like "Uptime"!);
if ( !$row ) {
    print "Couldnt get status: $dbh->errstr\n";
    exit(3); ##UNKNOWN
}

if ( $row->[1] <= $CRIT ) {
    print "Uptime is less than $CRIT / Uptime: $row->[1]\n";
    exit(2); ##CRITICAL
}

exit(0); ##OK

MySQL 4.x とかだと役にたつことがあることもある

さて、2週間後にはいよいよ YAPC::Asia 2010 です。最近ライブドアだけじゃなく某社とか某社でも使われているらしい CloudForecast についてしゃべります。追加発売もしているのでぜひチケット買ってね!!

このブログ記事について

このページは、Masahiro Naganoが2010年10月 1日 11:14に書いたブログ記事です。

ひとつ前のブログ記事は「gumiStudy#2 で memcached の運用について喋ってきた」です。

次のブログ記事は「YAPC::Asia 2010 Tokyo で CloudForecast について喋ってきた」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

ウェブページ

OpenID対応しています OpenIDについて
Powered by Movable Type 4.27-ja