こんにちは、フルスタックエンジニアのryuです。
Linuxでトラブルが発生した際はどうしたらいいの?
そんなお悩みありませんか?
この記事では、
について解説します。
インフラエンジニアには、障害が発生した際のトラブルシューティングが必ず必要になります。
そこで、今回はとラブルシューティングを行う上で、どのような手順を踏めば良いのか、どのようにトラブルを見つけるのか、トラブルをどうやって解決するのかなど、とラブルシューティングに必要な知識を解説します。
目次
トラブルが発生した際の流れ
トラブルが発生した場合は、以下のような流れで対応します。
- 現状の確認
- 現状復旧
- 原因調査
- 原因の対策
- 再発防止
細かい流れについては、各会社で定められているかもしれませんが、大枠はこのような流れで進みます。
さらに、細かく各手順を見ていきましょう。
現状の確認
障害が発生した際は、現状の状態を確認します。
どのシステム・機能が使えないのか、どの部分が使えるのかなど、状況を確認します。例えば、サーバーが停止している場合は、全機能が停止していますし、プログラムのバグの場合は、特定の機能だけが停止している場合もあります。
また、業務に重大な影響がある機能なのか、業務に影響が少ない機能なのかも判断する必要があります。業務に重大な影響がある場合、すぐに対処する必要があるからです。
現状復旧
現状の確認ができたら、次は復旧させます。とりあえずシステムを動かせるようにするイメージです。
例えば、システムのバックアップからロールバックさせたり、停止しているシステムを再起動させたりします。
原因調査
現状の復旧ができたら、原因の調査を行います。
なぜ、障害が発生したのか、根本的な理由を調査します。
例えば、人的ミスによる障害発生なのか、設計ミスによる障害発生なのかです。障害の原因を調査するためには、さまざまなログファイルを見る必要があります。
ログファイルを保存していなかったり、過去のものを削除してしまうと、障害の原因が特定できない場合があります。そのようなことにならないように、ログファイルの管理は適切に行いましょう。
障害発生の原因には、外部からの攻撃など人為的なものもあります。
原因の対策
原因が調査できたら、対策を行います。
例えば、人的ミスで障害が発生した場合、ダブルチェックなどでミスが起こらないようにしたり、ミスが発生してもアラームが発生したりするようにします。
また、設計ミスの場合は、システムのプログラムを修正することにもなるでしょう。
次また同じ障害が発生しないように、根本的な原因の対策を行います。
再発防止
再発防止では、次に障害が発生しないようにします。
システムや運用プロセスを見直し、障害を未然に防ぐための改善策を実施します。
例えば、モニタリングの強化、アラートシステムの改善、予防保守のスケジュール化などを行います。
障害の再発防止は、単に技術的な問題の解決にとどまらず、組織のプロセス、コミュニケーション、教育に関わる総合的な取り組みが必要になります。
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のトラブルシューティングの手順について解説しました。
トラブルが発生した際の流れは以下の通りです。
- 現状の確認
- 現状復旧
- 原因調査
- 原因の対策
- 再発防止
トラブルが発生した際は焦らず冷静に対処するようにしましょう。トラブルの原因を追求することは難しいですが、根気強く取り組むことで解決策が見つかると思います。
経験を増やすことで、トラブルに迅速に対応できるようになります。トラブルシューティングは学習や経験によって差が出るので、今のうちから準備しておきましょう!
以上で記事を終わります。ここまで読んでいただきありがとうございました。