2010年12月18日土曜日

Apache のアクセスログの時刻の精度をマイクロ秒にする

Apache は mod_log_config の LogFormat ディレクティブによってログに出力する情報をコントロールできますが
リクエストを受けた時刻の精度は秒までです。
リクエストを処理するのにかかった時間は %D を使うことでマイクロ秒で出力できますが、時刻は 2.3 以降でないと
mod_log_config だけでは出力できません。

ところが mod_headers を利用することでリクエストを受けた時刻をマイクロ秒で出力することができます。

RequestHeader set REQUEST_TIME %t
とヘッダーをセットし、LogFormat%{REQUEST_TIME}i を追加することでそこに
t=1292511600011332
と出力されます。

より精度の高いアクセス時刻の必要な人はお試しあれ。

2010年12月4日土曜日

Postfix で特定のドメイン宛ての同時接続数を制限する

Postfix で smtp relay 時の同時接続数を制限するには
smtp_destination_concurrency_limit
の値で設定しますが、携帯宛てなど、特定のドメインのみ同時接続数をさらに制限したいときの設定方法です。

まず、master.cf で
smtp          unix - - n - - smtp
をコピーして
smtp-docomo   unix - - n - 1 smtp -o smtp_destination_concurrency_limit=1
smtp-au       unix - - n - 1 smtp -o smtp_destination_concurrency_limit=1
smtp-softbank unix - - n - 1 smtp -o smtp_destination_concurrency_limit=1
という行を追加して、postfix を再起動。smtp_destination_concurrency_limit を 1 で上書きして起動させられるプロセス数の上限を 1 にしているのがポイント。
transport_maps
に指定してあるファイル(CentOS では /etc/postfix/transport)に
docomo.ne.jp    smtp-docomo
ezweb.ne.jp     smtp-au
.ezweb.ne.jp    smtp-au
softbank.ne.jp  smtp-softbank
.vodafone.ne.jp smtp-softbank
を追記して postmap transport

2010年12月3日金曜日

Server Administrator なしで DELL の Service Tag を確認する

古い機種では yum で Server Administrator がインストールできなかったりして PowerEdge のモデル名やサービスタグ(もはやサポートしてくれませんけどね)をどうやって確認しようかとおもったらあるんですね BIOS から取得する方法。

dmidecode (DMI table decorder) というコマンドです。

引数なしで実効すると大量に出力されるのですが、「-s キーワード」をつけて実効すればピンポイントで取得できます。

# dmidecode -s system-product-name
PowerEdge 850


# dmidecode -s system-serial-number
BLBB***

DELL の Server Administrator を yum でインストール

DELL の Linux サポートについては linux.dell.com を参照。英語ですが ML もあります。

次のコマンドで yum のリポジトリを設定すれば Server Administrator を yum でインストールできるようになります。

Dell Linux community-supported repository
wget -q -O - \
http://linux.dell.com/repo/community/bootstrap.cgi \
| bash


Dell OM Linux Repository
wget -q -O - \
http://linux.dell.com/repo/hardware/latest/bootstrap.cgi \
| bash


latest を使うと yum update で勝手に新しいバージョンがインストールされます。
新しいバージョンになるとうまく動かなくなるので心配な場合は latest 部分を OMSA_6.1 などに書き換えて実効すればバージョンを固定できます。
(yum でロックもできますけどね。)

これで、
yum install srvadmin-base
すれば omreport や omconfig が使えます。

ハードウエアRAIDを利用している場合は
yum install srvadmin-storageservices
で、omreport storage xxx で RAID の情報が見れたり omconfig で設定変更できたりします。

ハードウエアのモデルや Service Tag を確認するだけなら getSystemId コマンドが手軽。
# getSystemId
Libsmbios version:      2.2.26
Product Name:           PowerEdge 850
Vendor:                 Dell Computer Corporation
BIOS Version:           A03
System ID:              0x01B6
Service Tag:            BLBB***
Express Service Code:   2523338****
Asset Tag:             
Property Ownership Tag:
これだけなら DELL のツールをインストールするまでもないんですけどね。