自社ホストのPoP を展開する popctl
コマンドラインツール popctl を使用して、セルフホスト型のSynthetic PoP( PoP )を展開できます。
セルフホスト型のSyntheticPoPをオンラインでデプロイするには、以下の手順を実行する:
Instana リポジトリを追加します。
popctlコマンドラインツールをインストールします。popctlコマンドラインツールがすでにインストールされている場合は、popctlコマンドラインツールをアップグレードします。クラスターを作成します。
PoP をインストールする。
Instana エージェントをインストールします。
エアーギャップ環境で自社ホストの PoP を展開するには、以下の手順に従ってください
Instana リポジトリを追加します。
popctlコマンドラインツールをインストールします。popctlコマンドラインツールがすでにインストールされている場合は、popctlコマンドラインツールをアップグレードします。ネットワークに接続されていないインストールパッケージを作成します。
エアギャップ環境のインストールパッケージを転送する。
クラスターを作成します。
PoP をインストールする。
Instana エージェントをインストールしてください。
システム要件
popctl Linux x86_64 オペレーティングシステムのみに対応しています。
「Synthetic PoP, 」に必要なリソースについては、 「 PoP のセルフホスト環境におけるキャパシティプランニングとスケーリング」 を参照してください。
Instana リポジトリを追加する
ホストがインストールパッケージにアクセスできるように、ホストの ` sources.list /etc/apt.conf` ファイルに ` Instana ` リポジトリを追加してください。
ネットワーク的に分離された環境では、バシロンホストで手順を実行します。
Instana リポジトリを追加するには、ホスト上でrootユーザーとして以下のいずれかの手順を実行してください。 コマンドでは、<download_ky>をeあなたのダウンロード・キーに置き換えてください。
Red Hat® Enterprise Linux® または CentOS Stream を使用する場合は、次のコマンドを実行してください:
export DOWNLOAD_KEY=<download_key> cat << EOF > /etc/yum.repos.d/Instana-Product.repo [instana-product] name=Instana-Product baseurl=https://_:$DOWNLOAD_KEY@artifact-public.instana.io/artifactory/rel-rpm-public-virtual/ enabled=1 gpgcheck=0 gpgkey=https://_:$DOWNLOAD_KEY@artifact-public.instana.io/artifactory/api/security/keypair/public/repositories/rel-rpm-public-virtual repo_gpgcheck=1 EOFUbuntuまたはDebianの場合は、以下のコマンドを実行する:
export DOWNLOAD_KEY=<download_key> echo 'deb [signed-by=/usr/share/keyrings/instana-archive-keyring.gpg] https://artifact-public.instana.io/artifactory/rel-debian-public-virtual generic main' > /etc/apt/sources.list.d/instana-product.list cat << EOF > /etc/apt/auth.conf machine artifact-public.instana.io login _ password $DOWNLOAD_KEY EOF wget -nv -O- --user=_ --password="$DOWNLOAD_KEY" https://artifact-public.instana.io/artifactory/api/security/keypair/public/repositories/rel-debian-public-virtual | gpg --dearmor > /usr/share/keyrings/instana-archive-keyring.gpgSUSE Linux Enterprise Server(SLES)の場合は、次のコマンドを実行します:
export DOWNLOAD_KEY=<download_key> cat << EOF > /etc/zypp/credentials.d/instana_auth username=_ password=$DOWNLOAD_KEY EOF cat << EOF > /etc/zypp/repos.d/Instana-Product.repo [instana-product] name=Instana-Product baseurl=https://artifact-public.instana.io/artifactory/rel-rpm-public-virtual/?credentials=instana_auth enabled=1 gpgcheck=0 gpgkey=https://artifact-public.instana.io/artifactory/api/security/keypair/public/repositories/rel-rpm-public-virtual?credentials=instana_auth repo_gpgcheck=1 EOF
popctl コマンドラインツールのインストール
コマンドラインツ popctl ールをインストールするには、お使いのオペレーティングシステムに応じて、以下の手順のいずれかを実行してください。
ネットワーク的に分離された環境では、バシロンホストで手順を実行します。
Red Hat Enterprise Linux または CentOS Stream への popctl コマンドラインツールのインストール
Red Hat Enterprise Linux または CentOS Stream ホストに popctl コマンドラインツールをインストールするには、以下の手順を実行してください:
yumリポジトリを更新してください:yum clean expire-cache -yホストのパッケージ・インデックス・ファイルを更新する:
yum update -yインストール
popctl:yum install -y popctlバージョンロック・プラグインがホストにインストールされていない場合は、プラグインをインストールしてください:
yum install python3-dnf-plugin-versionlock自動更新を無効にし、パッケージ
popctlのバージョンを設定してください:yum versionlock add popctl
Debian Ubuntu popctl コマンドラインツールをインストールする
Ubuntu または Debian ホストに popctl コマンドラインツールをインストールするには、以下の手順を実行してください:
ホストのパッケージ・インデックス・ファイルを更新する:
apt update -yインストール
popctl:apt install -y popctl自動更新を無効にし、パッケージ
popctlのバージョンを設定してください:apt-mark hold popctl
popctl コマンドラインツールをSLESにインストールする
SLES ホストに popctl コマンドラインツールをインストールするには、以下の手順を実行してください:
ホストのパッケージインデックスファイルを更新し、更新する:
zypper refreshDo you want to reject the key, trust temporarily, or trust always? [r/t/a/?] (r):というプロンプトが表示されたら、aを入力して常に信頼するように設定します。インストール
popctl:zypper install -y popctl
popctl コマンドラインツールのアップグレード
コマンドラインツ popctl ールをアップグレードするには、お使いのオペレーティングシステムに応じて、以下の手順のいずれかを実行してください:
Red Hat Enterprise Linux または CentOS Stream を使用する場合は、次のコマンドを実行してください:
yum update popctlUbuntuまたはDebianの場合は、以下のコマンドを実行する:
apt update && apt install --only-upgrade popctlSLES の場合は、以下のコマンドを実行します。
zypper refresh && zypper update popctl
ツールをインストールすると、自動的に「$PATH」に追加されます。 どのディレクトリからでもコマンド popctl を実行できます。
バージョ popctl ンを確認するには:
popctl --version
の使用状況 popctl を確認するには:
popctl --help
特定のコマンドのヘルプを得るには
popctl help [command]
エアギャップされたインストールパッケージの作成
バシオンホストにインストールパッケージを作成するには、以下の手順に従います
Bastionホスト上で、 「popctl コマンドラインツールのインストール 」のセクションに記載されている手順に従って、
popctlpopctl がインストールされていることを確認してください。エアギャップパッケージを作成する:
popctl air-gapped packageデフォルトでは、パッケージは現在のディレクトリに作成されます。
ダウンロードキーを入力して続行してください
? Enter the download key or an official agent key: **********************入力したキーが有効であれば、インストーラがアーティファクトのダウンロードを開始し、エアギャップされたパッケージを作成します。 場合によっては以下のメッセージが表示されます。
⠋ 1/6 Packaging popctl artifacts [1/1] [0s] ✓ ⠋ 2/6 Packaging BuildMeta artifacts [1/1] [0s] ✓ ⠧ 3/6 Packaging Cluster artifacts [2/2] [0s] ✓ ⠼ 4/6 Packaging Helm artifacts [2/2] [1m5s] ✓ ⠙ 5/6 Packaging Registry (linux/amd64) artifacts [6/6] [4s] ✓ ⠼ 6/6 Packaging Agent (linux/amd64) artifacts [2/2] [2s] ✓ ⠸ Archiving air-gapped package [5s] ✓
ネットワークの状態によっては、分離されたパッケージが作成されるまでに数分かかる場合があります。
エアギャップパッケージの準備が整うと、次のメッセージが表示されます
------------------------------------------
Air-gapped package successfully exported!
File: synthetic-pop-airgapped.tar.gz
エアギャップされたインストールパッケージの転送
バスタリホストから、エアギャップ環境内のホストにエアギャップパッケージを転送するには:
エアギャップパッケージを展開し、
popctlファイルをホストの/usr/local/binディレクトリにコピーしますtar -xzf </path/to/synthetic-pop-airgapped.tar.gz> -C /usr/local/bin --strip-components 1 airgapped/popctlエアギャップされたパッケージをインポートする:
popctl air-gapped import -f </path/to/synthetic-pop-airgapped.tar.gz>
エアギャップ環境におけるセキュリティとネットワークの挙動
厳格なネットワークセキュリティやコンプライアンス要件が課される環境に対応するため、エアギャップ環境において「Synthetic Playback Points」( PoP )を利用できます。
アウトバウンドネットワークの動作
「Synthetic PoP 」は、セルフホスト型またはオンプレミスの「 Instana 」バックエンドで構成した場合、パブリックインターネットへのアウトバウンド接続を開始しません。 PoP は、ユーザーが明示的に設定したネットワークエンドポイントにのみ接続します。
テレメトリとデータ収集の動作
Synthetic PoP には、ハードコードされたテレメトリ機能やホームサーバーへの通信機能は含まれていません。 PoP は、利用状況データ、診断情報、またはメトリクスを外部の IBM サービスに送信しません。 PoP は、 IBM のエンドポイントに対して身元調査を行いません。
更新メカニズム
PoP (シンセティック版)は、自動更新に対応していません。 すべての更新は手動で行う必要があります。 PoP, を更新するには、コンテナイメージを、ご自身で用意した新しいバージョンに置き換えます。 PoP は、アップデートやパッチを自動的にダウンロードしません。
ネットワーク通信の範囲
「 PoP 」は、すべてのネットワーク通信を以下のパスに限定します:
- PoP → Instana バックエンドの設定:通信は、. を使用して定義した
INSTANA_ENDPOINT_URLInstana バックエンドとの間でのみ行われます。 - PoP → 合成監視の対象:通信は、合成テストで定義したエンドポイントとの間でのみ行われます。
- PoP の内部コンポーネント: Redis やその他の PoP コンポーネントなどの内部サービスは、 PoP 環境内でのみ通信を行います。 PoP は、その他のネットワーク接続を一切行いません。
- すべての外部ネットワーク宛先を管理します。
- すべての更新を手動で管理します。
- PoP は、外部の IBM サービスと通信しません。
- PoP は、お客様が定義したネットワーク境界内で完全に動作します。
クラスターの作成
シングルノードのK3sクラスタを作成する。 Kubernetesクラスターが存在する場合は、このステップをスキップする。
- オンライン
popctl cluster create - エアギャップ環境:
popctl cluster create --air-gapped
PoP のインストール
合成「PoP:インストールする
- オンライン
popctl up - エアギャップ環境:
popctl up --air-gapped
Kubernetes が存在しない場合は、次のコマンドでクラスターを作成し PoPをインストールすることができます
- オンライン
popctl up --create-k3s-cluster - エアギャップ環境:
popctl up --air-gapped --create-k3s-cluster
Redisのパスワードを使って合成PoPをインストールするには、プロンプトに値を入力する:
? Enter PoP label(label is PoP identifier which can not be changed): synthetic-pop
? Enter instana synthetic endpoint URL: https://synthetics-saas.instana.rocks
? Enter the namespace of Synthetic PoP: default
? Do you want to enable TLS encryption for redis communication? No
? Enter a new password for redis communication: **********
? Enter instana agent key: ************
? Enter the download key: **********************
セルフホストPoPのインストールが正常に初期化されると、クラスタのセットアップが開始される。 合成PoPの準備には数分かかるかもしれない。 以下のメッセージが表示されたら、合成PoPの準備は完了です。
⠹ Setting up the cluster [6s] ✓
⠦ Applying synthetic-pop [1m54s] ✓
「 Redis 」 TLS を有効にしてSynthetic PoP をインストールするには、プロンプトで以下のパラメータ値を入力してください:
? Enter PoP label(label is PoP identifier which can not be changed): synthetic-pop-default
? Enter instana synthetic endpoint URL: https://synthetics-saas.instana.rocks
? Do you want to enable TLS encryption for redis communication? Yes
? Enter TLS certificate files path including tls.crt, tls.key and ca.crt (hit Enter to auto-generate):
? Enter instana agent key: ************
? Enter the download key: **********************
以下のメッセージが表示されたら、合成PoPの準備は完了です。
⠧ Generate TLS Secrets [5s] ✓
⠋ Setting up TLS Secrets [0s] ✓
⠼ Applying synthetic-pop [1m24s] ✓
Instana エージェントのインストール
「Synthetic PoP 」を監視するために、 Instana エージェントをインストールしてください。
Instana エージェントをインストールするには、次のコマンドを実行してください。 --air-gapped パラメータを渡す必要はありません。
popctl agent apply
プロンプトで値を入力する。
出力例を以下に示す:
? popctl will use Helm Chart to install/update Instana Agent, please uninstall the existing Instana Agent first if the agent is installed with Operator or YAML, please confirm to install agent with Helm Chart Yes
? Enter Instana Endpoint port: 443
⠴ Applying instana-agent [5s] ✓
⠋ Setting up TLS Secrets [0s] ✓
⠋ Setting up Instana Agent TLS [0s] ✓
Instana エージェントのアンインストール
Instana エージェントをアンインストールするには、次の popctl agent delete コマンドを実行してください。
出力例を以下に示す:
? Do you want to delete the Instana agent? Yes
⠋ Uninstalling instana-agent from namespace instana-agent [0s] ✓
⠋ Deleting Agent TLS Secrets [0s] ✓
PoPのアンインストール
SyntheticPoP,をアンインストールするには、'popctl downコマンドを実行する。
出力例を以下に示す:
? Do you want to uninstall PoP under namespasce "default"? Yes
⠧ Uninstalling synthetic-pop from namespace default [0s] ✓
K3sの削除
K3sクラスタを削除するには、'popctl cluster deleteコマンドを実行する。
K3sバイナリファイルはクラスタとともに削除される。
よくある質問
シンセティックPoPに関連するよくある質問の回答をご覧いただけます。
別のネームスペースに新しいPoP をインストールするにはどうすればよいですか?
インストール設定ファイルは '~/.popctl/synthetic-pop.yaml に保存される。 名前を変更してから「popctl up再実行すれば、合成PoPの新規インストールが開始される。
Syntheticの PoP または Instana エージェントをアップグレードするにはどうすればよいですか?
コマンド popctl up を再度実行し、Syntheticの PoP および Instana エージェントを、設定を変更 popctl agent apply せずに最新バージョンにアップグレードします。
Syntheticの PoP または Instana エージェントのパラメータを変更するにはどうすればよいですか?
~/.popctl/synthetic-pop.yamlに保存されているパラメーターを手動で更新し、'popctl upまたは'popctl agent applyを再実行することができる。
PoP? をインストールする際に発生する「タイムアウトエラー:コンテキストの期限切れ」の問題を修正する方法は?
kubectl get pod -n <namespace> を実行して、SyntheticPoPネームスペースのポッドのステータスをチェックする。 ポッドが準備完了状態でない場合は、「kubectl logs -n <namespace> -f <pod-name>実行してログメッセージをチェックし、エラーメッセージを確認する。 Instana のエージェントキーやSyntheticエンドポイント( URL )などのパラメータが間違って入力された場合は、それらを修正してから実行してください popctl up。
インストールが中断された際に発生する「別の操作(インストール/アップグレード/ロールバック)が進行中です」という問題の解決方法
popctl upまたは'popctl agent applyコマンドが不意に中断された場合は、同じコマンドを再度実行する。
ステータスに関係なくすべてのリリースをリストアップするには、「helm ls -aAコマンドを実行する。
出力例を以下に示す:
NAME NAMESPACE REVISION UPDATED STATUS CHART APP VERSION
instana-agent instana-agent 1 2024-08-21 03:41:38.75709505 -0400 EDT pending-install instana-agent-1.2.73 1.275.0
リストから、リリース・ステータスが「pending-installであることがわかる。 リリースをアンインストールするには、「helm uninstall instana-agent -n instana-agentコマンドを実行する。 それから、もう一度「popctl upまたは「popctl agent applyコマンドを実行する。
popctl up を実行する際に、レプリカ番号やトレースレベルなどの他のパラメータを渡すにはどうすればよいですか?
--set Helmチャートの'values.yamlで定義されたパラメータを渡すことができる。
再生エンジン・ポッドのレプリカをスケールし、トレース・レベルを更新するためのパラメータを表示します:
popctl up \
--set browserscript.replicas=2 \
--set ism.replicas=2 \
--set http.replicas=2 \
--set javascript.replicas=2
トレースレベルを更新する:
--set browserscript.traceLevel="DEBUG" \
--set http.traceLevel="DEBUG" \
--set javascript.traceLevel="DEBUG" \
--set ism.traceLevel="DEBUG" \
...
popctl を使用して、Synthetic PoP が Instana のバックエンドサーバーに接続できるようにプロキシサーバーを設定するにはどうすればよいですか?
「 Helm 」チャートで定義されたパラメータを渡すには、 --setHelmvalues.yamlのインストールコマンドと同様に、を使用できます。
popctl up \
--set proxy.popProxyProtocol="" \
--set proxy.popProxyServer="" \
--set proxy.popProxyUserPass=""