MRTGでpopアスセス数と受信通数の表示(その2)

前回、我が家のメインサーバーにあるメールサーバーに対して、メーラーでどの程度アクセスし、何通のメールを受信しているかをMRTGで表示させるツールを作ろうとおもったが、汎用的なツールを作るには、かなり労力が要りそうなので、前提条件を絞った本当にローカルなツールを作ってみた。

まず前提条件として、メーラーの設定で、サーバーにはメールを残さないよう設定すること。

こうすることで、

Jul 29 20:51:32 royalblue popper[28072]: Stats: user 1 26182 47 531608

の様に出力されるqpopperのログの中の、「user」の後に続く、削除した通数をカウントすることで、受信した通数に置き換えることができる(と思う)。

そうすることで、以下の様なperlスクリプトでアクセス数と受信通数とを取得できる。

$access = 0;
$receive= 0;
open(FILE,"/var/log/POP.log");
while () {
    if(/Stats/){
        $access++;
        @w1 = split(':',$_);
        @w2 = split(' ',$w1[4]);
        $receive += $w2[1];
    }
}
close(FILE);

qpopperのログを順次読み込み、ステータスが「Stats」の行なら正常にアクセスできたログだと判断し、「:」で行を分解。

必要なのは、ユーザ名から始まる文字列の2つ目の数字なので、「:」で区切った5番目の文字列を、更に空白で分割し、2番目の文字列、すなわち、削除した通数を取り出すことにした。

結果として、$accessにはメーラーがメールを取りに行った回数が、$receiveには読み取ったメール通数得られた事になる。

このロジックを使って、実際にMRTGで表示可能なスクリプトの作成を行ってみる。

結果は後日・・・・

MRTGでpopアスセス数と受信通数の表示

先日来からメインサーバーのMRTGの修正等を行ってきたが、このメインサーバーのMRTGでは、

(1)ロードアベレージ
(2)メモリ使用量
(3)ディスク消費量
(4)ネットワークトラフィック
(5)STMP送受信数
(6)POPアクセス数

(1)から(4)については、雑誌等を参考にして自宅サーバー用にローカライズして作ったものを運用してきた。

(5)と(6)は、昔、某ISPに出稼ぎに行かされていた時に、そのISPで使っていたスクリプトを借用して自宅用に改造したものを運用している。

POPのアクセス数だが、数千のユーザがアクセスするISPでは、正常にアクセスできているか、エラー発生状況はどうか。と言った状況把握のためのツールのため、自分しかアクセスしないサーバーでは、あまり意味が無い。

今になって、ふとそんな事に気がつき、最近、広告メールも多くなってきたことだし、普段、何通ほどのメールを取り込んでいるかを表示できないか、考えて巻いた。

qpopperが出力するログ

Jul 27 22:31:32 royalblue popper[28072]: Stats: user 1 26182 47 531608

ログの内容は、アクセス日時、サーバ名、プロセス、ステータス、ユーザー名、削除したメッセージ数、削除したバイト数、サーバに残っているメッセージ数、サーバーに残っているバイト数が記録されている。

現在は、ステータスの内容、Stats or ERRの回数を表示させているが、これを Statsの回数をアクセス数、削除通数を受信通数としてカウントし、改造すればいいと思う・・・

Perlスクリプトでプログラミングしてあるのでそれ程難しくはないと思うが、しばらくプログラミングしていないので、土日にでも改造してみよう。

Jail環境のアップグレード(続き)

昨夜は、外部公開しているjail環境のWebサーバーをアップグレードした。
1日経過して、特にトラブルは無かった。
今夜は、同じくJail環境のメールサーバーをアップデートする。
手順は、Webサーバーと同じ。
Webサーバーより、portsでインストールされているアプリケーションが少ないので早く終わると予想したが、それでも2時間超を費やした。
2つのjail環境をアップデート完了したので、実サーバーを再起動し、正常起動の確認を行った。
とりあえず、これでしばらくは運用していく・・・・

Jail環境のアップグレード

メインサーバーのHost環境アップデートから2週間程経過し、致命的なトラブルも無く運用できていることから、Jail環境についてもアップデートすることにした。
Jail環境は外部へ公開しているメイルサーバーとWebサーバーがある。
メイルサーバーがダウンすると一番影響が大きいので、Webサーバーからアップデートする。
jail環境にログインし、ルート権限でportsのダウンロードを実行。
最も大きくバージョンが上がったものに、Perlがある。
Perlは、前回のアップデートの時点で、5.8.8であったが、現時点では、5.14.2になっている。
そこで、最初に5.8.8を「make deinstall」し、5.14のディレクトリ直下で、「make reinnstall」を行って、perlをアップグレードしておく。
/etc/make.conf」にも「PERL_VERSION=5.14.2」が追記されていることの確認も忘れないように・・・
準備が整ったので、/usr/ports配下で、「portupgrade -aO」を実行。
およそ3時間かかってアップグレードを完了。

メインサーバー「OPTIPLEX210L」のCPU変更

我が家のメインサーバーは、中古で購入した「Dell OPTIPLEX210L」上でFreeBSDを動かして運用している。

この「Dell OPTIPLEX210L」はCPUが「Intel®Celeron®D 336,Prescott-256,90nm,1c,2.80GHz,256KB L2,533MHz FSB,84W」で、普段使っている分には性能的に特に不満が無かったが、先日来のOSアップデートやPortsコレクションのアップデートとなると、何時間も時間を費やし、その時ばかりは非力さを感じてしまう。

しかし、外部に公開しているとは言っても、さほどアクセスも無く、ローカルのファイルサーバーとしても、特に不満が無いので、最近のパワー溢れるPCへの更改の必要性も感じていない。

そんな訳で、非力なCeleronで使い続けてきたが、今日、中古ショップで、この機種で動作可能な「Intel®Pentium®4 HT 630,Prescott-2M,90nm,1c,3.00GHz,2MB L2,800MHz FSB,84W」が500円で売られているのを見っけ・・・

早速、購入して交換してみた。

500円のパーツだから、動かなくても・・・・と思いながら、電源ON。
BIOS設定画面を見ると、正常に認識。(BIOSまで行けば当然だが・・)
HTを有効にして、OS起動。

FreeBSDでは2CPUとして認識、64bitにも対応可能なのか、このCPUは。
今度は、64bit版のFreeBSDに挑戦してみなくちゃ・・・・・