エンドユーザー監視の設定
インフラやアプリケーションのデータといった他の種類の監視データとは対照的に、エンドユーザー監視データは、常にグローバルインターネットやローカルイントラネット上で動作する、信頼できないデバイスから収集されます。 このため、エンドユーザーのWebブラウザやモバイル端末が、貴組織の管理下にあるパブリックドメイン名を使用して安全な接続を確立できるようにするには、さらにいくつかの設定手順を行う必要があります。 さらに、エンドユーザーが監視インフラストラクチャの他の部分ではなく、特定のエンドユーザー監視エンドポイントのみにアクセスできるようにしてください。
次のセクションでは、関連するモニタリング・エンドポイント、公開される API、セキュリティーに関する考慮事項、およびモニタリング・エンドポイントをエンド・ユーザーが使用できるようにする方法について説明します。
モニタリング・エンドポイント
Instana のセルフホスト型(オンプレミス) Instana バックエンドは、ポート 86 ( HTTP ) および 446 ( HTTPS ) 上で、 HTTP のエンドユーザー監視エンドポイントを公開しています。 これらのポートは、JavaScript エージェントのダウンロードとデータの受け入れを可能にするために、直接またはリバース・プロキシーを介して、インターネットまたはイントラネット上で使用可能にすることができます。 これらのポートの数は、考えられる攻撃ベクトルを減らすため、およびモニター・エンドポイントの単純なデプロイメントを可能にするために、意図的に最小限に削減されます。
これらのポートは、 443Instana のユーザーインターフェースへのアクセス用に予約されているため、意図的に使用されていません 80 。 データ入力とユーザーインターフェースを分離することで、 Instana のエンドユーザー監視ソリューションを安全に導入しやすくなります。
HTTP 要求は、86 および 446 (プロキシーを介して内部ポート 2999 に接続) 上で、次のパスで受け入れられます。
- Web サイトのモニタリング・データの受け入れ
GET /eum/POST /eum/
- JavaScript エージェントのダウンロード
GET /eum/eum.min.jsGET /eum/eum.min.js.mapGET /eum/eum.jsGET /eum/eum.js.mapGET /eum/eum.debug.min.jsGET /eum/eum.debug.min.js.mapGET /eum/eum.debug.jsGET /eum/eum.debug.js.map
- モバイル・アプリケーションのモニタリング・データの受け入れ
POST /eum/mobile
Instana のUIでは、監視エンドポイントの URL をとして使用 trackingBaseUrlすることを推奨します。 trackingBaseUrl の有効な値は、 https://*instanaServer*:446/eum/です。
エンド・ユーザーへのモニタリング・エンドポイントの公開
NGINX や Apache HTTPd などのリバース・プロキシーを使用して、モニタリング・エンドポイントをエンド・ユーザーに公開することをお勧めします。 これにより、トラフィックがインターネットまたはイントラネットからネットワークを介してモニタリング・エンドポイントに正しくルーティングされるようにすることができます。 さらに、この機能を使えば、独自のドメイン名で監視エンドポイントを公開し、TLS( TLS )を使用した 443 ポート、独自の証明書、およびロードバランサー(ある場合)を設定することが可能です! ただし、インターネットから直接ポート 86 および 446 へのアクセスを許可することもできます。
モニタリング・エンドポイントのリバース・プロキシーを構成する方法を示すために、実行可能な例が提供されています。 これらの例では、 X-Forwarded-For ヘッダーの必要性など、追加またはプロキシーする必要があるヘッダーも示します。
「 エンドユーザー監視(EUM)設定 」の説明に従って、 Instana 内で監視エンドポイントを必ず設定してください。これにより、 Instana のUIが、 JavaScript エージェントおよびモバイルアプリエージェントの正しいインストール手順を提供できるようになります。
ブラウザとリバースプロキシ間のセキュアな接続の設定
HTTPS ポートを使用してモニター・エンドポイントを公開することをお勧めします。 有効な署名付き証明書を使用すれば、同じドメイン名の下でネットワークのトランスポート層セキュリティ( TLS )を設定できます。
認証局はないが、 自己署名 証明書を使用する場合は、モニター対象 Web サイトとモニター・エンドポイントの両方に要求をプロキシーするようにリバース・プロキシーまたはロード・バランサーをセットアップし、自己署名証明書を使用してプロキシーを構成する必要があります。
例えば、2 つのロケーションを https://proxy-server/website および https://proxy-server/eum/としてプロキシーを構成します。 その後、エンド・ユーザーが https://proxy-serverの着信自己署名証明書を受け入れると、この証明書は Web サイトとモニター・エンドポイントの両方で機能します。
独自の自己署名証明書を生成する方法については、 インストール資料を参照してください。
GeoLite2 データベース
Instana Maxmind の GeoLite2 データベースを使用して、エンドユーザー監視データのIPジオロケーション機能をサポートしています。 Maxmind では、カリフォルニア州消費者プライバシー法 (CCPA) に準拠するように GeoLite2 データベースを定期的に更新する必要があります。 これがないと、地理情報が欠落します。
Classic Edition で「 GeoLite2 」データベース( URL )を設定するには、以下の手順を実行してください
以下のコマンドを実行して、
https://packages.instana.ioなどから GeoLite2 データベースをダウンロードします。instana geodb download -k <agentKey>内部で使用されているデータベースを更新してください。
instana geodb update -f <path/to/file>変更を適用します。
instana update -f /path/to/settings.hcl
GeoLite2 EULA (EULA)に準拠していることを確認してください。
問題の分析
問題を分析するには、以下のアクションを実行します。
ブラウザーで JavaScript エージェントの URL を手動で開きます。 JavaScript をサーバーからの応答として取得しましたか?
- 失敗し、プロキシーを使用する場合は、 JavaScript ファイルへのパスが変更される可能性があることに注意してください。 以前のプロキシー構成の例では、パスは
/eum.min.jsです。 サブパスの下でeum-acceptorをプロキシー処理する場合は、末尾のスラッシュを考慮に入れるかどうか、つまりプロキシーが/eumパスをストリップするかどうかを確認します。 - もし失敗し、プロキシを使用していない場合は、 Instana の監視エンドポイントがポート
86および にのみバインド446されていることに注意してください。 - それでも機能しない場合は、サポートに連絡してセットアップについて説明し、プロキシー構成を送信して、スクリプトへのアクセス方法を説明してください。
- 失敗し、プロキシーを使用する場合は、 JavaScript ファイルへのパスが変更される可能性があることに注意してください。 以前のプロキシー構成の例では、パスは
アプリケーションに Web サイト・モニタリング・スニペットを追加します。
- Web サイトのデータが表示されない場合は、Web サイトのデバッグ・スクリプトを使用します。
eum.min.jsにアクセスする代わりにeum.debug.jsを使用します。 これにより、構成および送信に関する一連の情報がブラウザー・コンソールに記録されます。 コンソールを調べて、他に何か問題があれば解決します。 - ブラウザーで (開発ツールにある) ネットワーク・エクスプローラーを開きます。 設定済みのレポート用 URL に対して行われた、 HTTP へのGETリクエストおよび HTTP、 POST へのリクエストを確認できます。 これらの呼び出しが状況コード
200または204を返すことを確認してください。 特に、この呼び出しの結果として、プロキシから HTTP のリダイレクト(ステータスコード302)が返されないようにしてください。 - それでも問題が解決しない場合は、サポートに連絡してセットアップについて説明し、プロキシー構成を送信し、スクリプトへのアクセス方法を説明して、デバッグ・スクリプトの出力を送信します。
- Web サイトのデータが表示されない場合は、Web サイトのデバッグ・スクリプトを使用します。