付録A: トラブルシューティング用コマンドリファレンス
ITインフラトラブルシューティングで頻繁に使用するコマンドの体系的なリファレンスです。
システム情報収集コマンド
基本システム情報
コマンド |
説明 |
使用例 |
uname -a |
システム情報表示 |
システムバージョン確認 |
hostname |
ホスト名表示 |
対象システム確認 |
uptime |
稼働時間と負荷平均 |
システム負荷状況確認 |
whoami |
現在のユーザー名 |
権限確認 |
id |
ユーザーIDとグループ |
詳細権限確認 |
ハードウェア情報
コマンド |
説明 |
使用例 |
lscpu |
CPU情報表示 |
プロセッサー仕様確認 |
free -h |
メモリ使用状況 |
メモリ不足診断 |
df -h |
ディスク使用量 |
ディスク容量確認 |
lsblk |
ブロックデバイス一覧 |
ストレージ構成確認 |
lspci |
PCIデバイス一覧 |
ハードウェア構成確認 |
OS・カーネル情報
コマンド |
説明 |
使用例 |
cat /etc/os-release |
OS バージョン |
ディストリビューション確認 |
uname -r |
カーネルバージョン |
カーネル情報確認 |
dmesg \| tail |
カーネルメッセージ |
ハードウェアエラー確認 |
systemctl --version |
systemd バージョン |
サービス管理システム確認 |
ネットワーク診断コマンド
基本ネットワーク確認
コマンド |
説明 |
使用例 |
ip addr show |
ネットワーク インターフェース |
IP設定確認 |
ip route show |
ルーティングテーブル |
経路確認 |
ping -c 4 target |
到達性確認 |
基本疎通確認 |
traceroute target |
経路トレース |
経路障害箇所特定 |
nslookup domain |
DNS 解決確認 |
名前解決問題診断 |
高度なネットワーク診断
コマンド |
説明 |
使用例 |
ss -tuln |
ソケット状態確認 |
ポート利用状況確認 |
netstat -tuln |
ネットワーク統計 |
接続状態確認 |
tcpdump -i eth0 |
パケットキャプチャ |
通信内容分析 |
iptables -L |
ファイアウォール規則 |
通信制御確認 |
dig +trace domain |
DNS 完全解決 |
DNS 問題詳細分析 |
帯域・性能測定
コマンド |
説明 |
使用例 |
iperf3 -c server |
帯域測定(クライアント) |
ネットワーク性能測定 |
iperf3 -s |
帯域測定(サーバー) |
性能測定環境構築 |
mtr target |
リアルタイム経路品質 |
継続的な疎通品質監視 |
プロセス・リソース監視コマンド
プロセス管理
コマンド |
説明 |
使用例 |
ps aux |
全プロセス一覧 |
プロセス状態確認 |
top |
リアルタイムプロセス監視 |
CPU使用率監視 |
htop |
高機能プロセス監視 |
詳細リソース監視 |
pgrep process_name |
プロセス名でPID検索 |
特定プロセス確認 |
kill -9 PID |
プロセス強制終了 |
応答なしプロセス終了 |
リソース使用量
コマンド |
説明 |
使用例 |
iotop |
ディスクI/O監視 |
ディスクボトルネック確認 |
vmstat 1 |
仮想メモリ統計 |
メモリ・CPU状況監視 |
sar -u 1 |
システム利用統計 |
継続的性能監視 |
iostat -x 1 |
I/O統計情報 |
ストレージ性能監視 |
システム状態
コマンド |
説明 |
使用例 |
systemctl status service |
サービス状態確認 |
サービス動作確認 |
journalctl -u service |
サービスログ確認 |
サービス問題分析 |
systemctl list-failed |
失敗サービス一覧 |
システム問題概要確認 |
ログ分析コマンド
基本ログ確認
コマンド |
説明 |
使用例 |
tail -f /var/log/syslog |
リアルタイムログ監視 |
継続的ログ監視 |
grep ERROR /var/log/* |
エラーログ検索 |
問題箇所特定 |
journalctl -f |
systemd ログリアルタイム |
systemd 管理サービス監視 |
last |
ログイン履歴 |
セキュリティ監査 |
lastlog |
最終ログイン時刻 |
ユーザー活動確認 |
ログ解析
コマンド |
説明 |
使用例 |
awk '/pattern/ {print}' log |
パターンマッチ抽出 |
特定ログエントリ抽出 |
sort \| uniq -c |
ログ集計 |
エラー頻度分析 |
grep -A 5 -B 5 pattern |
前後コンテキスト表示 |
エラー詳細状況確認 |
クラウド環境診断コマンド
AWS CLI
コマンド |
説明 |
使用例 |
aws ec2 describe-instances |
EC2インスタンス一覧 |
インスタンス状態確認 |
aws cloudwatch get-metric-statistics |
CloudWatch メトリクス |
性能データ取得 |
aws logs describe-log-groups |
ロググループ一覧 |
ログ設定確認 |
aws sts get-caller-identity |
認証情報確認 |
アクセス権限確認 |
Azure CLI
コマンド |
説明 |
使用例 |
az vm list |
仮想マシン一覧 |
VM状態確認 |
az monitor metrics list |
メトリクス取得 |
性能監視データ取得 |
az monitor log-analytics query |
ログ分析クエリ |
ログデータ分析 |
GCP CLI
コマンド |
説明 |
使用例 |
gcloud compute instances list |
インスタンス一覧 |
GCE状態確認 |
gcloud logging read |
ログエントリ取得 |
Cloud Logging確認 |
gcloud monitoring metrics list |
メトリクス一覧 |
監視設定確認 |
データベース診断コマンド
MySQL/MariaDB
コマンド |
説明 |
使用例 |
SHOW PROCESSLIST; |
実行中クエリ一覧 |
パフォーマンス問題分析 |
SHOW STATUS; |
サーバー状態変数 |
データベース状態確認 |
EXPLAIN query; |
クエリ実行計画 |
SQL最適化 |
SHOW ENGINE INNODB STATUS; |
InnoDB状態 |
ストレージエンジン診断 |
PostgreSQL
コマンド |
説明 |
使用例 |
SELECT * FROM pg_stat_activity; |
接続・クエリ状況 |
現在の処理状況確認 |
SELECT * FROM pg_stat_database; |
データベース統計 |
使用統計確認 |
EXPLAIN ANALYZE query; |
詳細実行計画 |
性能分析 |
Redis
コマンド |
説明 |
使用例 |
INFO |
サーバー情報 |
Redis状態確認 |
MONITOR |
リアルタイムコマンド監視 |
アクセスパターン分析 |
SLOWLOG GET |
遅いクエリログ |
性能問題特定 |
セキュリティ診断コマンド
アクセス制御
コマンド |
説明 |
使用例 |
ls -la |
ファイル権限確認 |
アクセス権問題診断 |
getfacl file |
拡張ACL確認 |
詳細権限設定確認 |
sudo -l |
sudo権限確認 |
管理者権限確認 |
セキュリティ監査
コマンド |
説明 |
使用例 |
fail2ban-client status |
不正アクセス防止状態 |
セキュリティ対策確認 |
aureport --summary |
SELinux監査レポート |
セキュリティ違反確認 |
grep "authentication failure" /var/log/auth.log |
認証失敗ログ |
不正アクセス試行確認 |
パフォーマンス分析コマンド
システム全体性能
コマンド |
説明 |
使用例 |
perf top |
リアルタイム性能プロファイル |
CPU使用詳細分析 |
strace -p PID |
システムコール追跡 |
プロセス動作詳細分析 |
lsof -p PID |
プロセス使用ファイル |
リソース使用状況確認 |
応用分析
コマンド |
説明 |
使用例 |
valgrind --tool=memcheck program |
メモリリーク検出 |
アプリケーション品質確認 |
gdb -p PID |
デバッガー接続 |
プロセス詳細デバッグ |
コマンド使用上の注意事項
実行権限
- 一部コマンドは root 権限が必要
sudo
を適切に使用する
- 権限エラーの場合は実行ユーザーを確認
安全な実行
- 本番環境では影響を慎重に評価
- 大量データ処理時はシステム負荷に注意
- バックアップ作成を事前に実施
効率的な使用
- コマンドの組み合わせ(パイプ処理)を活用
- 出力をファイルに保存して後で分析
- エイリアスや関数で頻用コマンドを簡略化
この章で習得したコマンドを組み合わせることで、効率的なトラブルシューティングが可能になります。状況に応じて適切なコマンドを選択し、系統的な問題解決を実践してください。