サーバ障害発生時によく使うコマンド!!

この記事は公開されてから半年以上経過しています。情報が古い可能性がありますので、ご注意ください。

keyboard

 

こんにちは!!

大分外も涼しくなって過ごしやすい日が続いていますね!

今回は、弊社サービスの要である”サーバ監視”の際に障害切り分けで

よく使われるLinuxのコマンドをご紹介したいと思います(^・^)

▼コマンド一覧

hostname

サーバのホスト名を確認するために使うコマンドです。

そもそも障害が起こっているサーバと違うサーバを開いていたら大惨事になる可能性があるので…

弊社では「hostname -f」とオプションをつけてFQDNを確認します。

 

date

日付を出力するコマンドです!サーバにログインした時刻や対応をした時刻をログとして記録するために

必須のコマンドです!

 

w

現在ログインしているユーザーを確認するコマンドです!

それ以外にも、起動時間やロードアベレージを表示してくれるので、

再起動がかかっていないかやサーバの負荷状況はどうかということが簡単にわかります。

 

last

過去にログインしていたユーザー、今ログインしているユーザーを表示してくれます!

障害が起こった時間に誰かログインをしているか確認することによって、

作業影響なのか障害なのかを切り分けるのに使用します。

「last -20」と実行すると過去20ユーザー分がでてくるので分かりやすいです

 

ps

プロセスの起動状況を確認するコマンドです!

どのプロセスがどれくらい起動しているかを確認するために障害対応中にも

多用します。サービスの再起動の前後にpsを実行して本当に再起動でプロセスが

起動したかどうかを確認するのに必ず使います!

詳細をツリー上に出力するオプションをつけた方が分かりやすいので、

「ps auxfwww」と実行することや「ps auxfwww | grep httpd」のように

特定のプロセスをパイプとgrepを使って検索することも多いです。

 

netstat

サーバとクライアント間の通信状況を調べる際に使うコマンドです!

対象のサーバに対しての通信状況を確認することや、開いているポートの確認を

するために使う事が多いです。使う場面としてはDDos攻撃などを判断するために

「netstat -an」と実行して特定のIPから特定のポートに対しての通信が貼られて

いないかどうかや、「netstat -ln」で接続待ち状態のソケットを表示させたりする

場面がよくあります。

 

vmstat

メモリーやCPUの負荷率や使用状況を表示するコマンドです!

メモリを使いきってswap領域を使っていないかやCPUの使用率が高くないかなど

をリソースの状況を確認するために使用します。

 

dmesg

カーネルのメッセージを出力するコマンドです!

カーネルから何かエラーが出力されていないかどうかというかを確認します!

ここにエラーがでていると深刻なエラーである可能性が高いです。

 

top

CPUやメモリなどのリソース状況をリアルタイムに表示するコマンドです!

システム上で最もリソースを使用している順にプロセスを表示してくれるので

どのプロセスがリソースを占有しているかということが判断できます!

 

是非、参考にしていただければと思います!

以上です!!