障碍应对系列:Apache
以下是在运行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
确认内存使用量
确认内存使用量。(有两种选择。)
因为需要与正常情况下的数值相比较来确认是否正常,所以需要知道正常情况下的数值。
也可以通过像Zabbix等监视系统进行资源监控来查看。
如果想要每秒检查一次内存使用量的变化,可以这样做
※可以改变,但需要进行计算
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
※ 实际内存使用量 = 已使用内存 – ( 缓冲区使用量 + 缓存使用量 )
-
- kbmemfree: 物理メモリの空き容量
-
- kbmemused: 使用中の物理メモリ量
-
- %memused: 物理メモリ使用率
-
- kbbuffers: カーネル内のバッファとして使用されている物理メモリの容量
-
- kbcached: カーネル内のキャッシュ用メモリとして使用されている物理メモリの容量
-
- kbswpfree: スワップ領域の空き容量
-
- kbswpused: 使用中のスワップ領域の容量
- %swpused: スワップ領域の使用率
如果想要像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]列中[-/+ 缓冲/缓存]的值
※ 上述以MB为单位。
查看磁盘使用量
确认磁盘使用量。确认[使用%]。
如果磁盘使用率很高,可能会触发监控报警,
如果没有进行资源监控(磁盘),最好还是先确认一下。
有时候在某些操作中会创建临时文件,可能会把磁盘填满。
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
查看错误日志
如果正常启动时遇到问题,首先要检查错误日志,确保没有产生异常日志。如果输出了”crit”、”alert”、”emerg”等高于”error”级别的日志,则立即向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证书的路径有误,Apache有时也无法启动。
$ service httpd configtest
Syntax OK