Linuxの危機管理ツール
- Linuxサーバーに標準でインストールしておくべき「危機対応ツール」の一覧と、それらのツールを含む(Ubuntuの)パッケージ名を提示。
- 基本統計、システムログ、デバイス情報、デバイス統計、ネットワークツール、NUMA統計、ネットワークスニファー、プロファイラ、PMU統計などのためのツールを含む。
bpfcc-tools(bcc)とbpftraceはeBPFツールを提供し、bccはより多くの機能を持ち、bpftraceはリアルタイムで編集可能。
- サーバーに応じて、特定のアクセラレータ解析ツールやデバッグツールも事前インストールを推奨。
- これらの必須解析ツールは頻繁には変わらないため、数年に一度更新するだけでよい。
危機時におけるツールインストールの重要性
- 本番環境の危機的状況でソフトウェアをインストールする際に発生しうる問題を、例を挙げて説明。
- システムが遅くなって必要なツールのインストールに時間がかかり、さまざまな設定上の問題やセキュリティポリシーによりインストールが難しくなることがある。
- 危機的状況で迅速に問題を診断して解決するため、危機対応ツールを事前にインストールしておくことが望ましい。
GN⁺の見解
- この記事は、システム管理者やSRE(サイト信頼性エンジニア)にとって非常に有用な情報を提供している。実際の危機的状況で必要なツールをすぐに使えるよう、事前準備の重要性を強調している。
- 危機対応ツールの事前インストールは、システムの可用性と復元力を高め、潜在的なシステムダウンタイムを最小化するのに役立つ。
- ただし、セキュリティと性能のバランスを取ることが重要である。たとえば、不要なツールがシステムにインストールされていると、攻撃者に悪用される可能性もある。
- Linuxディストリビューションが企業環境向けに危機対応ツールを標準搭載することを検討できるが、これは各組織のセキュリティポリシーや要件によって異なりうる。
- オープンソースコミュニティでは、すでにさまざまな監視・性能分析ツールが提供されており、たとえばPrometheusやGrafanaのようなツールはシステム性能監視に広く使われている。これらのツールと危機対応ツールを統合して使うことで、システム管理をさらに効果的にできる。
1件のコメント
Hacker News のコメント
コンテナ化されたサーバーは多いが、依然として課題は存在する。
特定のカーネル機能を有効にしなければならないデバッグツールがある場合、同じホストで実行されるほかのコンテナに与える影響が懸念される。
FreeBSD システムには /rescue/ ディレクトリがあり、約 150 個の重要なツールをまとめた、単一の静的リンク済み約 17MB のバイナリファイルを提供している。
Netflix で働いていたとき、Brendan と彼のチームは bpftrace、bcc、動作する perf のようなデバッグツールをあちこちに配備しており、何度も命綱の役割を果たした。
straceがリストにないことに驚いた。プログラムが役に立たない、あるいは間違ったエラーメッセージを返すときに特に有用なツールだ。SRE 系のポジションを面接するときは、こうしたツールを常に扱う。候補者が覚えている特定のコマンドよりも、何ができるか、どのようなツールが使えるか、そしてその使い方を重視する。
ツールのインストールが不可能な緊急時には、Docker を通じて多くのユーティリティを実行できる。たとえば、ホストネットワークに接続した状態で tcpdump を実行する Docker コンテナをビルドして実行する方法が提示されている。
yum install のほうが望ましいが、Docker が使えるなら、追加のマッピングが必要でも実行可能な代替手段になる。rootless/podman の設定では動作しない可能性がある。
nmap、netstat、nc について触れられていない。これらのツールは何度も問題解決に役立ってきた。
root アクセスは取得できるのか? システム管理者にチケットを出さないと何の作業もできない。
追加したいのは nmap だ。ネットワーク接続の問題は、一部のアプリでは明確に見えないことがある。