自分でサーバーを立てた場合、誰かにサーバーをインストールしてもらった場合、レンタルサーバーを借りた場合などなど、サーバー環境を確認する場面は多くありますが、その中で基本的な確認項目25個をリストアップしてみました。
1. 起動メッセージ
# dmesg
起動時のH/W系のログが出ますので、エラーが出力されていないか(errorなどの文字列をgrep)確認します。
2. syslog
# less /var/log/messages
意味合い的には1.と同様なんですが、S/W系のログも出ますので、サーバーの電源ONから起動までに何らかのエラーが出ていないかを確認しておきます。
3. CPU情報
# less /proc/cpuinfo
CPUの情報が表示されます。
買った(借りた)サーバーが、構成通りか確認ができます。
リアルタイムのCPU負荷を見てみたい場合は
# vmstat
コマンドで、リアルタイムの状況が確認可能です。
4. メモリ情報
# less /proc/meminfo
これも、想定のメモリ構成かを確認できます。
もっと単純に見たい場合は
# free
でもよいですね。
5. PCIバス情報
# lspci -v
PCIバスのスロットとそこにつながっているデバイス情報が表示されます。
6. タイムゾーン情報
# cat /etc/sysconfig/clock - 出力例 - ZONE="Asia/Tokyo" UTC=false ARC=false
インストール時には、選択画面が出てくるので分かりやすいですが、インストール後にタイムゾーンを確認したい場合は、このようにして確認可能です。
7. キーボード情報
# cat /etc/sysconfig/keyboard - 出力例 - KEYBOARDTYPE="pc" KEYTABLE="jp106"
こちらもインストール後に調べたければ、上記のようにして確認できます。
日本語環境の場合、上記のように106キーボードが選択されているはずです。
8. マウス情報
# cat /etc/sysconfig/mouse - 出力例 - FULLNAME="Generic - Wheel Mouse (PS/2)" MOUSETYPE="imps2" XEMU3="yes" XMOUSETYPE="IMPS/2"
あまりインストール後に参照する事は無いかと思いますが、インストール時の情報は上記のようにして確認できす。
9. カーネル情報
# uname -a Linux IS-EMS-TEST01 2.6.9-22.ELsmp #1 SMP Mon Sep 19 18:32:14 EDT 2005 i686 i686 i386 GNU/Linux
カーネルのバージョンが表示されます。
RedHat系のOSの場合、
# cat /etc/redhat-release Red Hat Enterprise Linux ES release 4 (Nahant Update 6)
にて、ディストリビューション情報も確認する事ができます。
10. ホスト名
# hostname
または、
# echo $HOSTNAME
コマンドからホスト名を取得するか、環境変数からホスト名を取得するかの違いになりますが、どちらも元は
/etc/sysconfig/network
のファイルに記載されているホスト名となります。
変更したければ、上記ファイルを編集します。
11. システム・クロック情報
# date
システム・クロックを参照します。
システム・クロックとは
- man dateから引用
これは Linux カーネルの内部に存在している時計で、タイマ割り込みによって駆動されている (ISA システムでは、タイマ割り込み はISA 標準の一部である)。すなわち Linux が起動している間しか動作しない。 システム時刻は UTC 1970/01/01 00:00:00 からの経過秒数である (より簡単に言 え ば 1969 年終了後の経過秒数である)。
12. ハードウェア・クロック情報
# hwclock
ハードウェア・クロックを参照します。
ハードウェア・クロックとは
- man dateから引用
これは CPU 内部で動作しているすべてのコントロールプログラムから独立しており、マシンの電源が OFF のときにも動作している。
13. NTP情報
# ntpd -d
NTPサーバーを利用している場合に限りますが、上記コマンドを実行するとNTPサーバーとの通信状況が確認できます。
参照先を知りたければ
# ntpq -p -出力例- remote refid st t when poll reach delay offset jitter ============================================================================== *XX.XXXXXX.co.jp XX.XXXXX.go.jp 2 u 231 1024 377 1.044 -0.254 0.041
ちなみに、NTPの設定ファイルは
/etc/ntp.conf
にあります。
※ NTPに関しては、下記も参照してみてください。
[Linux] 時刻を正確に合わせるためのNTP設定あれこれ
14. ランレベル
# runlevel N 3
OSの起動レベルです。上記の場合はランレベル3(テキストログインによるマルチユーザーモード)です。
元は、
/etc/inittab
に記載されています。
15. ユーザー情報
# id foo uid=504(foo) gid=506(foo) 所属グループ=506(foo)
指定のユーザー(上記の場合はfoo)のユーザーIDや所属グループが確認できます。
16. DNSサーバー情報
# cat /etc/resolv.conf
DNSサーバーのIPアドレスなどが記載されています。
17. 他ホスト名
# cat /etc/hosts -出力例- 127.0.0.1 hoge hoge.hogehoge.co.jp localhost.localdomain localhost XX.XX.XX.XX foo foo.bar.com
10.では自分自身のホスト名を調べる方法ですが、他のサーバーのホスト名が登録されているか調べる場合に上記hostsファイルが参照されます。
ホストファイルと16.のresolv.confファイルは、# cat /etc/host.conf -出力例- order hosts,bind
で記載された順番で名前解決されます。
上記の場合、hostsファイル → DNSの順番で名前解決を試みます。
18. ACL(アクセス制御リスト)
# cat /etc/hosts.allow # cat /etc/hosts.deny
inetdまたはxinetd経由で起動されるプロセスは、上記のアクセス制御リストに記載の通りにコントロールされます。
19. NIC情報
# ifconfig -a -出力例- eth0 Link encap:Ethernet HWaddr XX:XX:XX:XX:XX:XX inet addr:XX.XX.XX.XX Bcast:XX.XX.XX.XX Mask:255.255.255.0 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:22265504 errors:0 dropped:0 overruns:0 frame:0 TX packets:10004614 errors:18177 dropped:0 overruns:0 carrier:18177 collisions:152951 txqueuelen:100 RX bytes:1603960331 (1529.6 Mb) TX bytes:757889528 (722.7 Mb) Base address:0xdcc0 Memory:fe4e0000-fe500000
ネットワークカードの情報を知りたければ、上記のコマンドで知る事ができます。
設定されているIPアドレスが正しいかも確認できます。
NICに設定されたIPの元情報は、
/etc/sysconfig/network-scripts/ifcfg-eth0
にあります。
IPを変更したければ上記ファイル(NICごとに異なります)を編集の上、ネットワークデーモンを再起動します。
20. 疎通確認
# ping hoge-server
指定したホストまでネットワークがつながっているかを確認できます。
21. デーモンの起動状況
# chkconfig --list -出力例- microcode_ctl 0:オフ 1:オフ 2:オフ 3:オフ 4:オフ 5:オフ 6:オフ gpm 0:オフ 1:オフ 2:オフ 3:オフ 4:オフ 5:オフ 6:オフ kudzu 0:オフ 1:オフ 2:オフ 3:オフ 4:オフ 5:オフ 6:オフ syslog 0:オフ 1:オフ 2:オン 3:オン 4:オン 5:オン 6:オフ -snip-
ランレベルに応じた各デーモンの起動・停止状況が確認できます。
オン(ON)と表示されたランレベルでは、サーバー起動時に自動的に立ち上がるようになっています。
起動と停止の設定は
# chkconfig --level 3 smb on
のように、ランレベル(3)、デーモン名(smb)、有効・無効(on / off)を指定します。
22. プロセス状況
# ps -ef
現在起動しているプロセスが一覧に表示されます。
不要なプロセスや負荷の高いプロセスが無いかを確認します。
もう少し分かりやすく見たければ
# pstree
にて、親プロセスに絞って見ることができます。
23. ディスク状況
# df -h
パーティションの状態・構成や、そのパーティションごとのキャパシティを確認できます。
24. 停止時のメッセージ確認
# shutdown -h now
または
# sync;sync;sync;halt;
可能であれば、一度サーバーを停止してみて、その際のログを見てみることをお勧めします。
自動停止に失敗するものが無いか、エラーが出力される項目が無いかを確認します。
何か問題があれば、syslogに出ていますので、起動後に再確認します。
25. 起動時のメッセージ確認
1.で確認したdmesgと似た確認事項ですが、24.の停止時の確認と同様に自動起動に失敗しているスクリプトがないかなどを確認しておきます。
関連記事
共有ユーザー環境でIPアドレスごとにhistoryコマンドを使い分ける
[お名前.com] サービスを構築するまでに行ったサーバー設定作業もろもろ
サーバー管理で知っておきたいコマンドあれこれ。 - sysreport編 -
セキュリティ診断ツール「Nikto」を使ってサイトをチェックしよう
サーバー管理で知っておきたいコマンドあれこれ。 - sysstat編 -
サーバー管理で知っておきたいコマンドあれこれ。 - apachetop編 -