サーバの不調
子供を連れて遊びに出ている中、サーバの管理ソフトから、 色々と警告が届く。
load averageが、10を超え、プロセス数も増えている。 同じような症状は、数日前にも発生している。(その時は数十分後にreset…)
この雰囲気は、自宅サーバのマザーボードあたりが 不調と思われる。
自宅に戻り、サーバを確認するが、コンソールには何も表示されない。 再起動時の fsck も、簡単に終わったし、HDDではないと思われる。
前回のサーバ更新
前回のサーバ更新は2010年からすると、ほぼ5年目。 マザーボードあたりが壊れても仕方がない時期ではある。
そろそろ次のマシンを物色するかな…。
LOG
Service: Current Load State: WARNING Host: localhost Address: 127.0.0.1 Date/Time: Tue Sept 1 04:39:17 JST 2015 WARNING - load average: 7.44, 4.97, 2.46 Service: Current Load State: CRITICAL Host: localhost Address: 127.0.0.1 Date/Time: Tue Sept 1 04:44:17 JST 2015 CRITICAL - load average: 11.96, 9.23, 4.97 Service: No-DHCP State: CRITICAL Host: homespot Address: 192.168.11.201 Date/Time: Tue Sept 1 05:17:37 JST 2015 CRITICAL - Plugin timed out after 11 seconds Service: Total Processes State: WARNING Host: localhost Address: 127.0.0.1 Date/Time: Tue Sept 1 06:27:57 JST 2015 PROCS WARNING: 320 processes
Service: No-DHCP State: CRITICAL Host: homespot Address: 192.168.11.201 Date/Time: Mon Sept 7 11:04:48 JST 2015 CRITICAL - Plugin timed out after 11 seconds Service: Current Load State: CRITICAL Host: localhost Address: 127.0.0.1 Date/Time: Mon Sept 7 11:07:08 JST 2015 CRITICAL - load average: 10.81, 6.52, 2.91 Service: Total Processes State: WARNING Host: localhost Address: 127.0.0.1 Date/Time: Mon Sept 7 12:27:48 JST 2015 PROCS WARNING: 309 processes Service: Total Processes State: CRITICAL Host: localhost Address: 127.0.0.1 Date/Time: Mon Sept 7 14:42:48 JST 2015 PROCS CRITICAL: 461 processes
LinuxでOneDriveを使う(onedrive-d)
職場では、OneDriveなどの方が便利でもあるため、 Linux環境にonedrive-dを入れてみた。
以下は、インストールまでの方法…。といっても、 githubの説明そのまんま。
((ダウンロード)) $ git clone https://github.com/xybu/onedrive-d.git $ cd onedrive-d ((インストール)) $ sudo aptitude install python3-setuptools $ sudo python3 setup.py install $ sudo python3 setup.py clean ((初期設定の作成)) $ mkdir ~/.onedrive $ cp ./onedrive_d/res/default_ignore.ini ~/.onedrive/ignore_v2.ini $ sudo touch /var/log/onedrive_d.log $ sudo chown `whoami` /var/log/onedrive_d.log
((OneDriveへのアクセス許可)) $ onedrive-pref URLが表示されるのでブラウザにコピー&ペースト そのページにアクセスするとOneDriveの認証が表示されるので アクセス許可を与える。 最終的に表示されたページのURLを、コマンドラインにペースト 後は、ディレクトリ名などを聞かれるので必要に応じて設定。

((使ってみる)) $ onedrive-d start
ただ、使ってみると、Linux版のDropboxなどと比べると、同期がかかるまでが遅い。 また、バージョンの低いDebianだと、onedrive-d がうまくインストールされない。
うーん、この状態であれば、まだ Dropbox の方が使いやすいな。 ひとまず、自宅サーバでOneDriveのバックアップ処理様に使う程度かな。
サーバ証明書の監視
職場サーバで、SSLのサーバ証明書の発行の仕組みが変わったため、 証明書が失効となってしまった。このおかげで一部サービスが動かなかったので、 反省としてサーバ証明書の監視をやってみた。
(( /etc/nagios-plugins/config/https-cert.cfg )) # 'check_https_cert' command definition define command{ command_name check_https_cert command_line LANG=C /usr/lib/nagios/plugins/check_http --ssl --certificate 50 -H '$HOSTADDRESS$' -I '$HOSTADDRESS$' } (( /etc/nagios3/conf.d/xxx_nagios2.cfg )) define host{ use generic-host host_name host-xxx alias host-xxx address xxx.example.com check_command check_http normal_check_interval 10 retry_check_interval 2 notification_interval 10 } define service{ use generic-service host_name host-xxx service_description CERT check_command check_https_cert normal_check_interval 120 ; 2時間周期で十分だろう retry_check_interval 10 notification_interval 120 }
Linux-4.0 入れてみた
Debian/unstable に linux-4.0 が出てきたというので、 特に必要性もないけど、メジャー番号が変わった記念…
# uname -a Linux perrine 4.0.0-1-amd64 #1 SMP Debian 4.0.2-1 (2015-05-11) x86_64 GNU/Linux
squidの異常….
今朝は、子供から「ネットワーク繋がらない」のクレームで 起こされる。学校に行くちょっとの時間にネットで遊んでいるんだけど、 最近のパソコンのトラブルもあって、「ネット切断」には いち早くクレームを入れてくる。
原因を調べると、ハードディスクの容量不足で様々なソフトの動作に 悪影響が出ている様子。次に容量不足の場所を確認すると、 "/var/log/squid/cache.log"に延々と以下の様なログが残っている。
2015/03/10 07:55:49| httpAccept: FD 18: accept failure: (22) Invalid argument 2015/03/10 07:55:49| comm_accept: FD 18: (22) Invalid argument
調べてみると、SYN-Flood DoS アタックを受けているとか 説明が出ているけど、squid 関連のポートは外部に閉じているし、 対外アクセスのグラフでも特に異常なトラヒックは出ていないので、 たぶん関係ないと思う。
実は昨日、"aptitude safe-upgrade"を実行したら、 linux-image-3.16.0-4-amd64 の更新がかかったので、夜中の1時に rebootを実行させて、その時点からのLOG肥大。
crtmpserverとproxyポートの取り合いが原因か…
原因がsquidと判明したけど、我が家のsquidは子供のコンテンツフィルタのために、 ややこしい設定なので、これが原因かとsquid3を入れてみた。 でも、ソケット使用中みたいなエラーでうまく動かない。
でも、よくよく考えたら昨日、動画配信サーバの実験をしたかったので、 crtmpserver をインストールしたのを思い出す。"aptitude remove crtmpserver" をしたら普通に動き出したので一安心。
だけど、ポート競合してるんなら素直にエラー吐いて止まってくれよ…
メールの配送が止まってると思ったら
何気に自宅サーバにてメールが流れていないことが判明。 メールキューをみたら、nagiosなどのメールが溜まっている。
設定を確認していたら、DNSが動いていない。でもnslookupは動くぞ…。 よくよく確認すると、/etc/resolv.conf が空っぽ。 以前にも同様のトラブルがあったけど、NetworkManager がresolv.confを 編集しているのが原因。
以前の場合には、"aptitude remove network-manager" で消したけど、 最近は、依存しているパッケージが多く、消すに消せない。
そこで、改めて NetworkManager を調べると、"dns=none"という 設定があるみたい。
(( /etc/NetworkManager/NetworkManager.conf )) [main] + dns=none plugins=ifupdown,keyfile [ifupdown] managed=false
(追記)resolv.confの書き換えチェック
別トラブルでサーバの再起動がかかったら、Proxyサーバの動きが変。 原因を確認したら、今度は resolvconfパッケージが、これまたresolv.confを触っていて、 サーバの内向けDNSを、ルータDNSに勝手に書き換えている。 ということで、"aptitude remove resolvconf"してから、改めて /etc/resolv.conf を手作業で編集。 こいつは、サーバ機なんだから、resolv.conf 勝手に触るなよ….
めったにないとは思うけど、無駄に悩みたくないので、nagiosで監視させよう。
(( /etc/nagios-plugins/config/local.cfg )) define command{ command_name check_dig_match command_line /usr/lib/nagios/plugins/check_dig -H '$HOSTADDRESS$' -l '$ARG1$' -a '$ARG2$' } (( /etc/nagios3/conf.d/localhost.cfg )) define service{ use generic-service host_name localhost service_description DNS check_command check_dig_match!<自宅内ドメイン>!<自宅内サーバIPアドレス> }
でもなぁ、こんなパッケージの設定ミス対策のチェックをあちこち書き込んだら、 設定を変更するときに、2重管理してるのと一緒だしなぁ…意味ないかな。
amavisの設定も
先日、SPAMフィルタのpostgrey(ホスト名でフィルタ)の設定を 見直したが、まだメールが配送できなくなり 今度は、コンテンツフィルタのamavisの設定を見直した。
(( /etc/amavis/conf.d/50-user )) @local_domains_acl = ( ".$mydomain" , # 自宅外ドメイン ".xxxxx.net" , "xxxxx.net" , ) ; (( amavis 再起動 )) /etc/init.d/amavsi restart
postgreyのトラブルでメールが止まる
自宅で立ち上げているメールサーバで、 spamなどでrejectされるメール流量が減っていると思ったら、 普通のメールさえ流れていないことが判明。 エラーメッセージを見ると postgrey が原因っぽい。
かといって、"telnet localhost 10023"とかでも、postgreyは普通に動いている様子。 色々と調べてみたが、perl のバージョンアップの影響かも。
自宅blogの記事で、数年前にpostgreyを入れた時には、起動オプションが"–inet=10023"だと、 IPv6を使おうとすることで失敗していたことが解り、"–inet=127.0.0.1:10023" と設定していた。しかし、改めて最近のpostgrey設定記事を 探すと、前者の設定が多い。 そこで、改めて"–inet=10023"に変更したら、動き出す…
(( /etc/default/postgrey )) POSTGREY_OPTS="--inet=10023"
BuffaloルータのsyslogをDebianサーバで記録
以前から、ルータWZR-1166DHP2の状況のモニタのために、syslogの設定をしようとしたけど、 ファシリティなどの値が分らず失敗していたので、改めて設定したのでメモを残す。
記録側のDebianサーバのsyslogの設定
Debianサーバのrsyslogを受信状態にするために、 udp の 514 ポートを受信状態に設定する。
(( /etc/rsyslog.conf )) $ModLoad imudp $UDPServerRun 514
Buffaloの家庭用ルータであれば、syslog の出力ファシリティは、 ここによれば、Local1 となっているので、以下の設定を追加する。
(( /etc/rsyslog.d/local1.conf )) local1.* /var/log/local1.log
これだけでは、ファイル local1.log が肥大化するので、 logrotate の設定を行う。
(( /etc/logrotate.d/rsyslog )) : /var/log/debug /var/log/messages + /var/log/local1.log { rotate 4 weekly :
最後に、設定を反映させる。
(( 設定を反映 )) $ sudo /etc/init.d/rsyslog restart
Buffaloルータ側のsyslogの設定
管理-ログ-syslog設定にて、syslogサーバの欄にサーバIPアドレスを設定する。

(注意) LOGでのルータアドレスの逆引きとか不要かと思い、/etc/default/rsyslog に、”-x”とかの オプションをつけて再起動とかしたけど、設定が反映されない。 “ps ax | grep rsyslog”などを実行しても、”-n”のオプションしかついていない。 よくよく考えると、systemd が入っているので、/etc/systemd/system/syslog.service にて、 “ExecStart=/usr/sbin/rsyslogd -n”と記載されている。 ここを変更すればとは思うけど、「個人的設定の都合」でこの辺のファイルを書き換えるのは、 Debian流じゃないように思えないので、書き換えを躊躇している。
# systemd で全容が把握できていないだけなんだけど…