トップ «前の日(01-30) 最新 次の日(02-01)» 追記

ぽっぺん日記@karashi.org


2004-01-31(Sat) 晴れ この日を編集

_

7時すぎ。

今日も出勤だけども、ちと遅刻。

_ パーツ整理

ルータマシンを組みべく、死蔵してあったパーツを出してきて、動作チェックしてみた。

うむむ。Duron1個が動かん。焼いちまったか? とりあえず、他のもんは動いたので後日、もう一回確かめよう。*1

*1 「いまさら」なCPUなんで捨てちまってもいいんだけど、もったいないしなー。

_ Skype

あまりインターネット電話(っていうのか?)には興味がなかったのだが、otsuneさんの影響を受けて会社のPCにインストールしてみた。

ほほぅ。確かに設定いらずで、これは便利だわ。こういった方面にあまり詳しくない家族友人知人にも勧められますな。


2005-01-31(Mon) この日を編集

_

いつも通りに起床。

_ 入門 オブジェクト指向設計―変更に強く生産性が高いシステムを(今野 睦/滝沢 克泰) 入門 オブジェクト指向設計―変更に強く生産性が高いシステムを(今野 睦/滝沢 克泰)

大規模な開発とかしてる人には常識なのかもしれんが、俺のようなヘタレには目から鱗が落ちまくりな内容。

今まで適当に技術書を読んできたせいで、読んだのは良いが、ただ読んだというだけで、それをどう自分の仕事に適用すればいいのか、今ひとつ分からなかったのだが、これを読んで、やっと一つの形として見えかけてきたような感じ。うまく説明できんけど。

とりあえず、個人的には買って良かったと心から思っている。

_ bsfilter

俺の環境だと、spam-cutoffは0.5くらいがちょうど良さげ。

今のとこ、海外からのspamメールはほぼ100%、正確に判定してくれている。

日本語のspamはクリーン・メールと判定してしまう傾向があるようだが、これはまだサンプルが少なくて学習が足りないせいだろう、たぶん。

_ 明日から繁忙期に入るので早く寝る

あー、1ヶ月ちょいの間、激戦だなー。


2006-01-31(Tue) この日を編集

_ できごととか雑感とか

  • ほぼ丸1日中、月末の事務処理を消化。
  • 明日から繁忙期ですよ! うへ。

2007-01-31(Wed) この日を編集

_ gmirror簡易監視用Nagiosプラグイン

gmirrorがちゃんと動いているかどうかNagiosで確認したくなったので、プラグインをググってみたけれど見付からない。

ってことで、Perlの習作も兼ねて書いてみた(smarttoolsがあれば充分なんだけど)。

ただ単に

# /sbin/gmirror status -s

の結果を取って、DEGRADEDが出たら、CRITICALを送っているだけ。めちゃくちゃ簡単で申し訳ない。m(__)m

簡単すぎて役に立たないと思うけど、ツッコミを頂ければ幸いです。

check_gmirror:

#!/usr/local/bin/perl

use warnings;
use strict;
use Getopt::Long;
use Readonly;
use lib "/usr/local/libexec/nagios";
use utils qw(%ERRORS &print_revision &support);

Readonly my $PROGNAME => 'check_gmirror';
Readonly my $REVISION => 'Revision: 0.0.1 $';
Readonly my $GMIRROR  => '/sbin/gmirror';
Readonly my $GMIRROR_ARGS  => 'status -s';

my ($opt_h, $opt_V);
my ($result, $message, @status);

Getopt::Long::Configure('bundling');
GetOptions(
    "V"   => \$opt_V, "version" => \$opt_V,
    "h"   => \$opt_h, "help"    => \$opt_h,
);

if ($opt_V) {
    print_revision($PROGNAME, $REVISION);
    exit $ERRORS{'OK'};
}

if ($opt_h) {
    print_help();
    exit $ERRORS{'OK'};
}

$result = 'OK';
$message = q{};

# Check gmirror command
if ( !( (-f $GMIRROR) && (-x $GMIRROR) ) ) {
    $message = "$GMIRROR is not executable";
    $result = 'WARNING';
}
else {
    my $return_val = system("$GMIRROR $GMIRROR_ARGS >/dev/null 2>&1");
    if ($return_val != 0) {
        $message = "Error while calling $GMIRROR";
        $result = 'WARNING';
    }
}

if ($result ne 'OK') {
    print "GMIRROR $result: $message\n";
    exit $ERRORS{$result};
}

# Check gmirror status
@status = `$GMIRROR $GMIRROR_ARGS 2>/dev/null`;

STATUS:
for my $line (@status) {
    chomp $line;

    if ($line =~ m{COMPLETE}xms) {
        $message = append_message($message, $line, q{|});
    }
    elsif ($line =~ m{DEGRADED}xms) {
        $result = 'CRITICAL';
        $message = append_message($message, $line, q{|});
    }
}
print "GMIRROR $result: $message\n";
exit $ERRORS{$result};

sub append_message {
    my($message, $new_message, $delimiter) = @_;

    if (length $message > 0) {
        $message .= $delimiter;
    }
    $message .= $new_message;
    return $message;
}

sub print_help {
    print_revision($PROGNAME, $REVISION);
    print build_usage($PROGNAME);
    print "\n";
    #support();
}

sub build_usage {
    return <<"END_USAGE";
Usage: $PROGNAME

Options:
  -h,  --help
    Print detailed help screen
  -V, --version
    Print version information
END_USAGE
}

トップ «前の日(01-30) 最新 次の日(02-01)» 追記