Linux

Linuxのトラブルシューティング手順を解説!【障害が発生した際にどうすればいいのか?】

こんにちは、フルスタックエンジニアのryuです。

Linuxでトラブルが発生した際はどうしたらいいの?

そんなお悩みありませんか?

この記事では、

  • 障害が発生した際にどうすればいいのか?

について解説します。

インフラエンジニアには、障害が発生した際のトラブルシューティングが必ず必要になります。

そこで、今回はとラブルシューティングを行う上で、どのような手順を踏めば良いのか、どのようにトラブルを見つけるのか、トラブルをどうやって解決するのかなど、とラブルシューティングに必要な知識を解説します。

サーバー構築を実践で身につけるInfraAcademy

※本ページには、プロモーション・アフィリエイトリンクが含まれています

トラブルが発生した際の流れ

トラブルが発生した場合は、以下のような流れで対応します。

  1. 現状の確認
  2. 現状復旧
  3. 原因調査
  4. 原因の対策
  5. 再発防止

細かい流れについては、各会社で定められているかもしれませんが、大枠はこのような流れで進みます。

さらに、細かく各手順を見ていきましょう。

現状の確認

障害が発生した際は、現状の状態を確認します。

どのシステム・機能が使えないのか、どの部分が使えるのかなど、状況を確認します。例えば、サーバーが停止している場合は、全機能が停止していますし、プログラムのバグの場合は、特定の機能だけが停止している場合もあります。

また、業務に重大な影響がある機能なのか、業務に影響が少ない機能なのかも判断する必要があります。業務に重大な影響がある場合、すぐに対処する必要があるからです。

現状復旧

現状の確認ができたら、次は復旧させます。とりあえずシステムを動かせるようにするイメージです。

例えば、システムのバックアップからロールバックさせたり、停止しているシステムを再起動させたりします。

原因調査

現状の復旧ができたら、原因の調査を行います。

なぜ、障害が発生したのか、根本的な理由を調査します。

例えば、人的ミスによる障害発生なのか、設計ミスによる障害発生なのかです。障害の原因を調査するためには、さまざまなログファイルを見る必要があります。

ログファイルを保存していなかったり、過去のものを削除してしまうと、障害の原因が特定できない場合があります。そのようなことにならないように、ログファイルの管理は適切に行いましょう。

障害発生の原因には、外部からの攻撃など人為的なものもあります。

原因の対策

原因が調査できたら、対策を行います。

例えば、人的ミスで障害が発生した場合、ダブルチェックなどでミスが起こらないようにしたり、ミスが発生してもアラームが発生したりするようにします。

また、設計ミスの場合は、システムのプログラムを修正することにもなるでしょう。

次また同じ障害が発生しないように、根本的な原因の対策を行います。

再発防止

再発防止では、次に障害が発生しないようにします。

システムや運用プロセスを見直し、障害を未然に防ぐための改善策を実施します。

例えば、モニタリングの強化、アラートシステムの改善、予防保守のスケジュール化などを行います。

障害の再発防止は、単に技術的な問題の解決にとどまらず、組織のプロセス、コミュニケーション、教育に関わる総合的な取り組みが必要になります。

Linuxのトラブルシューティングに使えるコマンド

次に、Linuxのとラブルシューティングの際に使えるコマンドについて解説します。

tailコマンド

まずは、tailコマンドです。tailコマンドはファイルの末尾を表示させます。

syslogファイルなどのログファイルを見るときに便利です。以下のように使います。

tail -f /var/log/syslog

tracerouteコマンド

tracerouteコマンドは、パケットが目的地に到達するまでの経路を表示します。

ネットワークの問題の所在を特定するのに役立ちます。

以下のように使用します。

traceroute 192.168.1.10

ps auxコマンド

ps auxコマンドは、現在実行中のプロセスの詳細なリストを表示します。

特定のプロセスを監視したい場合に使用します。

以下のように使用します。

ps aux

dmesgコマンド

dmesgコマンドは、カーネルによって生成されたメッセージを表示します。

ハードウェアやドライバ関連の問題の診断に役立ちます。

以下のように使用します。

dmesg

Linuxのコマンドは、障害が発生する前に練習しておく必要があります。Linuxのコマンドの練習には、InfraAcademyという学習サイトがおすすめです。詳しくは以下の記事で解説しております。

関連:Linuxのコマンド練習におすすめのInfraAcademy【Linuxのコマンドをブラウザで練習しよう】

まとめ

今回の記事では、Linuxのトラブルシューティングの手順について解説しました。

トラブルが発生した際の流れは以下の通りです。

  1. 現状の確認
  2. 現状復旧
  3. 原因調査
  4. 原因の対策
  5. 再発防止

トラブルが発生した際は焦らず冷静に対処するようにしましょう。トラブルの原因を追求することは難しいですが、根気強く取り組むことで解決策が見つかると思います。

経験を増やすことで、トラブルに迅速に対応できるようになります。トラブルシューティングは学習や経験によって差が出るので、今のうちから準備しておきましょう!

以上で記事を終わります。ここまで読んでいただきありがとうございました。

ABOUT ME
ryu@InfraAcademyというインフラ学習サービス運営
大手企業→上場ベンチャー→スタートアップでエンジニアをしていました。 インフラエンジニア歴10年以上。 Linuxやネットワークの学習ができるサービスInfraAcademyを運営中。
RELATED POST