2 ポイント 投稿者 GN⁺ 2024-03-25 | 1件のコメント | WhatsAppで共有

Linuxの危機管理ツール

  • Linuxサーバーに標準でインストールしておくべき「危機対応ツール」の一覧と、それらのツールを含む(Ubuntuの)パッケージ名を提示。
  • 基本統計、システムログ、デバイス情報、デバイス統計、ネットワークツール、NUMA統計、ネットワークスニファー、プロファイラ、PMU統計などのためのツールを含む。
  • bpfcc-tools(bcc)とbpftraceはeBPFツールを提供し、bccはより多くの機能を持ち、bpftraceはリアルタイムで編集可能。
  • サーバーに応じて、特定のアクセラレータ解析ツールやデバッグツールも事前インストールを推奨。
  • これらの必須解析ツールは頻繁には変わらないため、数年に一度更新するだけでよい。

危機時におけるツールインストールの重要性

  • 本番環境の危機的状況でソフトウェアをインストールする際に発生しうる問題を、例を挙げて説明。
  • システムが遅くなって必要なツールのインストールに時間がかかり、さまざまな設定上の問題やセキュリティポリシーによりインストールが難しくなることがある。
  • 危機的状況で迅速に問題を診断して解決するため、危機対応ツールを事前にインストールしておくことが望ましい。

GN⁺の見解

  • この記事は、システム管理者やSRE(サイト信頼性エンジニア)にとって非常に有用な情報を提供している。実際の危機的状況で必要なツールをすぐに使えるよう、事前準備の重要性を強調している。
  • 危機対応ツールの事前インストールは、システムの可用性と復元力を高め、潜在的なシステムダウンタイムを最小化するのに役立つ。
  • ただし、セキュリティと性能のバランスを取ることが重要である。たとえば、不要なツールがシステムにインストールされていると、攻撃者に悪用される可能性もある。
  • Linuxディストリビューションが企業環境向けに危機対応ツールを標準搭載することを検討できるが、これは各組織のセキュリティポリシーや要件によって異なりうる。
  • オープンソースコミュニティでは、すでにさまざまな監視・性能分析ツールが提供されており、たとえばPrometheusやGrafanaのようなツールはシステム性能監視に広く使われている。これらのツールと危機対応ツールを統合して使うことで、システム管理をさらに効果的にできる。

1件のコメント

 
GN⁺ 2024-03-25
Hacker News のコメント
  • 午後4:07 パッケージのインストールに失敗、リポジトリを解決できない。/etc/apt の設定に問題がある…

    • クラウド環境には欠点もあるが、このような状況では役に立つ。複雑な修復を行う代わりに、問題のあるマシンを停止するかプールから外し、新しいマシンを使うことで問題を解決できる。
  • コンテナ化されたサーバーは多いが、依然として課題は存在する。

    • Docker イメージ内の多くのツールは、セキュリティスキャンツールによってリスク要素として表示される。gdb のようなツールは懸念の対象だが、多くのツールはそうではない。
    • これを避けるために、別のボリュームにツールを静的バイナリとして置くか、マウントパスをインストール接頭辞として使用してコンパイルおよびインストールする。デバッグが必要なときは、運用チームがそのボリュームを読み取り専用で一時的にマウントする。
  • 特定のカーネル機能を有効にしなければならないデバッグツールがある場合、同じホストで実行されるほかのコンテナに与える影響が懸念される。

  • FreeBSD システムには /rescue/ ディレクトリがあり、約 150 個の重要なツールをまとめた、単一の静的リンク済み約 17MB のバイナリファイルを提供している。

  • Netflix で働いていたとき、Brendan と彼のチームは bpftrace、bcc、動作する perf のようなデバッグツールをあちこちに配備しており、何度も命綱の役割を果たした。

  • strace がリストにないことに驚いた。プログラムが役に立たない、あるいは間違ったエラーメッセージを返すときに特に有用なツールだ。

  • SRE 系のポジションを面接するときは、こうしたツールを常に扱う。候補者が覚えている特定のコマンドよりも、何ができるか、どのようなツールが使えるか、そしてその使い方を重視する。

  • ツールのインストールが不可能な緊急時には、Docker を通じて多くのユーティリティを実行できる。たとえば、ホストネットワークに接続した状態で tcpdump を実行する Docker コンテナをビルドして実行する方法が提示されている。

  • yum install のほうが望ましいが、Docker が使えるなら、追加のマッピングが必要でも実行可能な代替手段になる。rootless/podman の設定では動作しない可能性がある。

  • nmap、netstat、nc について触れられていない。これらのツールは何度も問題解決に役立ってきた。

  • root アクセスは取得できるのか? システム管理者にチケットを出さないと何の作業もできない。

  • 追加したいのは nmap だ。ネットワーク接続の問題は、一部のアプリでは明確に見えないことがある。