Download PDF
Download page NGINX エージェントのインストール.
NGINX エージェントのインストール
NGINX エージェントのアーティファクトは、GitHub からダウンロードできます。このアーティファクトの詳細については、「OTel Web Server Module」を参照してください。NGINX エージェントは CentOS 7 に基づいていて、Apache および NGINX インストゥルメンテーション用の共有ライブラリが含まれています。共有ライブラリは、それぞれの Web サーバーの、WebServerModule/Apache
または WebServerModule/Nginx
で使用できます。ただし、OpenTelemetry の共通ライブラリは sdk_lib/lib/
で入手できます。共有ライブラリは、Apache と NGINX の両方のインストゥルメンテーションに使用されます。
現在、NGINX エージェントのビルドは x86-64 アーキテクチャに基づいています。したがって、アーティファクトは、x86-64 プラットフォームで実行されていて、glibc
バージョンが 2.17 以降のすべての Linux ディストリビューションで動作するはずです。
エージェントのダウンロードとインストール
- GitHub から NGINX エージェントをダウンロードします。
/opt
にエージェントを解凍し、インストールします。tar -xf opentelemetry-webserver-sdk-x64-linux.tgz -C /opt cd /opt/opentelemetry-webserver-sdk/ ./install.sh
CODEconf/nginx/opentelemetry_module.conf
ファイルを/opt/
にコピーします。「OpenTelemetry モジュール構成ファイルのサンプル」を参照してください。- 導入環境に応じてディレクティブ値を編集します。たとえば、
NginxModuleOtelExporterEndpoint
はコレクタの URL を指す必要があります。 nginx.conf
ファイルを編集して、opentelemetry_module.conf
への参照および共有ライブラリを指定します。「NGINX 構成ファイルのサンプル」を参照してください。conf/nginx/nginx.conf
を参照しながら、以下のコマンドシーケンスと場所に従ってください。load_module /opt/opentelemetry-webserver-sdk/WebServerModule/Nginx/ngx_http_opentelemetry_module.so; include /opt/opentelemetry_module.conf;
CODENGINX エージェントを開始する前に、
LD_LIBRARY_PATH
を更新して OpenTelemetry の依存関係をロードします。export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/opentelemetry-webserver-sdk/sdk_lib/lib
CODE
Sample opentelemetry_module.conf
NginxModuleEnabled ON;
#NginxModule Otel Exporter details
NginxModuleOtelSpanExporter otlp;
NginxModuleOtelExporterEndpoint docker.for.mac.localhost:4317;
# SSL Certificates
#NginxModuleOtelSslEnabled ON
#NginxModuleOtelSslCertificatePath
#NginxModuleOtelSpanProcessor Batch
#NginxModuleOtelSampler AlwaysOn
#NginxModuleOtelMaxQueueSize 1024
#NginxModuleOtelScheduledDelayMillis 3000
#NginxModuleOtelExportTimeoutMillis 30000
#NginxModuleOtelMaxExportBatchSize 1024
NginxModuleServiceName DemoService;
NginxModuleServiceNamespace DemoServiceNamespace;
NginxModuleServiceInstanceId DemoInstanceId;
NginxModuleResolveBackends ON;
NginxModuleTraceAsError ON;
#NginxModuleWebserverContext DemoService DemoServiceNamespace DemoInstanceId
#NginxModuleSegmentType custom
#NginxModuleSegmentParameter 15,1,6,7
Sample nginx.conf
user nginx;
worker_processes 1;
error_log /var/log/nginx/error.log warn;
pid /var/run/nginx.pid;
load_module /opt/opentelemetry-webserver-sdk/WebServerModule/Nginx/ngx_http_opentelemetry_module.so;
events {
worker_connections 1024;
}
http {
include /etc/nginx/mime.types;
default_type application/octet-stream;
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
access_log /var/log/nginx/access.log main;
sendfile on;
#tcp_nopush on;
keepalive_timeout 65;
#gzip on;
include /etc/nginx/conf.d/*.conf;
include /opt/opentelemetry_module.conf;
}
構成ディレクティブ
これらのディレクティブは、展開のニーズに基づいて構成できます。表のセル内のダッシュ(「-」)は、この列がディレクティブに関連していないことを示します。
ディレクティブ | デフォルト値 | 設定要件 | 備考 |
---|---|---|---|
NginxModuleEnabled | ON | オプション | NGINX Web サーバーをインストゥルメントするために必要です。 |
NginxModuleOtelSpanExporter | otlp | オプション | 使用するスパンエクスポータを指定します。現在、サポートされている値は otlp と ostream です。 |
NginxModuleOtelExporterEndpoint: | Required | OpenTelemetry は、このエンドポイントにエクスポートします。たとえば、docker.for.mac.localhost:4317 のようになります。 | |
NginxModuleOtelSpanProcessor | batch | オプション | サポートされている値は simple と batch です。 |
NginxModuleOtelSampler | AlwaysOn | オプション | サポートされている値は AlwaysOn と AlwaysOff です。 |
NginxModuleOtelMaxQueueSize | 2048 | オプション | 最大スパンキューサイズ。このサイズ制限に達すると、スパンはドロップされます。 |
NginxModuleOtelScheduledDelayMillis | 5000 | オプション | 2 つの連続するエクスポート間のミリ秒単位の遅延間隔。 |
NginxModuleOtelExportTimeoutMillis | 30000 | オプション | エクスポートがキャンセルされる前に実行できるミリ秒単位の時間。 |
NginxModuleOtelMaxExportBatchSize | 512 | オプション | すべてのエクスポートの最大バッチサイズ。maxQueueSize より小さいか等しい必要があります。 |
NginxModuleServiceName | - | 必須 | ServiceName の名前空間。 |
NginxModuleServiceNamespace | - | 必須 | サービスの論理名。 |
NginxModuleServiceInstanceId | - | 必須 | サービスインスタンスの文字列 ID。 |
NginxModuleTraceAsError | - | オプション | Apache ログに記録するためのトレースレベル。 |
NginxModuleWebserverContext | - | オプション | 3 つの値(スペースで区切られます)、ServiceName 、ServiceNamespace 、および ServiceInstanceId をとります。 |
NginxModuleSegmentType | - | オプション | スパン名の作成でフィルタリングする文字列(FIRST/LAST/CUSTOM) )を指定します。 |
NginxModuleSegmentParameter | - | オプション | スパン作成時に表示するセグメント数またはセグメント番号を指定します。 |
Splunk AppDynamics での可視化
この画像は、NGINX エージェントデータがコントローラでどのように可視化されるかを示しています。