3ノード構成のシステム要件

3ノードクラスタでのセルフホスト型 Standard Edition のシステム要件を確認してください。

以下の仕様は、システムを正常に稼働させるための最低限の要件です。 バックエンドの負荷が増加した場合、最適なパフォーマンスとシステムの安定性を確保するために、リソースを追加する必要が生じる可能性があります。

各セルフホスト環境には、処理可能な負荷の上限があります。 実際のリソース要件は、以下のような要因によって異なる場合があります:
  • 監視対象のサーバー数。
  • 監視対象のサーバー上で稼働している技術。一部の技術はメトリクスの使用量が多いため。
  • リクエストの観点から見た観測対象環境への負荷は、トレース負荷によって決定されます。このトレース負荷は、観測対象システムへの着信トラフィックとシステム内部のトラフィックの両方に正比例します。
  • アプリケーションのアーキテクチャやトラフィックの傾向により、トラフィックの多いマイクロサービスは、モノリシックなアプリケーションよりもはるかに多くのスパンを生成します。
  • インフラストラクチャの複雑さにより、数百のポッドを抱える Kubernetes ノードは、単一の VM よりもはるかに多くのメトリクスを生成する可能性があります。
  • エンドユーザー監視(EUM)、ロギング、サーバーレス監視などの有効化された機能は、データの取り込み量や保存容量を増やす可能性があります。
  • トラフィックの急増や季節的なイベント、ブラックフライデーやプロモーションキャンペーンなどの繁忙期も考慮に入れてください。
注: お客様の環境が選択した導入アプローチに適しているかどうかを確認するには、 IBM の担当者にお問い合わせください。 ワークロードが大きい場合は、最適なパフォーマンスを確保するために、最小要件を超えるリソースを割り当てることができます。

ホスト

3ノード構成の場合、同じオペレーティングシステムを搭載した3台のホストが必要です。

マルチノード クラスター内の 3 つのノードには、それぞれ特定の用途があります。

  • 最初のノード(instana-0 )と表示されています。node-role.instana.io: "backend"インストール中に、永続ボリュームを必要とするバックエンド ワークロードを実行するために使用されます。 ノードはゲートウェイ、アクセプタ、UI バックエンドも実行します。

  • 2番目のノード(instana-1 )と表示されています。node-role.instana.io: "datastore"インストール中に、データ ストアを実行するために使用されます。

  • インストール時に node-role.instana.io: "other" とラベル付けされる3番目のノード( instana-2 )は、 Instana の残りのワークロードを実行するために使用されます。

対応プラットフォームおよびオペレーティングシステム

「 Standard Edition 」のセルフホスト版インストーラーを実行できるホスト環境が整っていることを確認してください。

注: 重要:ホストは仮想マシンでも、専用の物理マシンでも構いません。 ホストは、OSを新規にインストールしたばかりの新しいものである必要があります。 以前別の用途で使用していたホストを使用する場合は、オペレーティングシステムを再インストールする必要があります。 Standard Edition セルフホスト型クラシックエディション( Docker )と共存させてはなりません。

Instana ホストとして、以下のプラットフォームおよびオペレーティングシステムに対応しています:

表 1.サポートされているオペレーティング・システム
プラットフォーム オペレーティング・システム
Linux® x86_64 Red Hat® Enterprise Linux® ( RHEL ) 10、9、8
Ubuntu 24.04 および 22.04
Debian 13と12
CentOS Stream 9
Amazon Linux 2023年
Oracle Linux 9
SUSE Linux Enterprise Server (SLES) 15 SP6 SP7
Linux® arm64

AWS Graviton に対応

arm64 以外のオペレーティングシステムへの展開については、テストされていません。

ハードウェア要件

マルチノードクラスタでは、productionインストールタイプがサポートされています。

CPU、メモリ、およびストレージ

ノードには、すべてのVMにわたって、指定された上限値までのCPU、メモリ、およびストレージが必要です。

表 2. 生産環境 - 小規模VM(全VMの合計)
CPU コアの数 メモリー (GB) ストレージ 1秒あたりのディスク処理速度(IOPS)の下限値 1秒あたりの最小ディスクスループット( MiB )
36 144 4510 3000 250

各ノードには、以下の表に示す範囲内で、指定されたCPU、メモリ、およびストレージが必要となる場合があります。

表 3. 本番環境 - ノードあたりの最小システム要件:
ノード名 CPU (コア) メモリー (GB) ディスク(GB) 1秒あたりのディスクの最低処理速度(IOPS) 1秒あたりの最小ディスクスループット( MiB ) 目的
instana-0 12 48 1270 3000 250 バックエンド
instana-1 12 48 2970 3000 250 データストア
instana-2 12 48 270 3000 250 その他

ノードには、すべてのVMにわたって、指定された上限値までのCPU、メモリ、およびストレージが必要です。

表 4. 生産環境 - 大規模VM(全VMの合計)
CPU コアの数 メモリー (GB) ストレージ
80   320 9020

各ノードには、以下の表に示す範囲内で、指定されたCPU、メモリ、およびストレージが必要となる場合があります。

表 5. 生産環境 - ノードあたりのシステム要件(大規模環境):
ノード名 CPU (コア) メモリー (GB) ディスク(GB) 1秒あたりのディスクの最低処理速度(IOPS) 1秒あたりの最小ディスクスループット( MiB ) 目的
instana-0 24  96 2540 3000 250 バックエンド
instana-1 32 128 5940 3000 250 データストア
instana-2 24  96   540 3000 250 その他

使用したいオプション機能ごとに、追加のリソースが必要になります。

node0 (instana-0) および node2 (instana-2) で、CPU やメモリ容量などの追加リソースを割り当ててください。

注:node1 は主にデータストアとして使用されるため、 node1 (instana-1) 上でリソースをプロビジョニングしないでください。 また、ロギング機能を有効にする場合、 node1 (instana-1) にログデータを保存するために、より多くのディスク容量が必要になります。

CPUアーキテクチャの要件 ( x86‑64 )

Instana x86‑64‑v2 のCPUをサポートする x86‑64 システムへのインストールをサポートしています。 x86‑64‑v2 命令セットは、 Instana いくつかのコンポーネント( Cassandra や Kafka など)およびインストール時に使用されるGNU C ライブラリ(glibc)で必要とされます。 2008年頃以降に発売されたほとんどの現代のCPUは、 x86‑64‑v2 に対応しています。 しかし、仮想化環境では、基盤となるハードウェアが対応していても、仮想マシンの設定によってCPUの機能が隠されたり、制限されたりすることがあります。

必要なCPU命令フラグ

オペレーティングシステムでは、以下のCPUフラグが利用可能である必要があります:

  • sse3
  • ssse3
  • sse4_1
  • sse4_2
  • popcnt
  • cx16
  • lahf_lm
注:Instana では、顧客環境向けのCPUフラグが必要です。 オペレーティングシステムやglibcのバージョンによっては、さらにフラグが必要になる場合があります。

ストレージ要件

各ノードには、4つのデータ保存ディレクトリが必要です。 これらのノードに追加のディスクを追加する必要があります。

  • オブジェクトディレクトリnode0 (instana-0 )。
  • データ、指標、分析ディレクトリnode1 (instana-1 )。

追加のディスクは必要ありませんnode2 (instana-2 )。

次の表は、各ノードのストレージ ボリューム要件を示しています。

表 6. node0 のクラスタ・ストレージ・ボリュームの要件 instana-0
説明 デフォルト・ディレクトリー 最小容量(GB) コメント
オブジェクトディレクトリ /mnt/instana/stanctl/objects 1000 パスを以下で上書きする--volume-objects
ルート・ディレクトリー / 100
$HOME ディレクトリ(エアギャップ環境) /root またはユーザーのホームディレクトリ 60 $HOME 環境変数で上書きします。 $HOMEディレクトリ用に40GB(エアギャップ環境)、別途ディスク領域用に20GB。
$HOME ディレクトリ(エアギャップ環境以外) /root またはユーザーのホームディレクトリ 10 $HOME 環境変数で上書きする
クラスタデータディレクトリ /var/lib 100 以下で上書きする--cluster-data-dir
表 7. node1 のクラスタ・ストレージ・ボリュームの要件 instana-1
説明 デフォルト・ディレクトリー 最小容量(GB) コメント
データ・ディレクトリー /mnt/instana/stanctl/data 500 パスを以下で上書きする--volume-data
メトリクスディレクトリ /mnt/instana/stanctl/metrics 1000
分析ディレクトリ /mnt/instana/stanctl/analytics 1200
ルート・ディレクトリー / 100
$HOME ディレクトリ(エアギャップ環境) /root またはユーザーのホームディレクトリ 60 $HOME 環境変数で上書きします。 $HOMEディレクトリ用に40GB(エアギャップ環境)、別途ディスク領域用に20GB。
$HOME ディレクトリ(エアギャップ環境以外) /root またはユーザーのホームディレクトリ 10 $HOME環境変数で上書きする
クラスタデータディレクトリ /var/lib 100 以下で上書きする--cluster-data-dir
表 8. node2 のクラスタ・ストレージ・ボリュームの要件 instana-2
説明 デフォルト・ディレクトリー 最小容量(GB) コメント
ルート・ディレクトリー / 100
$HOME ディレクトリ(エアギャップ環境) /root またはユーザーのホームディレクトリ 60 $HOME 環境変数で上書きします。 $HOMEディレクトリ用に40GB(エアギャップ環境)、別途ディスク領域用に20GB。
$HOME ディレクトリ(エアギャップ環境以外) /root またはユーザーのホームディレクトリ 10 $HOME環境変数で上書きする
クラスタデータディレクトリ /var/lib 100 以下で上書きする-—cluster-data-dir
注: エアギャップ環境では、バスティオンホストと Instana ホストの両方で、エアギャップパッケージを作成するディレクトリに、さらに20 GBのディスク容量が必要です。 このパッケージの詳細については、「エアギャップ環境用インストールパッケージの作成」を参照してください。

約1か月間、最初に割り当てたストレージ容量を監視する必要があります。 必要に応じて、容量を増やすことができます。 また、エージェントの数を増やしたり、オプション機能をさらに有効にしたりする場合は、メモリ使用量を監視する必要があります。

ディレクトリごとに1台の専用デバイス

Instana の4つのデータディレクトリ(`data`、`metrics`、`analytics`、および`objects`)は、それぞれ専用のストレージ上に配置する必要があります。

専用のストレージデバイスごとにディレクトリを設定する必要があります。

分離は、物理層に至るまでエンドツーエンドで維持されなければならない。

ディレクトリは、以下のリソースを一切共有してはなりません:

  • ディスク
  • ボリューム・グループ
  • SANプール
  • RAIDセット
  • 同じスピンドル、フラッシュ、キャッシュ、またはコントローラーにマッピングされるその他のレイヤー

ホストレベルの分離(マウントポイント、論理ボリューム(LV)、またはLUNの分離など)は必要ですが、それだけでは不十分です。 下位層のリソースが最終的に同じ物理ハードウェアにマッピングされる場合でも、各ディレクトリは依然としてI/O容量を奪い合うことになる。

分離は、ホスト層だけでなく、ストレージスタック全体にわたって確保されなければならない。 この規則の唯一の例外はNVMeであり、これについては別途説明します。

パフォーマンスの分離

Instana データディレクトリは、大容量かつ突発的で、同時アクセスによるI/Oを発生させます。 各ストレージデバイスには、以下の要素を含む有限のI/O容量があります:

  • IOPS
  • スループット(帯域幅)
  • キャッシュ

複数のディレクトリが 1 つのデバイスを共有している場合:

あるディレクトリでの処理負荷が急増すると、他のディレクトリで利用可能な容量が減少する可能性があります。 その結果、予測不可能な遅延が発生し、次のような症状が現れることがあります:

  • クエリのタイムアウト
  • 切断されたトレース
  • 動作の遅いダッシュボード
  • ヘルスチェックに失敗しました

専用のデバイスを使用することで、一貫性があり予測可能なパフォーマンスを確保します。

故障の封じ込め

専用ストレージでは、各ディレクトリが独自のフェイルドメインに割り当てられます。 デバイスが容量いっぱいになったり、性能が低下したり、利用できなくなったりした場合、影響を受けるのは関連するディレクトリのみです。

共有ストレージの場合、この問題は当該デバイスを共有しているすべてのディレクトリに影響を及ぼします。

Instana のデータストアは相互に依存しているため、障害発生時にはサービスの完全な可用性を保証することはできませんが、ストレージを分離することで影響範囲を限定し、復旧作業を簡素化することができます。

ストレージの分離の確認

各ディレクトリが独立した物理リソースによって構成されており、どのレイヤーにおいてもリソースの共有が行われていないことを確認する必要があります。

ホストは、複数のデバイスが共有ストレージに接続されている場合でも、それらを提示することができます。 ホストレベルの検証だけでは不十分です。

ホストレベルで検証するには、以下のコマンドを実行してデバイスマッピングを確認してください。

ブロックデバイスとマウントポイントを一覧表示するには:
lsblk -o NAME,SIZE,TYPE,MOUNTPOINT

LVM構成(LV、VG、PVのトレース)については:

sudo pvssudo vgssudo lvdisplay -m

設定は、以下の条件を満たす必要があります:

  • 各マウントポイントは、それぞれ固有のブロックデバイスを使用します
  • 1つのディレクトリに対して、複数のブロックデバイスが使用されることはありません
  • LVM構成では、各ボリュームグループは独自の物理ボリュームのみを使用し、ボリュームグループ間で物理ボリュームが共有されることはありません。

ストレージバックエンドで検証する:

SAN、NAS、または仮想化ストレージの場合、ホストはバックエンドのリソース共有状況を把握できないため、追加の検証が必要となります。

ストレージプロバイダーまたは管理者に、以下の条件を確認してください:

  • これらのボリュームは、同じストレージプール、RAIDセット、またはデータストアに由来するものではありません。
  • キャッシュなどのストレージコントローラのリソースは共有されません。
  • ファブリックまたは接続パスは独立している
  • あるボリュームでのI/O操作は、別のボリュームには影響しません。
例外:NVMeストレージ

この分離要件は、シーク遅延やシリアル化されたI/Oキューなど、従来のディスクの特性に基づいています。 NVMeストレージは、こうした制約を大幅に軽減します。 NVMe環境では、この要件を容量ベースのモデルへと緩和することができます。

容量ベースの配置:以下の条件が満たされる場合、複数のディレクトリが単一のNVMeデバイスを共有できます:

  • このデバイスは、十分な持続的なIOPSとスループットを提供します。
  • 容量は、すべてのディレクトリのピーク需要の合計を上回っています。

平均的な使用量ではなく、ピーク時の使用量を想定する:ワークロードは突発的に増加し、同時アクセスが集中すると、通常時は十分な性能を持つように見えるデバイスでも処理能力が限界に達してしまうことがある。

障害の特定範囲の縮小:同一デバイス上のすべてのディレクトリは、単一の障害ドメインを共有します。 デバイスが障害を起こした場合、同じ場所に配置されているすべてのディレクトリに影響が及びます。 その分離性が失われても問題ない場合にのみ、共有NVMe構成を使用してください。

デフォルト・ディレクトリー

Instana データの保存には、以下のディレクトリを使用します。

  • データディレクトリ:Elasticsearch、 PostgreSQL,、および Kafka のデータストアに使用されます。 デフォルトのロケーションは /mnt/instana/stanctl/dataです。
  • メトリクスディレクトリ:Cassandra および BeeInstana のデータストアに使用されます。 デフォルトのロケーションは /mnt/instana/stanctl/metricsです。
  • アナリティクスディレクトリ:ClickHouse のデータストアに使用されます。 デフォルトのロケーションは /mnt/instana/stanctl/analyticsです。
  • 「Objects」ディレクトリ: 生のスパン、合成監視、およびエンドユーザー監視(EUM)に使用されます。 デフォルトのロケーションは /mnt/instana/stanctl/objectsです。
  • クラスタデータディレクトリ: クラスタデータ用に使用されます。
  • $HOME ディレクトリ: 現在のrootユーザーまたはroot以外のユーザーのホームディレクトリ。

Instana の各機能ではデータ処理量が非常に多いため、パフォーマンスの問題を回避するには、ソリッドステートドライブ(SSD)などの高速な専用ストレージを使用してください。 データ、メトリクス、アナリティクス、およびオブジェクトの各ディレクトリには、それぞれ別のディスクを使用してください。

以下のディレクトリを、それぞれ別のディスクにマウントする必要があります:

  • クラスタのデータディレクトリ: ディスク容量が不足している場合は、任意の /varディレクトリを指定できます。 例えば、/xyz/data などです。 インストール時には、必ずこの --cluster-data-dir ディレクトリを指定してください。 この --cluster-data-dir フラグは、ディレクトリ /var/lib/rancher/k3s のみをカスタムパスにリダイレクトします。 K3s また、kubeletは、コンテナランタイムの一時データやコンポーネントのログなど /var/lib/kubelet/pods、他の /var 場所にも引き続きデータを書き込み続けます。 これらのディレクトリを格納するのに十分な空き容量が /var ディスクにあることを確認してください。 の空き容量が不足すると、ポッドのスケジューリングに失敗したり、 /var kubeletからディスク容量不足の警告が表示されたりする可能性があります。 このような問題が発生した場合は、およびその他の /var/var/lib/kubelet サブディレクトリの空き容量を確認する必要があります。
  • $HOME ディレクトリ: 現在のユーザーのホーム $HOME ディレクトリを指します。 たとえば、ユーザーがrootユーザーの場合、 $HOME は となります /root。root以外のユーザーの場合、 $HOME は となります /home/<username>

ネットワーキングの要件

次のポートと IP アドレスの要件を満たしていることを確認してください。 これらのポートを開く方法の詳細については、ファイアウォールルール

注: 必要なパッケージを取得するために、バックエンドサーバーで高速かつ低遅延で安定した接続が確保されていることを確認してください。

必要なポート

すべてのノード上の次のポートが開いていてアクセス可能である必要があります。

表 9. マルチノードポート
ポート番号 方向 プロトコル ソース 説明
22 インバウンド TCP 外部 セキュアシェル(SSH)接続に必要なポート(SSHでログインする場合のみ必要)
22 インバウンド TCP 内部 バックエンドノード間のアクセスに必要なSSHポート
80 インバウンド TCP 外部 HTTP Instana コンソールUIのプロトコル
443 インバウンド TCP 外部 HTTPS Instana コンソールUIのプロトコル、 Instana コンソール、 API、 Instana EUM、 OpenTelemetry,、および Instana エージェントのアクセプタポート
443 アウトバウンド TCP 外部 オンライン環境でのみ必要。 詳細については、「 Instana のセルフホスト型展開におけるアウトバウンドネットワークアクセスの要件」 を参照してください。
53 インバウンド TCP/UDP 内部(全ノード) DNS ドメイン名の解決に必要なポート
6443 インバウンド TCP 内部(全ノード) 内部サービスポート
8443 インバウンド TCP 外部 Instana エージェント受信ポート。 このポートは任意です。
10250 インバウンド TCP 内部(全ノード) 内部サービスポート
2379 インバウンド TCP 内部(全ノード) 内部サービスポート
2380 インバウンド TCP 内部(全ノード) 内部サービスポート
5001 インバウンド TCP 内部(全ノード) 内部サービスポート
8472 インバウンド UDP 内部(全ノード) 内部サービスポート
9443 インバウンド TCP 内部(全ノード) 内部サービスポート
すべて インバウンド TCP/UDP 10.42.0.0/16 および10.43.0.0/16 Instana のセルフホスト型コンポーネントのサブネット
すべて インバウンド TCP/UDP ループバック VM が自身のデータパケットを送受信できるように、ポートを開いてください。

以下の注を参照してください。

  • 「外部ソース」とは、そのポートが Instana のセルフホスト型エンタープライズ(プライベート)ネットワークの外側からアクセス可能でなければならないことを意味します。
  • 内部ソースとは、1 つのノード上のポートが、マルチノード クラスターの他の 2 つのノードからアクセスできる必要があることを意味します。
  • IPアドレス10.42.0.0/16そして10.43.0.0/16内部的にすべてのポート (1 - 65535) にアクセスできる必要があります。
  • ファイアウォールはループバック アドレスからのすべてのトラフィックを信頼する必要があります。
  • 特定のリポジトリにアクセスするには、送信ポート 443 が必要です。 詳細については、 「アウトバウンドネットワークアクセスの要件」 を参照してください。

IP アドレス

マルチノード クラスターの 3 つのノードは、次の IP アドレス要件を満たしている必要があります。

  • 3 つのノードすべてが相互に通信できるようにするには、同じプライベート VLAN 上のプライベート IP アドレスが必要です。
  • node0 (instana-0)には、外部との通信用にIPアドレスも必要です。 IPアドレスは、クラスタの外部からホストにアクセスするためにも使用されます。