ホーム » コンピュータ (ページ 94)

コンピュータ」カテゴリーアーカイブ

システム

最近の投稿

アーカイブ

カテゴリー

Google+を使ってみる

Google が始めたFacebookもどきの"Google+"を試してみる。 Facebookはしないという人でも、"Google+" であれば Google アカウントを 持っていればすぐに使えるので、利用者拡大という意味では、 後発のGoogleとはいえあなどれない。

ついでに、自宅サイトと職場サイトに、"+1"ボタン(Facebookの"いいね" or "Like"ボタン)の設置をしてみた。説明に従い、MovableType にて、下記の設定を埋め込んでみた。

(( 以下のコードは<head></head>に設置 ))
<script type="text/javascript"
src="https://apis.google.com/js/plusone.js">
{lang: 'ja'}
</script>
(( 以下のコードは設置場所に ))
<g:plusone></g:plusone>

んで、この設定を追加している途中で、Facebookのいいねボタンの設置で、 URLの部分のGETパラメータを渡す、変数区切り文字"&"が、 "&amp;"に化けていたので、うまく動いていないことが判明。 早々にこちらも修正&再構築。

arpalertを使ってみる

Wi-Fi経由の勝手な接続などの検出ということで、arpwatchを使っていたけど、 携帯で3G経由で使った後だと、そのアドレスでWi-Fi接続を試すため、 いちいち警告メールが届くのが紛らわしい。 そこで、別のARP監視システムを探してみた。

arpalert は、監視して whitelist とか、発見時のスクリプトを指定できるので、 もう少しきめ細かな警告ができそう。

Debianのパッケージで入れて、警告時に起動するスクリプトに、付属のスクリプトを修正して登録してみた。動かすとサーバ自体の警告メッセージが送られてきた。 原因は、古いサーバとの互換性を考えて、1つのインタフェースに2つのIPアドレスを割り振っているためだった。チェックの度に、2つのアドレスで変わっているとみなされている。 しかたがないので、maclist.allow の最後に、ip_change フラグを付けて、 アドレス変化を無視させる。

(( インストール ))
# aptitude install arpalert
(( /etc/arpalert/arpalert.conf ))
Debianのパッケージをそのまま。
(( /etc/arpalert/maclist.allow ))
xx:xx:xx:xx:xx:xx 192.168.xx.xx eth0
xx:xx:xx:xx:xx:xx 192.168.xx.yy eth0 ip_change
xx:xx:xx:xx:xx:xx 192.168.xx.zz eth0 ip_change
(( /etc/default/arpalert ))
ARGS="-e /etc/arpalert/send_alert.sh"
(( メール送信のひな形をコピー ))
# cp /usr/share/doc/arpalert/examples/scripts/contribs/send_alert.sh /etc/arpalert/
(( /etc/arpalert/send_alert.sh ))
#!/bin/sh
# Intruder MAC address
intruder_MAC=$1
# Intruder IP address
intruder_IP=$2
# Alert Type
intruder_AlertType=$5
# Ethernet Vendor
intruder_Vendor=$6
# Mail recipient
mail_To="root"
date=`LANG=C /bin/date`
# Subject
mail_Subject="[arpalert] IP/MAC alert"
# Body and send mail
cat << EOF | mail -s "$mail_Subject" $mail_To
[arpalert] Intruder Detected
Intrusion time stamp : $date
Intruder IP  Address : $intruder_IP
Intruder MAC Address : $intruder_MAC
Type of alert : $intruder_AlertType
Ethernet Vendor: $intruder_Vendor
EOF

サーバの警告メールが届かないと思ったら…

自宅サーバのnagios3の状況監視の設定を少し変更していたけど、 警告メールが届かない。そういえば、munin の警告メールも届かない。 そういえば、数日前、携帯の迷惑Eメール防止設定を変更したっけ。

受信許可ドメインの設定ついでに、なりすまし規制の設定レベルを (高)を選択したのが原因っぽい。 自宅サーバはDynamic DNSの設定で、丹南ケーブルTVのサーバ経由で メールを送信している。このため『なりすまし』扱いをうけやすいんだった….

perl CPANのアップデート

Debianでパッケージのアップデートで、通常は、"aptitude safe-upgrade"だけど、 時々install時に競合が多いので、久々に"aptitude dist-upgrade"かけてみた。 色々とアップデートされて、よかったけど、時間がたつと、自作perlスクリプトが 動かない。どうも、CPANで入れていた"Net::Google::Calendar.pm"が古いみたい。

google で "perl CPAN アップデート"を実行すると、やっぱり簡単に見つかる。 参考記事を見ながら、以下を実行。

(( アップデート可能なモジュールを一覧 ))
# perl -MCPAN -e 'CPAN::Shell->r'
(( 全部をアップデート ))
# perl -MCPAN -e 'CPAN::Shell->install(CPAN::Shell->r)'

最近は、"aptitude install libXXXX-perl" で確かめて入れていたので、 必要最小限しか入っていないと思っていたけど、やっぱりいつのまにか CPANパッケージたっぷり入ってるな…

うーむ、Perlの更新の余波が…自作スクリプトに、関数呼び出しの do を使ってたのが 残ってた。 『Use of "do" to call subroutines is deprecated at …』なんてエラーが 出て、スクリプトが動かなくなってら…

メールのウィルス除去postfix+amavisd+clamav

気まぐれで自宅サーバの受信メールのウィルス除去の設定。 その前に、自宅サーバ宛のメールなんてめったに来ないけど…

Debian postfix clamav にて見つかったページを参考にする。

(( インストール ))
# aptitude install amavisd-new
(( /etc/postfix/main.cf ))
# amavisd設定
content_filter = smtp:localhost:10024
(( /etc/postfix/master.cf ))
# amavisd設定
127.0.0.1:10025   inet  n - n - - smtpd
-o content_filter=
-o local_recipient_maps=
-o myhostname=localhost

/usr/share/doc/amavisd-new/README.postfix.html を見ると、 amavisfeed とか書いてあるけど、contents_filterのsmtp の欄に amavisfeed とかを 書く設定があるけど、よくわからないんだよなぁ…

Thunderbird 5.0 になったけど

メールソフトのThunderbirdが5.0になった。 Firefoxとバージョン番号の統一で、4.0すっとばし。 でも、公開されたばかりで、多少のトラブル。

まず、プラグインが未対応なのが困る。時間の問題とは思うけど、 Google Contactsがダメ。Gmailの連絡帳の同期がされないのは致命的だ。 それに、ThemeでMacのAqua風のものが未対応。シンプルなテーマがいい。

あと、最近になってようやくIMAP対応になった、yahoo.co.jp をThunderbirdで読んでいるけど、 "[CLIENTBUG] ID is not a valid IMAP Command" なるエラーメッセージが 表示される。IMAPコマンドの実装の不完全さの問題にみえるし、ぐぐれば対応策が すぐに見つかると思ったけど、思ったほどみつからない…


どーでもいいけど、Thunderbird 5号は宇宙ステーションだったか… 小さいころ、プラモデル作ったのを思い出した…

linux-image-2.6.39-2にしたらARPモニタが…

自宅でネットワークに繋がっている機器の モニタリングということで、muninでarpを 観察させていた。 しかし、今回 linux-image-2.6.39-2 が配布されて OSを更新したら、出力グラフの表示のされ方が かわってきた。 arpのデータが廃棄されるまでの時間が延びたみたい。 うーむ….

1106221112_497x388.png

munin-limitsの警告を最小限に…

(2011/7/7追記)どうも、以下のプログラムでは、メール送信プロセスが 正しく終了せず、メール送信プロセスが溜まってしまう。 muninのcontact.XXX.command にスクリプトを書くのはまずいみたい。 "/usr/bin/perl /…PATH…/notify.pl…" とすれば動いた。 どうも、command にスクリプトが書いてある場合"sh -c" してくれているんだけど、 何か不具合があるような…

muninで、USBRTの温度監視ができて、munin-limitで警告メールがだせるようになった。 でも、本来の目的は家猫の体調のためなので、警告温度は34℃ほどに設定したら、 設定温度を越えたら5分おきに、ずーっとメールが届く。 さすがに、職場じゃ大量のメールが届くので、状態が閾値を越えたときにだけメールが欲しい。

メールを送るスクリプトに、warning,criticalのデータ件数をつけて呼び出すようにして、 件数が変化していなければ、メールを送らないようにした。

(( /etc/munin/munin.conf ))
contact.nagios.command \
/usr/bin/perl /etc/munin/my-plugins/notify.pl \ # (7/7修正)
"${var:numwfields}:${var:numcfields}" \
"[Munin] tsaitoh.net" \
携帯メアド

(( notify.pl ))
#!/usr/bin/perl
exit 0 if ( @ARGV < 3 ) ;
my $stat = shift @ARGV ;
my $subj = shift @ARGV ;
my $mailto = shift @ARGV ;
my $last_file = "/var/run/munin/munin.last-stat" ;
my $last_stat = "" ;
# 前回の状態を読み込む
if ( open( FH , "$last_file" ) ) {
$last_stat = <FH> ;
chomp( $last_stat ) ; # chompの使い方間違ってた...
close FH ;
}
if ( $stat eq $last_stat ) {
# 状態の変化がなければ報告しない
exit 0 ;
} else {
# 状態を記録しておく
if ( $stat eq "0:0" ) {
unlink( $last_file ) if ( -f $last_file ) ;
} elsif ( open( FH , ">$last_file" ) ) {
print FH "$stat\n" ;
close FH ;
}
# 報告を送信する
if ( open(FH,"|/usr/bin/mail -s \"$subj\" \"$mailto\"") ) {
while( <> ) {
print FH $_ ;
}
close FH ;
}
}

munin-limitsで警告メール

USBRHで室温監視ができるようになったけど、 暑くなったのに気づかなければいけないので、 munin-limits でメールを送るように設定。

/etc/cron.d/munin-nodeを見ると、警告を送るコンタクト名は”nagios”になっているので、 “contact.nagios.command” に送付先の携帯のメールアドレスを登録することにする。 Debianなら、余計な設定ファイルは細かく触らないに限る…

(( /etc/munin/munin.conf ))
# メールの送り先とSubjectの設定
contact.nagios.command mail -s "[Munin] ${var:group}::${var:host}" 携帯メアド
contact.root.command mail -s "[Munin] ${var:group}::${var:host}" root
# a simple host tree
[localhost.localdomain]
address 127.0.0.1
use_node_name yes
# USBRHの警告範囲
usbrh.tempreture.warning            31
usbrh.tempreture.critical           34
# CPU負荷の警告
load.load.warning                   2.5
load.load.critical                  3.5
# ディスク使用量の警告
df._dev_sdc1.warning                70
df._dev_sdc1.critical               90
df._dev_mapper_lvm_lvm0.warning     70
df._dev_mapper_lvm_lvm0.critical    90
# プロセス総数の警告
processes.processes.warning         300
processes.processes.critical        400
# S.M.A.R.Tの警告文章は大量で長いから報告させない
smart_sda.contacts                  no
smart_sdb.contacts                  no
smart_sdc.contacts                  no

熱くなってきたしUSBRH復活

USB接続の温度・湿度センサーのUSBRHだけど、 新しいサーバに切り替えて、ドライバの認識がうまくいかないので、 外してあった。 そろそろ部屋も暑くなってきたので、気まぐれで復活をさせてみた。 CPU温度やらHDDのS.M.A.R.Tセンサーで大体の温度は測れているけど、 バックアップ処理で急激に温度変化するし、やはりサーバ処理とは関係のない 温度センサーじゃないとだめ…

以前は、 USBRH driver for Linuxを 使っていたけど、x64のせいなのか、ダメ。 USBRH on Linuxを 使ってみた。以前は、どうもデータ取得に失敗していたけど、 今思うと、"USBRH driver…"と競合してただけかもしんない。 あっさりデータ取得に成功する。

継続して温度観察できるように、muninの設定をしてみた。 センサーは1つだけだし、必要最小限のコードにて…
あとは、警告メールの送信機能の設定かな… munin-limitsあたりを参考に、設定をしてみよう。

#!/bin/bash
#%# family=auto
#%# capabilities=autoconf
USBRH="/usr/local/bin/usbrh"
available="yes"
case $1 in
config)
echo "graph_title USBRH Tempreture/Humidity"
echo "graph_category sensors"
echo "graph_vlabel Temp(C) / Humid(%)"
echo "graph_args -l 0 --base 1000"
echo "humidity.label Humidity"
echo "humidity.draw LINE2"
echo "tempreture.label Tempreture"
echo "tempreture.draw LINE2"
exit 0
;;
autoconf)
if [ "$available" = "yes" ]; then
echo "yes"
exit 0
else
echo "no (daemon isn't running)"
exit 1
fi
;;
snmpconf|suggest)
exit 0
;;
*)
;;
esac
# データの読み出し
values=(`$USBRH`)
echo "tempreture.value" ${values[0]}
echo "humidity.value" ${values[1]}

Google 検索

My Google   Yahoo

Microsoft

ファンサイト

メタ情報