プライベートな場所の設定

自社内に環境を構築することができます。これは「セルフホスト型 PoP 」(または「プライベート PoP 」)と呼ばれています。

注:Instana のセルフホスト版では、プライベートな場所を使用する必要があります。

プライベートな場所は、プライベートネットワーク内にあります。 このロケーションをデプロイ、保守、管理して、テストを実行することができます。 これは、お客様の Instana ライセンスに含まれています。 プライベートな場所は、以下の目的で使用できます:

  • 一般公開されていないアプリケーションを監視する
  • 自社の特定の拠点やオフィスからテストを実行してください

プライベートな場所を使用するには、以下の手順に従ってください:

  1. その場所を稼働させるための環境を整えてください。
  2. 「 Helm 」のチャートをダウンロード。
  3. PoP をデプロイします。 PoP をデプロイする Kubernetes クラスターと同じクラスターに、 Instana エージェントをインストールします。 詳細については、 「 PoP のセルフホスト型デプロイ」 を参照してください。

ロケーションがデプロイされると、サーバーにプライベートロケーションとして登録されます。 プライベートロケーションが表示されない場合や、 OpenAPI, で空のレスポンスが返ってくる場合は、 PoP コントローラーのログを確認してください。 詳細については、「トラブルシューティング」を参照してください。

アーキテクチャー

シンセティック PoP は、 Kubernetes クラスター内の Kubernetes ポッドのセットとして実行されます。以下のアーキテクチャーを参照してください。

合成テストでは、以下の再生エンジンがサポートされています。 API に設定する値は、テストの種類によって異なります。

再生エンジン テスト・タイプ API における値
HTTP API シンプル HTTPAction
JavaScript API スクリプト HTTPScript
BrowserScript - Webpage Simple または Browser Simple - Node.js-based Browser Script - Selenium IDE スクリプトベースの Webpage Script WebpageAction BrowserScript WebpageScript
インターネット・サービス・モニタリング(ISM) - SSL 証明書 - DNS SSLCertificate DNS

導入オプション

合成 PoP は、 Helm チャートによってのみデプロイできます。

チャートのバージョン履歴については、 ArtifactHUBで公開されている シンセティック PoP チャート を参照してください。

前提条件

合成 PoP を Kubernetes クラスターにデプロイする必要があります。 「 helm 」のチャートを使用して、Synthetic PoP, をデプロイし、 Kubernetes および helm が環境にインストールされていることを確認してください。

  • PoP をインストールする Kubernetes クラスターをセットアップします。 Kubernetes ディストリビューションでサポートされる最小バージョンは 1.10です。 詳しくは、 Kubernetesを参照してください。
  • Helmをインストールします。 Helm V3 をお勧めします。 詳しくは、 Helmを参照してください。

PoP の導入に必要なハードウェア要件の詳細については、 「 PoP のキャパシティプランニング」 を参照してください。

手順

helm のインストールコマンドを使用して、新しいSynthetic PoP, をインストールし、以下の値を指定してください。 PoP は、別のネームスペースにインストールすることをお勧めします。

  • ダウンロードキー: イメージを取得するためのダウンロードエージェントキーcontainers.instana.ioDockerレジストリ。
  • controller.location: 形式は label; displayLabel; country; city; latitude; longitude; descriptionです。 このラベルは PoP の識別子として機能します。スペースを含まない単一の文字列でなければなりません。 ラベルには、英字、数字、ハイフン、およびアンダースコアのみを含めることができます。
  • controller.instanaKey : Instana のエージェントキー。 Instana バックエンドへの接続に使用されます。
  • controller.instanaSyntheticEndpoint : Instana バックエンドにおけるSyntheticアクセプターのイングリッスエンドポイント。
  • コントローラー.クラスター名: オプション。 この PoP を監視するために Instana エージェントをインストールする際、 Instana UI に表示される Kubernetes クラスタの名前を設定する必要があります。
  • redis.password : redis サーバーへの認証パスワード。 10 以上の長さのパスワードを指定してください。
  • redis.tls.enabled : ` Redis ` および ` TLS ` を有効にするかどうかを指定します(デフォルトは false)。 値がの場合 true、 Redis との通信は TLS で暗号化されます。
  • redis.tls.secretName :この redis.tls.enabled フィールドの値が「 true」の場合、 Redis TLS のキー/証明書ファイルに対して秘密名を指定する必要があります。 downloadKeycontroller.instanaKeycontroller.instanaSyntheticEndpointの値を見つけるには、以下の手順を実行します:
  1. Instana のUIにサインインし、 「Synthetic Monitoring」 をクリックします。
  2. 「場所」 をクリックしてください。
  3. 以下のいずれかのステップを実行します。
    • Instana ( SaaS, )で、 「場所を作成 」をクリックし、 「非公開 」を選択します。
    • Instana のセルフホスト版で、 「 PoP を展開」 をクリックし、 「プライベート」 を選択します。
  4. downloadKeycontroller.instanaKeycontroller.instanaSyntheticEndpointの値をコピーする。

インストールを構成するには、 --set フラグを使用してコマンド・ラインで値を指定するか、 -f フラグを使用して値を指定した yaml ファイルを指定します。

以下の例では、ロケーション名 MyPoP を持つシンセティック PoP がデプロイされ、 Redis は認証にパスワードを使用します。 要件に基づいて、以下のパラメーターを更新する必要があります。

helm install synthetic-pop \
    --repo https://agents.instana.io/helm  \
    --namespace syn \
    --create-namespace \
    --set downloadKey="yourdownloadkey" \
    --set controller.location="MyPoP;My PoP;MyCounty;MyCity;0;0;This is a testing Synthetic Point of Presence" \
    --set controller.instanaKey="instanaAgentkey" \
    --set controller.instanaSyntheticEndpoint="https://synthetics-green-saas.instana.io" \
    --set redis.tls.enabled=false \
    --set redis.password="a1fc5d01bcbb" \
    synthetic-pop
 

また、 values.yaml を指定して、 PoP をデプロイすることもできます。 次の例では、 values.yaml テンプレートを取得し、変更を加えたYAMLファイルを渡して PoP をデプロイする方法を示します。

helm repo add synthetic-pop-repo https://agents.instana.io/helm
helm repo update
helm pull synthetic-pop-repo/synthetic-pop
tar xzvf synthetic-pop-*.tgz
# Modify the synthetic-pop/values.yaml file
# Run helm install to pass the modified values.yaml
 helm install synthetic-pop \
    --repo https://agents.instana.io/helm  \
    --namespace syn \
    --create-namespace \
    -f /path/to/values.yaml \
    synthetic-pop
 

PoP をインストールした後、各ポッドの状況が Running および Ready であることを確認します。

kubectl get pod -n syn
 

Instana のUIにサインインし、 「Synthetic Monitoring」 > 「Locations 」をクリックすると、ロケーション一覧に自分のロケーションが表示されていることが確認できます。 そうでない場合は、「 トラブルシューティング 」セクションに進み、ログ・ファイルを確認してください。

セキュリティ拡張

Synthetic PoP, 以下のセキュリティ対策を適用してください。

TLS 暗号化

PoP コントローラーとさまざまなプレイバック・エンジンは Redis サーバーを介して通信し、 PoP コントローラーはヘルス・チェックのエンドポイントを提供します。 TLS を設定して、 Redis TLS 経由の通信を暗号化したり、 HTTPS を使用して PoP コントローラーのエンドポイントを暗号化したりすることができます。

TLS を設定するには、 X.509 の証明書と秘密鍵のペア(tls.crt, tls.key)および認証局(CA)のルート証明書ファイル(ca.crt)が必要です。鍵ファイルと証明書ファイルをお持ちでない場合は、コマンド openssl を使用して新しいものを生成することもできます。 以下の例を参照してください。

openssl genrsa -out tls.key 4096
openssl req -x509 -new -nodes -sha256 -key tls.key -days 3650 -subj '/O=Instana/CN=Certificate Authority' -out ca.crt
openssl req -new -sha256 -key tls.key -subj '/O=Instana/CN=Server' | openssl x509 -req -sha256 -CA ca.crt -CAkey tls.key -CAserial ca.txt -CAcreateserial -days 3650 -out tls.crt
 

鍵/証明書ファイルが提供された後、 kubectl コマンドを使用して秘密を作成します。

# Create a new TLS secret named pop-tls-secret with the given key/cert files
kubectl create secret generic pop-tls-secret -n syn \
--type='kubernetes.io/tls' \
--from-file=ca.crt=path/to/ca.crt \
--from-file=tls.crt=path/to/tls.crt \
--from-file=tls.key=path/to/tls.key
 

「 TLS 」をサポートするために「 PoP 」をデプロイするには、次のコマンドを実行してください:

helm install synthetic-pop \
    --repo https://agents.instana.io/helm \
    --namespace syn \
    --create-namespace \
    --set downloadKey="yourdownloadkey" \
    --set controller.location="MyPoP;My PoP;MyCounty;MyCity;0;0;This is a testing Synthetic Point of Presence" \
    --set controller.instanaKey="instanaAgentkey" \
    --set controller.instanaSyntheticEndpoint="https://synthetics-green-saas.instana.io" \
    --set redis.tls.enabled=true \
    --set redis.tls.secretName="pop-tls-secret" \
    synthetic-pop
 

セキュアコンピューティングモード

セキュア・コンピューティング・モード (または seccomp) を使用して、プロセスの特権をサンドボックス化することができます。これにより、ユーザー・スペースからカーネルへの呼び出しが制限されます。 すべてのコンテナーのデフォルト seccomp プロファイルとして RuntimeDefault を使用可能にするには、以下のパラメーターを使用します。

注: デフォルトのseccompプロファイルは、 Kubernetes のバージョン 1.19 以降、またはOCP( OpenShift Container Platform )のバージョン 4.11 以降でのみ動作します。 OCP 4.11 以降で が true に設定されていない seccompDefault 場合、 helm のインストールを実行すると、いくつかの警告メッセージが表示されることがあります。
helm install synthetic-pop \
    --repo https://agents.instana.io/helm \
    --namespace syn \
   ...
    --set seccompDefault=true \
    synthetic-pop
 

ネットワーク・ポリシー

ネットワークポリシー を使用することで、Podがネットワークとどのように通信できるかを指定できます。 PoP から特定の IP または IP 範囲へのアクセスをブロックするには、 playbackEngineNetworkPolicy パラメーターを有効にしてカスタマイズします。 通常、以下の IP アドレスを収集できます。

  • クラウドプロバイダーのメタデータサービスのIPアドレス: AWS のメタデータ( API )、 Google Cloud のメタデータ( API )、 Azure のメタデータ( API )用 169.254.169.254 です。
  • Kubernetes API サーバーのIPアドレス: kubectl コマンドを使用して、 Kubernetes API のサーバーIPアドレスを取得します。 microk8s またはminikube Kubernetes クラスターについては、以下の例を参照してください:
# Use the following command to print apiserver endpoint
# For example, if the following command prints "Endpoints: 10.128.0.127:16443", you need to block the IP address 10.128.0.127
kubectl describe service kubernetes
 

次に、 helm charts 内の values.yaml ファイルを次のように変更し、収集した IP アドレスをブロックする Egress ルールを有効にします。

playbackEngineNetworkPolicy:
  # Change the value to true to enable the network policy
  enabled: true
  egress:
    - to:
        - ipBlock:
            # Allow all IP address v4
            cidr: 0.0.0.0/0
            except:
              # Block Kubernetes API server IP address
              - 10.128.0.127/32
              # Block cloud provider metadata service IP address
              - 169.254.169.254/32
 

--setを使用してネットワーク・ポリシーを渡すには、以下の例を参照してください。

# --set-json only be supported since Helm V3.11
helm install synthetic-pop \
    --repo https://agents.instana.io/helm \
    --namespace syn \
   ...
    --set playbackEngineNetworkPolicy.enabled=true \
    --set-json 'playbackEngineNetworkPolicy.egress=[{"to":[{"ipBlock":{"cidr":"0.0.0.0/0","except":["10.128.0.127/32","169.254.169.254/32"]}}]}]' \
    synthetic-pop
 

移行シナリオ

バックエンド移行シナリオに対応するため、セミコロンで区切って複数のSyntheticアクセプターエンドポイントと Instana エージェントキーを指定できます。 Instana エージェントキーとSyntheticのアクセプターエンドポイントは、1対1の関係にあります。 移行期間中、Synthetic PoP は、ダウンタイムを回避するために、旧バックエンドと新バックエンドの両方にデータを送信できます。

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

helm install synthetic-pop \
    --repo https://agents.instana.io/helm \
    --namespace syn \
    --set controller.instanaKey="instanaAgentkey;anotherInstanaAgentKey" \
    --set controller.instanaSyntheticEndpoint="https://synthetics-green-saas.instana.io;https://synthetics-green-saas.instana.host" \
    ...
 

アップグレード

シンセティック PoP の最新バージョンには新機能、改善点、またはフィックスが含まれている可能性があるため、シンセティック PoP を定期的に最新バージョンにアップグレードすることをお勧めします。 PoP のバージョンを確認するには、 「Synthetic Monitoring」 に移動し、 「ロケーション」 タブをクリックします。 「バージョン」列には、 PoP バージョンが表示されます。 Syntheticの最新バージョンを確認するにはPoP,見る合成PoPチャートに発表されましたArtifactHUB。

helm 」 のアップグレードコマンドを使用して、Syntheticの PoP を最新バージョンに更新します。 以下の例を参照してください。 必要に応じてパラメーターを変更できます。 PoP を特定のバージョンに更新するには、追加でパラメータを --version <version> 指定してください。

helm upgrade synthetic-pop \
    --repo https://agents.instana.io/helm \
    --namespace syn \
    --set downloadKey="yourdownloadkey" \
    --set controller.location="MyPoP;My PoP;MyCounty;MyCity;0;0;This is a testing Synthetic Point of Presence" \
    --set controller.instanaKey="instanaAgentkey" \
    --set controller.instanaSyntheticEndpoint="https://synthetics-green-saas.instana.io" \
    --set redis.tls.enabled=false \
    --set redis.password="a1fc5d01bcbb" \
    synthetic-pop
 

:

  • label価値の位置パラメータは、PoP,変更は許可されません。 必要に応じて displayLabel 値を変更することをお勧めします。
  • redis のパスワードは更新できません。 どうしても変更する必要がある場合は、一度アンインストールしてから、更新された redis のパスワードを使用して再インストールしてください。

アンインストール

helm 」のアンインストールコマンドを使用して、Syntheticの PoP をアンインストールします。

helm uninstall synthetic-pop -n syn
 
注:PoP をアンインストールした後も、 Instana のUIには offlinePoP's の場所がステータス付きで表示されたままになります。 PoP を同じ場所に再インストールして、その場所を再びオンラインにすることができます。あるいは、もう使用しない場合は、UI上でその場所を削除することもできます。

その他の設定オプション

再生エンジンの有効化

要件に応じて、一部のプレイバック・エンジンを無効にすることができます。 例えば、ブラウザー・テストが不要になった場合は、 BrowserScript 再生エンジンを無効にすることができます。 シンセティック PoPの CPU とメモリーのリソースを削減するために、以下のパラメーターを渡してプレイバック・エンジンを無効にします。

--set browserscript.enabled=false
 

機能

controller.capabilitiesプロパティは合成の再生機能を定義しますPoP,サポートされている合成テストと Web ブラウザーの種類が含まれます。

CustomProperties

controller.customProperties プロパティーは、この PoPのカスタマイズされたタグまたはプロパティーを定義します。 このプロパティーは、 key1=value1;key2=value2のようにセミコロンで区切られた key:value のペアのリストです。

API$env.key1 やブラウザスクリプト内でカスタムプロパティやタグにアクセスするには、次のような API を使用します。

プロキシー

Synthetic PoP が Instana のバックエンドサーバーに接続できるよう、プロキシサーバーを設定できます。 以下のオプションがサポートされています。

  • proxy.popProxyProtocol: プロキシー・サーバーによって使用されるプロトコル。 値を http または socksに設定します。
  • proxy.popProxyServer: ipaddress:port 形式のプロキシー・サーバー・アドレス。
  • proxy.popProxyUserPass: プロキシー・サーバーを認証するためのユーザー名とパスワード。 ユーザー名とパスワードを username:password の形式で入力します。
注: Synthetic PoP が監視対象のサービスに接続できるようプロキシサーバーを設定するには、 API スクリプトまたはブラウザスクリプト内で、 $network API を使用してプロキシサーバーを設定できます。

再生エンジンプロキシ(外部テストトラフィック専用)

この設定は、セルフホスト型の Instana バックエンドとSyntheticの PoP が同じネットワーク上で実行されている場合に使用できます。 PoP コントローラーは、プロキシを経由せずにバックエンドに直接接続できます。外部エンドポイントのテストを行う際には、再生エンジンだけがプロキシ経由でアクセスする必要があります。

再生エンジンコンテナのプロキシ環境変数を設定することで、 HTTP、 JavaScript,、 BrowserScript,、ISMテストなどのシンセティックテストの送信トラフィックを、社内プロキシ経由でルーティングすることができます。 これらの設定は、合成テストの実行にのみ適用され、 PoP とバックエンド間の接続には影響しません。

サポートされている環境変数:

  • HTTP_PROXY: HTTP への送信リクエスト用のプロキシサーバー
  • HTTPS_PROXY: HTTPS への送信リクエスト用のプロキシサーバー
  • NO_PROXY: プロキシを経由せずにアクセスする必要があるホストまたはドメイン(例: Instana のバックエンドおよび内部クラスタのドメイン)
例:
HTTP_PROXY: "http://proxy:3128"
HTTPS_PROXY: "http://proxy:3128"
NO_PROXY: "instana.backend.example.com,.svc,.cluster.local"
注: これらの設定は任意であり、再生エンジンにのみ適用されます。 プロキシパラメータを使用して、 PoP と Instana バックエンド間の通信用にプロキシを設定します。

外部シークレットの使用

Helm チャートを使用してキー controller.instanaKeyredis.passwordproxy.popProxyUserPass、および downloadKeyの新しいシークレットを作成しない場合は、以下のようにシークレット名を指定して、シンセティック PoP デプロイメント用に作成した既存のシークレットを使用できます。

helm install synthetic-pop \
    --repo https://agents.instana.io/helm \
    --namespace syn \
    --set downloadSecret="my-pull-secret" \
    --set controller.instanaKeySecret="my-pop-secret" \
    --set redis.passwordSecret="my-pop-secret" \
    --set proxy.popProxyUserPassSecret="my-pop-secret" \
    ...
 

キー controller.instanaKeyredis.password、および proxy.popProxyUserPassには、同じシークレットを使用することも、既存の別のシークレットを使用することもできます。 ただし、シークレットを作成する際は、指定されたキーフィールド「 instana-key 」、「 redis -password 」、「 proxy-user-pass 」を次のように使用する必要があります:

 kubectl create secret generic my-pop-secret  --namespace <namespace> \
 --from-literal=instana-key='<instana agent key>'  \
 --from-literal=redis-password='<redis password>'  \
 --from-literal=proxy-user-pass='<proxy username and password>'
 
注: <namespace> を、Synthetic PoP のインストールに使用する名前空間に置き換えてください。

downloadKey 鍵の秘密は、 kubernetes.io/dockerconfigjson タイプを使用する必要があります。 以下のようにして、 kubernetes.io/dockerconfigjson タイプのシークレットを作成できます。

kubectl create secret docker-registry my-pull-secret --namespace <namespace> --docker-server="https://containers.instana.io" --docker-username="_" --docker-password="<downloadKey>"
 

注:

  • < namespace> を、シンセティック PoPのインストールに使用する名前空間に置き換えます。
  • -- docker -username 引数の値を変更しないでください。
  • <downloadKey> 」を、 Instana のダウンロードキーに置き換えてください。

モニタリング

Instana ホストエージェントを使用して、Syntheticの PoP を監視できます。 Instana ホストエージェントは、Syntheticの PoP センサーを使用して、 PoP を監視します。

合成 PoP センサー

Syntheticの PoP, を監視するには、 PoP がインストールされている Kubernetes クラスターに、 Instana ホストエージェントをインストールすることをお勧めします。

Instana ホストエージェントのインストール後、 PoP を監視するために、 Syntheticの PoP センサーが自動的にインストールされます。 Instana のUIでメトリクスを確認でき、Syntheticの PoP に何らかの障害が発生した場合はアラートを受け取ることができます。

PoP コントローラーポッドを特定のノードに割り当てる

複数のノードがある Kubernetes クラスターでシンセティック PoP をアップグレードすると、 PoP コントローラー・ポッドが、意図したものとは異なるノードに割り当てられる場合があります。 PoP コントローラーが別のノードに割り当てられている場合、 PoP entityId が変更されます。 PoP モニター・ダッシュボードの PoP 正常性データは、POP entityIdに関連付けられているため、失われます。 この PoP で実行されているシンセティック・テストの結果と結果の詳細は影響を受けません。

PoP 正常性データが失われないようにするには、シンセティック PoPをアップグレードまたはインストールする前に、 PoP コントローラー・ポッドを固定ノードに割り当てます。

PoP コントローラーを固定ノードに割り当てるには、以下の手順を実行します。

  1. 以下のコマンドを実行して、ノードにラベルを追加します。

    kubectl label nodes <yournode> scheduler=synthetic-pop-controller
     
  2. ` helm install or` helm upgrade コマンドで、次のパラメータを指定してください: --set controller.nodeSelector.enabled=true

PoP コントローラー・ポッドを固定ノードに割り当て、このノードから他のポッドを除外するには、以下の手順を実行します。

  1. 以下のコマンドを実行して、ノードにテイントを追加します。

    kubectl taint nodes <yournode> toleration=synthetic-pop-controller:PreferNoSchedule
     
  2. ` helm install or` helm upgrade コマンドで、次のパラメータを指定してください: --set controller.taintSelector.enabled=true

トラブルシューティング

Helm チャートのバージョンを確認するには、以下のコマンドを実行します。

helm list -n <namespace>
 

synthetic-pop-<version>などの結果からバージョン番号を取得できます。

問題が発生した場合(たとえば、指定した場所が Instana のSynthetic UIに表示されないなど)、まず次のコマンドを実行して、 PoP コントローラーのログを確認してください:

kubectl logs -n <namespace> -f <pop_controller_pod_name>
 

各コンポーネントのトレースレベルを変更するには、traceLevelアップグレードするには、以下の値を入力してくださいPoP:

--set controller.traceLevel="DEBUG" \
--set http.traceLevel="DEBUG" \
--set javascript.traceLevel="DEBUG" \
--set browserscript.traceLevel="DEBUG" \
--set ism.traceLevel="DEBUG" \
--set redis.traceLevel="DEBUG"
 

コンテナーで set_trace_level.sh コマンドを実行することにより、ポッドを再始動せずに PoP コントローラーのトレース・レベルを動的に変更することもできます。

# enter synthetic-pop-controller container
kubectl exec -it -n <namespace> <pop_controller_pod_name> -- bash
# run set_trace_level.sh command to change trace level to DEBUG
./set_trace_level.sh DEBUG
 

Syntheticの PoP のログファイルを収集して tar.gz 1つのファイルにまとめ、サポートチーム( Instana )に送信するための pdcollect.sh スクリプトが用意されています。 この pdcollect.sh スクリプトは、 Instana の Helm chartsディレクトリにあるほか、 synthetic-pop-chartsリポジトリからダウンロードすることもできます。

以下のコマンドを実行します。

# collect PoP logs from a namespace
./pdcollect.sh -n <namespace>
 

PoP コントローラーのログ・ファイルを確認します。各エラー・メッセージのトラブルシューティング手順は、以下のセクションにリストされています。

ステータス 403 アクセス禁止

PoP コントローラーのログ・ファイルに次のエラー・メッセージが表示された場合: Request failed with status code: 403

このエラーの考えられる理由:

  • Instana キーが間違っています
  • ライセンスが検証されていません。
  • 「 URL 」というSyntheticエンドポイントは有効ですが、別のセルフホスト型インストール環境、または別の本番リージョンに属しています。

Instana SaaS, でこの問題を解決するには、以下の手順を実行してください:

  1. Instana のUIで、 「Synthetic Monitoring 」>「 Locations」 に移動します。
  2. 「場所を作成」 をクリックします。 「場所の作成」ダイアログが表示されます。
  3. 「プライベート」を選択します。
  4. 次へ をクリックします。
  5. 「シンプル」 タブで、 controller.instanaKey パラメーターと controller.instanaSyntheticEndpoint パラメーターが正しく設定されているかどうかを確認します。
  6. ライセンスが検証済みで、有効期限が切れていないかどうかを確認します。

Instana のセルフホスト版でこの問題を解決するには、以下の手順を実行してください:

  1. Instana のUIで、 「Synthetic Monitoring 」>「 Locations」 に移動します。
  2. Deploy a PoPをクリックします。 Deploy a PoPダイアログが表示されます。
  3. 「シンプル」 タブで、 controller.instanaKey パラメーターと controller.instanaSyntheticEndpoint パラメーターが正しく設定されているかどうかを確認します。
  4. 免許が有効かどうか、失効していないかどうかを確認する。

ステータス 404 見つかりません

PoP コントローラーのログ・ファイルに次のエラー・メッセージが表示された場合: Request failed with status code: 404

このエラーの考えられる理由:

  • 合成エンドポイント「 URL 」が正しく設定されていません。
  • Instana のバックエンドをセルフホストで利用している場合、Syntheticのアクセプターまたはロードバランサーに何らかの問題が発生しています。

Instana SaaS, でこの問題を解決するには、以下の手順を実行してください:

  1. Instana のUIで、 「Synthetic Monitoring 」>「 Locations」 に移動します。
  2. 「場所を作成」 をクリックします。 「場所の作成」ダイアログが表示されます。
  3. 「プライベート」を選択します。
  4. 次へ をクリックします。
  5. 「シンプル」 タブで、 controller.instanaKey パラメーターと controller.instanaSyntheticEndpoint パラメーターが正しく設定されているかどうかを確認します。

Instana のセルフホスト版でこの問題を解決するには、以下の手順を実行してください:

  1. Instana のUIで、 「Synthetic Monitoring 」>「 Locations」 に移動します。
  2. Deploy a PoPをクリックします。 Deploy a PoPダイアログが表示されます。
  3. 「シンプル」 タブで、 controller.instanaKey パラメーターと controller.instanaSyntheticEndpoint パラメーターが正しく設定されているかどうかを確認します。

セルフホスト型の Instana バックエンドを使用しており、パラメータ controller.instanaSyntheticEndpoint が正しく設定されている場合は、ロードバランサーとSyntheticアクセプターが正常に動作しているか確認してください。 詳細については、 「ロードバランサーの設定」および DNS を参照してください

ステータス 503 サービス利用不可

PoP コントローラーのログ・ファイルに次のエラー・メッセージが表示された場合: Request failed with status code: 503

このエラーの考えられる理由:

  • セルフホスト型の Instana バックエンドをインストールした際に作成されたIngress、Route、または LoadBalancer サービスに何らかの問題が発生しています。

この問題を解決するには、セルフホスト型の Instana バックエンドをインストールした際に作成された、利用可能なIngress、Route、または LoadBalancer サービスを確認してください。 欠落しているサービスまたは無効なサービスを作成または更新してください。 詳細については、 「ロードバランサーの設定」および DNS を参照してください。

Name or service not known

PoP コントローラーのログ・ファイルに次のエラー・メッセージが表示された場合: java.net.UnknownHostException: <hostname>: Name or service not known

このエラーの考えられる理由:

  • controller.instanaSyntheticEndpoint パラメーターのホスト名が正しくありません。
  • Kubernetes クラスタにおける DNS の問題。
  • コントローラーに明示的なエグレス・ポリシーを追加する際の問題。

この問題を修正するには、以下の手順を実行します。

  • controller.instanaSyntheticEndpoint パラメーターが正しく設定されているかどうかを確認してください。
  • Kubernetes クラスタの DNS の設定を確認してください。 詳細は、「 DNS の解決のデバッグ」 を参照してください。
  • ホスト名を controller.instanaSyntheticEndpoint パラメーターの IP アドレスに変更します。
  • コントローラーで、ピアとの必要な通信をすべて許可するように、アウトバウンドのネットワークポリシーを明示的に設定します。 デフォルトのポリシーは「allowed-all」であり、すべてのポートから任意のピアへの送信を許可します。
  • コントローラーでエグレス・ネットワーク・ポリシーを設定し、指定したピアまたはポート間の通信を許可します。 以下の例は、明示的に指定されたものを除き、すべての通信を拒否するポリシーを示しています。そのため、 Instana のエンドポイントとの通信が制限される可能性があります。
  egress:
    - ports:
      - port: 6379
        protocol: TCP
      to:
      - podSelector:
          matchLabels:
            app: redis
        namespaceSelector:
          matchLabels:
            kubernetes.io/metadata.name: {{ .Values.controller.redisNamespace }}
 
   egress:
    - ports:
      - port: 80
        protocol: TCP
      - port: 443
        protocol: TCP
 

証明書エラーなし

自己署名証明書をテストするために SSLCertificate テストを作成すると、テストの実行が「証明書がありません」というエラーで失敗する場合があります。 この問題は、自己署名証明書がサポートされていないために発生します。 Instana ( OpenAPI, )を使用してこの問題を解決するには、以下の手順に従ってください:

  1. Instana のバックエンドのバージョンが 3.292.x であることを確認してください。
  2. Syntheticの PoP を、バージョン 1.2.13 の R292 にアップグレードしてください。
  3. 「PATCH」を適用して「 No certificate 」エラーを表示するSSLCertificateテストを更新します。ペイロード以下の通りです:
{
  "configuration": {
    "acceptSelfSignedCertificate": true
  }
}
 

Instana のUIからこの問題を解決するには、以下の手順に従ってください:

  1. Instana のバックエンドのバージョンが 3.297.x であることを確認してください。
  2. Go 「Synthetic」のモニタリングに移動し、自己署名証明書を使用する「 SSL 」証明書テストを選択します。
  3. 設定 」ページで「 編集 」をクリックし、「 自己署名証明書を受け入れる 」を選択します。