feat: OpenTelemetry module integration (#9062)
* OpenTelemetry module integration * e2e test * e2e test fix * default OpentelemetryConfig * e2e values * mount otel module for otel test only * propagate IS_CHROOT * propagate IS_CHROOT e2e test * code doc * comments * golint * opentelemetry doc * zipkin * zipkin * typo * update e2e test OpenTelemetry value * use opentelemetry value * revert merge conflict * fix * format * review comments * clean
This commit is contained in:
parent
c075793ae5
commit
c8cb9167d3
23 changed files with 1131 additions and 2 deletions
26
rootfs/etc/nginx/template/nginx.tmpl
Executable file → Normal file
26
rootfs/etc/nginx/template/nginx.tmpl
Executable file → Normal file
|
|
@ -37,6 +37,10 @@ load_module /etc/nginx/modules/ngx_http_modsecurity_module.so;
|
|||
load_module /etc/nginx/modules/ngx_http_opentracing_module.so;
|
||||
{{ end }}
|
||||
|
||||
{{ if (shouldLoadOpentelemetryModule $cfg $servers) }}
|
||||
load_module /modules_mount/etc/nginx/modules/otel/otel_ngx_module.so;
|
||||
{{ end }}
|
||||
|
||||
daemon off;
|
||||
|
||||
worker_processes {{ $cfg.WorkerProcesses }};
|
||||
|
|
@ -64,6 +68,10 @@ events {
|
|||
}
|
||||
|
||||
http {
|
||||
{{ if (shouldLoadOpentelemetryModule $cfg $servers) }}
|
||||
opentelemetry_config {{ $cfg.OpentelemetryConfig }};
|
||||
{{ end }}
|
||||
|
||||
lua_package_path "/etc/nginx/lua/?.lua;;";
|
||||
|
||||
{{ buildLuaSharedDictionaries $cfg $servers }}
|
||||
|
|
@ -322,6 +330,7 @@ http {
|
|||
limit_conn_status {{ $cfg.LimitConnStatusCode }};
|
||||
|
||||
{{ buildOpentracing $cfg $servers }}
|
||||
{{ buildOpentelemetry $cfg $servers }}
|
||||
|
||||
include /etc/nginx/mime.types;
|
||||
default_type {{ $cfg.DefaultType }};
|
||||
|
|
@ -695,6 +704,9 @@ http {
|
|||
opentracing off;
|
||||
{{ end }}
|
||||
|
||||
{{ if $cfg.EnableOpentelemetry }}
|
||||
opentelemetry off;
|
||||
{{ end }}
|
||||
location {{ $healthzURI }} {
|
||||
return 200;
|
||||
}
|
||||
|
|
@ -1063,6 +1075,11 @@ stream {
|
|||
opentracing_propagate_context;
|
||||
{{ end }}
|
||||
|
||||
{{ if (or $all.Cfg.EnableOpentelemetry $location.Opentelemetry.Enabled) }}
|
||||
opentelemetry on;
|
||||
opentelemetry_propagate;
|
||||
{{ end }}
|
||||
|
||||
access_log off;
|
||||
|
||||
# Ensure that modsecurity will not run on an internal location as this is not accessible from outside
|
||||
|
|
@ -1204,6 +1221,7 @@ stream {
|
|||
set $global_rate_limit_exceeding n;
|
||||
|
||||
{{ buildOpentracingForLocation $all.Cfg.EnableOpentracing $all.Cfg.OpentracingTrustIncomingSpan $location }}
|
||||
{{ buildOpentelemetryForLocation $all.Cfg.EnableOpentelemetry $all.Cfg.OpentelemetryTrustIncomingSpan $location }}
|
||||
|
||||
{{ if $location.Mirror.Source }}
|
||||
mirror {{ $location.Mirror.Source }};
|
||||
|
|
@ -1520,6 +1538,10 @@ stream {
|
|||
opentracing off;
|
||||
{{ end }}
|
||||
|
||||
{{ if $all.Cfg.EnableOpentelemetry }}
|
||||
opentelemetry off;
|
||||
{{ end }}
|
||||
|
||||
access_log off;
|
||||
return 200;
|
||||
}
|
||||
|
|
@ -1531,6 +1553,10 @@ stream {
|
|||
opentracing off;
|
||||
{{ end }}
|
||||
|
||||
{{ if $all.Cfg.EnableOpentelemetry }}
|
||||
opentelemetry off;
|
||||
{{ end }}
|
||||
|
||||
{{ range $v := $all.NginxStatusIpv4Whitelist }}
|
||||
allow {{ $v }};
|
||||
{{ end }}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue