Linuxの最近のブログ記事
サーバを立てる用事があったので、プロセス監視ツールとしてMonitを入れてみました。
環境はCentOS5なので、以下のサイトを参考にyumでさくっとインストール。
グローバル設定は、/etc/monit.conf に記述します。デフォルトでは全てコメントアウトされているので必要なものを生かします(後述のサービス毎にも設定できます)。
とりあえずテストなので、監視間隔を1分(デフォルト2分)、アラートメールが届くように変更。
set daemon 60
set alert user@yourdomain.com
続けてサービス設定として、Apacheが落ちてたら再起動する監視設定を追加してみます。
デフォルトでは/etc/monit.d/下の*.confファイルを読みにいくようになっていて、そこに/etc/monit.d/httpd.conf のようなファイルを作ります。
check process apache
with pidfile "/var/run/httpd.pid"
start program = "/etc/init.d/httpd start"
stop program = "/etc/init.d/httpd stop"
if failed port 80 protocol http then restart
で、Monitを起動。
/etc/init.d/monit start
手動でApacheを停止させた後、netstatなどで監視していると自動で立ち上がることが分かります。素晴らしい!
サービス設定においてアクション(start、stopの行)やテスト項目(if ~の行)の組み合わせで、いろいろな設定を作れるようなので、また試してみたいと思います。
なお、Monitのマニュアルに設定のサンプルが多く出ています。
RedHat ES3で運用しているサーバのディスク容量が足りなくなり、USB外付けHDDを増設して暫定対応した件のメモ。
外付けHDDはRAID5も対応している、バッファローのHD-QS1.0TSU2/R5を選択。
サーバのUSBポートにHDDを接続すると、何やら認識している様子がコンソールに流れます。
以下のコマンドで認識したか確認する。
# lsusb
なお、Linux上でUSBデバイスはSCSI機器として認識されるので、以下のような確認も可能。
# cat /proc/scsi/scsi
「Bus 001 Device .... Melco, inc.」 のようにHDDが確認できていました。
続けて、どこに認識されているか調べます。
#dmesg
「sda : sdb1」という記述があったので、今回はsdb1に認識されたようです。
sdb1をHDDをマウントします。
# mkdir /mnt/usbhdd
# mount -t vfat /dev/sdb1 /mnt/usbhdd
dfでマウントも確認できました。
一応、ベンチマークをチェックしてみます。
# hdparm -ft /dev/sdb1
「... 56MB in 3.00seconds = 18.67MB/sec」という結果で、149.36Mb/s出てますのでUSB2.0が生きているようです。
OSのカーネルが2.4系で、2.6系からでないとUSB2.0対応じゃないとどこかで目にしていたのでこれは嬉しい誤算!
/etc/fstabに設定を記述して、OS起動時に自動でHDDをマウントするようにしておきます。
/dev/sdb1 /mnt/usbhdd vfat auto,user,exec,uid=500,gid=500 0 0
(ID:500のユーザをオーナーとしてマウントするようにしました。)
サーバを再起動して、HDDがマウントされていることを確認。
これでしばらく様子を見ます。
作業中、HD-QS1.0TSU2/R5のファンが止まっていることに気付き「初期不良?」と一瞬焦りましたが、動作温度を検知して回転を自動でON/OFFする機能を持った製品だったようです。賢いなー。