Help us understand the problem. What is going on with this article?

WEBサーバで障害が発生した際に確認すべき事

More than 1 year has passed since last update.

WCDI Advent Calendar 7日目
前の記事
次の記事

インフラ系企業のインターンを経て学んだ事をメモしておきます。

WEBサーバの障害発生時に確認すべきこと 

考えられる原因

  • WEB
    • Max Clientsに達した
    • ApacheなどのWEBサーバが停止している
    • 80番ポートに対する攻撃があった
  • DB
    • Max Connectionsに達した
    • MySQLなどのDBシステムが停止している
    • DBの応答遅延
  • その他
    • 名前解決が出来ていない
      • ドメインの失効など...

やること

サイトが正常に表示できるか

ドメインで確認

この方法でサイトが表示されない場合は何らかの問題が発生していると考えられる。

http://www.example.com

ポートを指定して確認

ポートを指定してあげなければ接続できないような場合は、http,httpsのポート番号がウェルノウンポートから外されている可能性が高い。意図的にそうされているようであれば対処の必要は無いが、そうでない場合は元のポート番号(http:80, https:443)に戻してやる必要がある。
(※以下で指定するポート番号はあくまでも例。状況によって変える必要あり。)

http://www.example.com:8080
https://www.example.com:1443

IPアドレスで確認

ドメインでは表示されないが、IPアドレスでは表示されるといった場合は、WEBサーバはキチンと動いているが名前解決が出来ていない可能性が高い。この場合、ドメインが失効していないか、またはDNSサーバで障害が発生していないかを調べなければならない。

http://192.0.2.0/

接続状況

pingの疎通確認

指定したサーバまで正常に繋がらない場合、サーバそのものが停止しているか、ネットワークに何らかの問題があると思われる。

$ ping 192.0.2.0

traceroute

pingで正常に繋げることが出来なかった場合、tracerouteコマンドを用いて正確な経路の状況を把握する。特定の経路で遅延または障害が発生していないかを調べる。

$ traceroute -T -p 80 192.0.2.0

WEBサーバ内で確認すべきこと

プロセスの状況確認

$ ps auxf | grep httpd
$ ps auxf | grep mysqld

各サービスのネットワーク接続状況を確認

httpd : 80, 443
mysqld : 3306

$ netstat -antp | grep :80
$ netstat -antp | grep :443
$ netstat -antp | grep :3306

ログを確認

アクセスログ

less /var/log/httpd/access_log

エラーログ

less /var/log/httpd/error_log

Max Clients/Max Connections

Max Clients

httpd.conf内に記載されている。このファイルの位置はOSによって変わることもあるので注意。

$ less /etc/httpd/conf/httpd.conf

Max Connections

MySQLを起動後

show variables like 'max_connections';
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away