Oracle Cloud Infrastructureデータ・アップロード・エンドポイントへのリアル・ユーザー・モニタリング・データの転送
様々なデプロイメント・シナリオに基づいて、リアル・ユーザー・モニタリング・データをOracle Cloud Infrastructureデータ・アップロード・エンドポイントに転送できます。
デプロイメントの構成シナリオの決定
- シナリオ1: 会社がすべてのユーザーに対して完全なインターネット・アクセスを許可している場合は、特別な構成やプロキシ設定なしで、リアル・ユーザー・モニタリング・データがApplication Performance Monitoringに送信されます。
- シナリオ2: 会社がインターネット・アクセスを制限しているが、それでもリアル・ユーザー・モニタリング・データ全部をApplication Performance Monitoringに送信する必要がある場合は、リクエストがApplication Performance Monitoringに送信されるように既存のファイアウォールまたはプロキシを構成する必要があります。プロキシを介したリアル・ユーザー・モニタリング・データの転送を参照してください。
- シナリオ3: セキュリティまたは管理に関する特殊な要件がある場合は、より制御された方法でトラフィックをApplication Performance Monitoringに転送するリバース・プロキシをネットワーク内に構成できます。リバース・プロキシを介したリアル・ユーザー・モニタリング・データの転送を参照してください。
プロキシを介したリアル・ユーザー・モニタリング・データの転送
エンタープライズWebアプリケーションの内部ユーザーがそのアプリケーションにアクセスできるが、一般のインターネットにはアクセスできない場合、すべてのユーザーに対してデータ・アップロード・エンドポイント(window.apmrum.ociDataUploadEndpoint
)へのアクセスを許可するようにプロキシ・ルールを適応する必要があります。この方法では、ユーザーがデータ・アップロード・エンドポイントにアクセスできなくても、リアル・ユーザー・モニタリングのパフォーマンス・データをデータ・アップロード・エンドポイントに送信できます。
データ・アップロード・エンドポイントの詳細は、アプリケーションでのAPMブラウザ・エージェントのデプロイを参照してください。プロキシの構成はベンダーに固有です。構成の詳細は、プロキシ・ベンダーが提供しているドキュメントを参照してください。
リバース・プロキシを介したリアル・ユーザー・モニタリング・データの転送
リバース・プロキシの手法を使用すると、ブラウザはカスタマ・ファイアウォールを通過することができます。リバース・プロキシはエンタープライズ・ネットワーク内部のエンドポイントのように動作し、各リクエストをデータ・アップロード・エンドポイントに転送して、そこから受信したレスポンスを返します。リバース・プロキシを構成するには、次のステップを実行します:
別のデータ・アップロード・エンドポイントを使用するためのAPMブラウザ・エージェントの構成
APMブラウザ・エージェントは、データ・アップロード・エンドポイントをリバース・プロキシのローカル・エンドポイントでオーバーライドする必要があります。これを行うには、window.apmrum.ociDataUploadEndpoint
のプロパティを構成します。リバース・プロキシを使用するには、有効な証明書と、この項の後半で示されている詳細情報が必要です。
window.apmrum.ociDataUploadEndpoint='https://myproxy.example.com:4443'
上の例のmyproxy.example.com
とポート番号4443
を、リバース・プロキシがインストールされているマシンのホスト名とポート番号に置き換えます。データ・アップロード・エンドポイントが更新されたら、アプリケーション・サーバーを再起動します。
リバース・プロキシの構成
リバース・プロキシは、NGINX、Squid、WebLogic ProxyPluginなどの任意のリバース・プロキシ構成ツールを使用して構成できますが、次の手順はOracle HTTP Server (OHS)を使用している場合にのみ適用されます。
OHSが設定されている場合は、ステップ1-6をスキップします。信頼できる証明書を使用している場合は、ステップ7をスキップします。
-
http://www.oracle.com/technetwork/middleware/webtier/downloads/index.htmlに移動します。
-
ライセンス契約に同意します。
-
「Oracle WebTier 12cR2」および「Oracle HTTP Server 12.2.1.1」までスクロールします。
-
「Linux-64 bit」を選択し、インストーラをダウンロードします。
-
Oracle HTTP Serverをインストールします。詳細は、『Oracle HTTP Serverのインストールと構成』のOracle HTTP Serverのインストールに関する項を参照してください。
ノート
前述のドキュメントでは、OHSが/Oracle
にインストールされていることを想定しています。 -
nodemanager
を起動します。# export DOMAIN_HOME=<WLS Domain home> # cd $DOMAIN_HOME/bin # nohup ./startNodeManager.sh > nm.out&
次に例を示します:# export DOMAIN_HOME="/Oracle/Middleware/Oracle_Home/user_projects/domains/base_domain" # cd $DOMAIN_HOME/bin # nohup ./startNodeManager.sh > nm.out&
-
HTTPサーバー証明書をウォレットに追加します。
-
ウォレットを準備します:
# export DOMAIN_HOME=<WLS Domain home> # cd $DOMAIN_HOME/config/fmwconfig/components/OHS/instances/ohs1/keystores # mkdir proxy # $DOMAIN_HOME/../../../oracle_common/bin/orapki wallet create -wallet . -auto_login_only
次に例を示します:
# export DOMAIN_HOME=/Oracle/Middleware/Oracle_Home/user_projects/domains/base_domain # cd $DOMAIN_HOME/config/fmwconfig/components/OHS/instances/ohs1/keystores # mkdir proxy # $DOMAIN_HOME/../../../oracle_common/bin/orapki wallet create -wallet . -auto_login_only
-
証明書を取得して、ウォレットに追加します:
方法1:
# echo -n | openssl s_client -connect <Data Upload Endpoint>:<port> | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' > /tmp/proxy_certificate.cert
方法2:
-
CA証明書をインストール(または更新)します:
# yum update ca-certificates
-
すべての証明書が含まれるバンドルCAルート・ファイルを個別のファイルに分割します。(
orapki
ではバンドルを処理できません。)# awk 'BEGIN {c=0;} /BEGIN CERT/{c++} { print > "cert." c ".pem"}' < /etc/pki/tls/certs/ca-bundle.crt
-
個々の証明書をOHSプロキシ・ウォレットにロードします。
# for i in `ls cert.*.pem`; do / Oracle/Middleware/Oracle_Home/oracle_common/bin/orapki wallet add -wallet . -cert $i -trusted_cert -auto_login_only; done
-
-
-
ociDataUploadEndpoint
を取得します。詳細は、ブラウザ・エージェントの手動インジェクトを参照してください。 -
Oracle HTTP ServerでHTTPSリバース・プロキシを構成します。
-
エディタで、フォルダ
ohs1
にあるssl.conf
ファイルを開きます。# export DOMAIN_HOME=<WLS Domain home> DOMAIN_HOME/config/fmwconfig/components/OHS/instances/ohs1
次に例を示します:
# export DOMAIN_HOME="/Oracle/Middleware/Oracle_Home/user_projects/domains/base_domain" # vi $DOMAIN_HOME/config/fmwconfig/components/OHS/instances/ohs1/ssl.conf
-
既存の仮想ホスト定義セクションで、SSLリバース・プロキシを構成します。
次に例を示します:... <VirtualHost *:4443> <IfModule ossl_module> # SSL Engine Switch: # Enable/Disable SSL for this virtual host. SSLEngine on SSLProxyEngine on SSLProxyWallet "${ORACLE_INSTANCE}/config/fmwconfig/components/${COMPONENT_TYPE}/instances/${COMPONENT_NAME}/keystores/proxy" SSLProxyVerify none ProxyPass "/20200630/observations" "https://datauploadendpointurl.com/20200630/observations/public-span" ProxyPassReverse "/20200630/observations" "https://datauploadendpointurl.com/20200630/observations/public-span" ProxyPreserveHost On ProxyRequests off ... </VirtualHost> ...
-
URL
https://datauploadendpointurl.com/20200630/observations/public-span
を実際のデータ・アップロード・エンドポイントに置き換えます。ノート
ブラウザとリバース・プロキシの間でHTTP通信を使用するには、SSLEngine on
行をコメント・アウトします。 -
ohs1
コンポーネントを起動します。# export DOMAIN_HOME=<WLS Domain home> # cd DOMAIN_HOME/bin # ./startComponent.sh ohs1
次に例を示します:
# export DOMAIN_HOME=/Oracle/Middleware/Oracle_Home/user_projects/domains/base_domain # cd DOMAIN_HOME/bin # ./startComponent.sh ohs1
-