Home > PC・サーバ界隈 > サイト・サーバ関係 > apacheの暴走?

apacheの暴走?

最近うちのLinuxサーバにトラブルが発生しました。

症状としてはインターネットへのアクセスが出来なくなるというものです。内側からも外側からも。

その時のtopを出すと
○○○○○ apache ○○ ○ ○○○○ ○○○○ ○○○ R 0.3 0.1 00:23.05 std
みたいな形になっていました。apacheユーザが「std」というコマンドを実行してる?ルータのアクセスランプは激しく明滅し、内部から自分のサイトを見ようとしても外部のサイトを見ようとしてもタイムアウト、同時に外側からも見ることが出来なくなっているようです。

この現象を解決できたようなので久しぶりにエントリを上げました。
ちなみにサーバの構成は
OS : CentOS 5.8
CPU : Intel Core i3 2.93GHz
Memory : 2GB
PHP : 5.3.8
apache : 2.2.3
MySQL : 5.5.17
Postfix : 2.3.3
bind : 9.3.6
vsftpd : 2.0.5

というところです。pearなども入れていますね。DNSは内向きに作成、外部からのアクセスは閉じています。LAN上のマシンからサーバに載せたサイトをドメイン名でアクセスするためです。

psコマンドで見ると

PID TTY STAT TIME COMMAND
27770 ? S 157:43 ./std 95.76.142.171 113

こんな感じ。とりあえずこのPIDをkillすれば復活はするのですが、しばらくするとまたこのプロセスが復活して止まってしまいます。これが発生するとhttpdが動かなくなるだけではなくあらゆるインターネットアクセスが止まるので、スカイプなども死にます。

いろいろと試しました。
まずapacheがDNSにみょんなアクセスを出してそれが解決できずに暴走している可能性を考えました。bindの設定ファイルを見直し、ログ(named、httpd、secure、messagesなど)を取ってながめ、cgiやphpプログラムを見て変なアクセスを出しているものがないか調べ、不要なサービスを止めました。うちにはもう一台Linuxサーバがあり、こちらでもhttpdやbindが動いていた(以前は使っていたが今は使用していない)のでそれが悪影響を与えている可能性を考えて停止しました。iptablesの設定を見直し、ルータやケーブルも調べました。

psコマンドの113、という数字が気になり、113番ポートの扱いをrejectにすればいいんじゃないかと考えましたがそれはすでに対策されていました。もちろんpostfixの設定なども見直しました。メール送受信のタイミングと暴走のタイミングがずれていたため関係ないとは思ったのですが念のためです。

SSL、ipv6の設定、Serene bachのアップデート、OpenPNEの設定などとにかく出来ることは全部やりました。

しかしどういう方法を取ってもダメでした。もちろんgoogle検索は様々なキーワードで調べました。「apache std」を初めとして思いつく限りのキーワードで検索しましたが役に立つものはなし。しかしやっとこんなページに辿り着きました。
LinuxQuestions.org
ここに同じような話が出ています。ですが最終的に「俺も同じことがあったわ」みたいな事になっていて解決していないような。一度はここで諦めたのですが、一番下の「similar problems」をクリックしてみたところ……
http://www.howtoforge.com/forums/archive/index.php/t-35173.html

till氏の指摘「それはapacheじゃなくて他のプログラムがapacheユーザとして実行してるやつだぜ」

なんですと?

そして一番下の書き込みです。
「crontab -u apache -e を実行してこのcronjobを削除した。さらに/tmpの中身を削除して、さらにcron.denyにapacheを追加してrebootした。12時間経ったけど問題ない!」
この通りにしてみました。すると!

か・い・け・つ!

まあ実際にはcron.denyにapacheを追加するのを怠っていて「なんだこれもダメか」と思っていたのですが、それをしたらもう二日ほど異常なしです。ふうう〜……。

今まではこのような問題はなく、一ヶ月ほど前から出だしたのですが、特にこれといった変更はしていないような……なにが原因だったのかよくわからないのですが、とにかく解決して副作用もないようなので(apacheでcron回すこともないですし)同様のトラブルで困っている人がいたらなにかの助けになるかと思い、エントリを上げておきます。

※後日追加
また同じ症状が発生し、今度は「ps alx」でプロセスを追ったところ、問題の暴走?プロセスを呼び出しているcrondのプロセスが生きていました。これをkillして今度こそ問題解決です。


0 48 636 3572 15 0 1748 488 - R ? 0:05 ./std 217.23.74.142 0
1 48 3572 1 15 0 2056 788 - Ss ? 0:00 crond

こんな感じになっていたのでtopから3572をkillしました。killコマンドでもOKですけど。

Comments:0

コメントはありません。
Comment Form
Remember personal info

Trackback:0

TrackBack URL for this entry
http://diary.ryanac.com/sb.cgi/569
Listed below are links to weblogs that reference
apacheの暴走? from 凉武装商隊日誌
トラックバックはありません。

Home > PC・サーバ界隈 > サイト・サーバ関係 > apacheの暴走?

Search
Feeds

Page Top