Apacheを運用する中で障害時に確認するポイントを列挙します。
プロセス数の確認
Apacheのプロセスが起動しているか確認する。
設定ミスがある場合は起動コマンドを発行しても、プロセスが起動していない場合があったり、
起動コマンドを発行した後のメッセージをよく読まないで作業を進めた場合に、
プロセスが起動していない場合がある。(障害ではなくオペミス)
ps u -C httpd |sed -e '1d' |wc -l
10
CPU使用率の確認
CPUの使用率を確認する。
まずは[%idle]の値が高い事を確認(高いほどリソースが空いている)、
次に、それ以外の値が低い事を確認する。値が高ければ [Top] などで更に調査する。
正常時の数値と比べて正常か確認する必要が有るため、正常時の数値を知っておく必要がある。
Zabbixなどの監視システムでリソース監視を行っているとそちらを見るのも有り。
sar -u 1 100
6Linux 2.6.32-431.3.1.el6.x86_64 (vagrant-centos65.vagrantup.com) 2015年05月14日 _x86_64_ (1 CPU)
22時57分49秒 CPU %user %nice %system %iowait %steal %idle
22時57分50秒 all 0.00 0.00 0.00 0.00 0.00 100.00
22時57分51秒 all 0.00 0.00 0.99 0.00 0.00 99.01
22時57分52秒 all 0.00 0.00 0.00 0.00 0.00 100.00
22時57分53秒 all 0.00 0.00 0.00 0.00 0.00 100.00
22時57分54秒 all 0.00 0.00 0.00 0.00 0.00 100.00
Average: all 0.00 0.00 0.20 0.00 0.00 99.80
メモリ使用量の確認
メモリの使用量を確認する。(2パターンあります。)
正常時の数値と比べて正常か確認する必要が有るため、正常時の数値を知っておく必要がある。
Zabbixなどの監視システムでリソース監視を行っているとそちらを見るのも有り。
1. 1秒毎にメモリ使用量の推移を確認したい場合
※ 推移は取れるが計算が必要
sar -r 1 100
Linux 2.6.32-431.3.1.el6.x86_64 (vagrant-centos65.vagrantup.com) 2015年05月16日 _x86_64_ (1 CPU)
15時44分35秒 kbmemfree kbmemused %memused kbbuffers kbcached kbcommit %commit
15時44分36秒 498300 105276 17.44 13408 40436 66752 3.59
15時44分37秒 498324 105252 17.44 13408 40436 66752 3.59
15時44分38秒 498324 105252 17.44 13408 40436 66752 3.59
15時44分39秒 498324 105252 17.44 13408 40436 66752 3.59
15時44分40秒 498324 105252 17.44 13408 40436 66752 3.59
Average: 498319 105257 17.44 13408 40436 66752 3.59
※ 実質メモリ使用量 = kbmemused - ( kbbuffers + kbcached )
- kbmemfree: 物理メモリの空き容量
- kbmemused: 使用中の物理メモリ量
- %memused: 物理メモリ使用率
- kbbuffers: カーネル内のバッファとして使用されている物理メモリの容量
- kbcached: カーネル内のキャッシュ用メモリとして使用されている物理メモリの容量
- kbswpfree: スワップ領域の空き容量
- kbswpused: 使用中のスワップ領域の容量
- %swpused: スワップ領域の使用率
2. topのように現在のメモリ使用状況を確認したい場合
※ 計算は不要で、”その時”の状態が確認出来る
watch -n 1 free -m
Every 1.0s: free -m Sat May 16 18:57:52 2015
total used free shared buffers cached
Mem: 589 110 479 0 13 43
-/+ buffers/cache: 53 535
Swap: 1224 0 1224
※ 実質メモリ使用量 = [free]列の[-/+ buffers/cache]の値
※ 上記はMB表記
ディスク利用量を確認する
ディスク利用量を確認する。[Use%]を確認。
ディスク使用率が高いと監視でアラートが上がると思いますが、
リソース監視(ディスク)を行っていない場合は、一応確認しておいた方が良い。
まれに何らかの作業で一時的なファイルを作成した際にディスクを一杯にしてしまう事がある。
dh -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda1 7.9G 1.2G 6.4G 15% /
tmpfs 295M 0 295M 0% /dev/shm
vagrant 112G 45G 68G 40% /vagrant
エラーログを確認する
正常に起動している場合、何に問題があるかまずエラーログを確認し、
異常なログが発生していないか確認する。
「error」より上の「crit」「alert」「emerg」などが出力されていた場合は、
即Google先生に質問する。
more /var/log/httpd/*errorlog
[Thu May 14 22:45:28 2015] [notice] suEXEC mechanism enabled (wrapper: /usr/sbin/suexec)
[Thu May 14 22:45:34 2015] [notice] Digest: generating secret for digest authentication ...
[Thu May 14 22:45:34 2015] [notice] Digest: done
[Thu May 14 22:45:34 2015] [notice] Apache/2.2.15 (Unix) DAV/2 configured -- resuming normal operations
confの確認
configが正しいかチェックする。
ただし経験上、[Syntax OK]が出ても、SSL証明書のPathが間違えている場合は
Apacheが起動しないこともあった。
$ service httpd configtest
Syntax OK