サーバを調査する時にやること(Linux編)

今日から少しずつ書いていきたいと思います。
今回のお題は Linux サーバの調べ方です。
サーバにログインして一から調べなくてはならない事もあると思います。
そんな時の調査方法一例です。

ハードウェア周り(CPU/メモリ/ディスク)

まずはハードウェアの情報です。

搭載されているCPUの情報を調べる

$ cat /proc/cpuinfo
/proc/cpuinfo から、搭載されているCPUが分かります。
ちなみに、CPUが複数搭載されていると、個数分出力されます。

搭載されているメモリ容量を調べる

$ cat /proc/meminfo
/proc/meminfo の MemTotal の値を見ると、搭載されているメモリ容量が分かります。

ハードディスク関連の情報を調べる
  1. $ df -k
  2. $ cat /etc/fstab
  3. $ cat /etc/mdstat

1.の df -k でマウントとディスク使用状況が分かります。
2.の /etc/fstab でも同じような事が分かりますが、こちらでは使用しているファイルシステムが分かります。
ソフトウェアRAIDを使っている場合は、3.の /proc/mdstat から、RAIDの状態が分かります。

OS関連

続いてOS周りの調査です。

カーネルのバージョン

$ uname -a
uname コマンドでカーネルのバージョンを確認できます。

OSブート時の引数

$ cat /proc/cmdline
/proc/cmdline ファイルからOSブート時の引数が分かります。

ユーザ/グループ
  1. $ cat /etc/passwd
  2. $ cat /etc/group

/etc/passwd, /etc/group ファイルからユーザ/グループの情報を調査します。

パッケージリスト

$ rpm -qa
rpm コマンドに -qa オプションを付けることで、インストールされているパッケージ一覧が出力されます。

登録されているサービス

# chkconfig --list
chkconfig コマンドに --list オプションを付けることで、登録されているサービス一覧と、起動レベルごとの on / off 設定状況が分かります。

稼動状況の調査

実際のサーバの稼動状況を調べてみます。

稼動プロセス
  1. # ps -ef
  2. $ netstat -an
  3. # lsof -i

1.の ps コマンドに -ef オプションを付けることでシステムで動いているプロセスが表示されます。
2.の netstat コマンドに -an オプションを付けることで、Listenポートの確認が出来ます。
3.の lsof でも iオプションを付けることで、同じような情報が取れますが、コマンド名やPIDが分かる分、分かりやすいかもしれません。

ネットワーク
  1. # ifconfig -a
  2. $ netstat -nr

1.の ifconfig コマンドで、IPアドレス設定を確認します。
2.の netstat コマンドに -r オプションを付けることで、ルーティングの情報を調査します。

登録されているジョブ

# crontab [ -u user ] -l

crontab コマンドに -l オプションを付けることで登録されているジョブの一覧が分かります。

  • u オプションを付けることで、root 以外の各ユーザも調査します。

ありきたりですが、今日はこんなところで。