InfraAcademy

Tag

#トラブルシューティング の記事

このテーマに関連するインフラ学習記事をまとめています。

Tagged Posts

#トラブルシューティング の記事一覧

14件

TIME_WAITが何万もある、CLOSE_WAITが減らない。ssでTCPの接続状態を数えて、どちら側が閉じていないかを見分ける

ss -tanの結果にTIME-WAITやCLOSE-WAITが大量に並んでいると、つい不安になります。TCPの接続が閉じるまでの流れ、TIME_WAITとCLOSE_WAITがそれぞれどちら側で起きるのか、ssで状態ごとに数えて相手やプロセスを特定する方法、tcp_fin_timeoutやtcp_tw_reuseをめぐる誤解まで、Linuxサーバーで接続状態を読むときの考え方を解説します。

Linuxサーバーの返事は、どのNICから出ていくのか。2枚のNICで起きる非対称ルーティングとrp_filterの切り分け

NICが2枚あるLinuxサーバーで、片方のIPアドレスにだけ別のネットワークからつながらない。よくあるこの症状は、戻りの通信が別のNICから出ていく非対称ルーティングと、カーネルの送信元検証rp_filterが原因のことが多いです。ip route get・ip rule・sysctl・tcpdumpで原因を確かめる手順と、ポリシールーティングでの直し方を解説します。

ローテートしたはずのログが、また肥大化している。logrotateが動かない・効かない原因を順番に確かめる

logrotateを設定したのにログが大きくなり続ける、ローテート後の古いファイルにログが書き込まれる、といったトラブルは珍しくありません。logrotateが動くタイミング、状態ファイル、-dでのドライラン、createとcopytruncateの違い、postrotateでログを開き直させる理由まで、Linuxのログローテーションがうまくいかない原因を順番に確かめる方法を解説します。

ロードアベレージが高いのに、CPUは暇そう。Linuxのload averageを「待っているプロセス」から読み解く

uptimeやtopに出るload averageが高いのに、CPU使用率は低い。そんなとき、数字の正体を知らないと判断を誤ります。Linuxのロードアベレージが数えている実行待ちとI/O待ち(D状態)のプロセスを、/proc/loadavg・vmstat・ps・iostatで切り分ける手順を解説します。

pingは通るのに、大きなデータだけ固まる。MTUとPath MTU Discoveryの仕組みから、パケットの大きさの問題を切り分ける

pingもSSHのログインも通るのに、ファイル転送やHTTPSの応答だけが途中で止まる。そんな症状の裏には、MTUとPath MTU Discoveryのつまずきが隠れていることがあります。ICMPが止められたときに起きるブラックホール現象の仕組みと、ping・tracepath・ssを使った切り分け、MSSクランプなどの対処を解説します。

Permission denied (publickey) で入れない。ssh -v とサーバー側のログから、鍵認証が断られた理由を突き止める

公開鍵を登録したはずなのに、SSHで Permission denied (publickey) と言われて入れない。このエラーは原因をほとんど教えてくれません。クライアント側の ssh -v の出力と、サーバー側の認証ログ・sshd -T の3か所を順に読み、権限・鍵の選び方・設定の上書きのどこで断られたのかを切り分ける手順を解説します。

Linuxが名前を引く順番を、上から追ってみる。hosts・nsswitch.conf・resolv.conf・systemd-resolvedの役割分担

digでは正しく引けるのに、アプリケーションだけが名前解決に失敗する。この食い違いは、digとアプリが通っている経路が別物だから起きます。nsswitch.confのhosts行、resolv.confのsearchとndots、127.0.0.53のsystemd-resolved。Linuxが名前を引く順番を上から追い、切り分けの手順まで整理します。

crontabに書いたのに動かない。cronとsystemd timerの違いを知って、定期実行の任せ先を選び直す

手で叩けば動くスクリプトが、cronに登録した途端に動かない。原因の多くは、cronが用意する環境が普段のシェルと違うことにあります。cronとsystemd timerの仕組みの違い、失敗したときの調べ方、そしてどちらに任せるべきかの判断基準を、実務目線で整理します。

freeの空きが少ないのは、異常ではありません。Linuxのメモリ不足をavailableとOOM Killerの記録から見極める

freeコマンドのfreeがほとんど残っていない。それだけではメモリ不足とは言えません。buff/cacheとavailableの関係、プロセスが勝手に消えたときにOOM Killerの記録を探す手順、systemdのcgroup上限に当たっている場合の見分け方まで、Linuxのメモリまわりの切り分けを実務の順番で整理しました。

設定を直して再起動したのに、何も変わらない。systemdの言い分をsystemctlとjournalctlで読み解く

サービスが起動しない、設定変更が効かない、再起動を繰り返して止まる。原因の多くは、systemdがどのファイルを読んでいるかと、いつ読み直すかを知らないことにあります。systemctl catからjournalctlまで、切り分けの順番を通しで整理しました。

その通信、どこで止まっていますか? ping・ss・tcpdumpで疎通トラブルを層ごとに切り分ける

「つながりません」という報告は、名前解決・経路・ポート・パケットのどこかで止まっているサインです。タイムアウトとConnection refusedの意味の違いから、ss・tcpdumpで確認する順番までを、現場で迷わないための切り分けの流れとして整理しました。

ディスクが100%なのに、duで数えると空いている。Linuxの容量トラブルを切り分ける順番

サーバーの容量が枯渇したとき、大きいファイルを探すだけでは解決しないことがあります。dfとduの食い違い、inodeの枯渇、削除したのに解放されないファイル。Linuxの容量トラブルを、現場で迷わないための見る順番として整理しました。

原因はだいたいログに書いてある。未経験インフラエンジニアのためのログの読み方入門

サーバーが動かない、エラーが出た。そんなとき最初に開くべきはログです。ログはどこにあり、どう読むのか。ログの場所・レベル・時系列の追い方を、未経験のインフラエンジニアにも分かるように基礎から解説します。

「エラーは出たけど原因が分からない」を減らす。障害の切り分けを独学で鍛える方法

サーバーやネットワークで不具合が起きたとき、何を最初に見ればいいのか分からず固まってしまう。そんな未経験者に向けて、インフラの現場で一番効く『切り分け』の考え方と、独学でその力を鍛える練習のしかたを、身近なたとえと具体的な手順でまとめました。

Roadmap

まずはこの4講座から

ログインすれば無料で始められる講座です。気になったテーマから手を動かして学べます。

講座一覧を見る