From dcf97230cba521509796930e10f7a46cc1ade68e Mon Sep 17 00:00:00 2001 From: lena-larionova Date: Tue, 17 Dec 2024 13:33:59 -0800 Subject: [PATCH] create a dynatrace tile on the plugin hub --- .../dynatrace/dynatrace/_metadata/_index.yml | 38 ++++++ .../dynatrace/dynatrace/overview/_index.md | 7 ++ .../dynatrace/dynatrace/schemas/_index.json | 1 + .../opentelemetry/how-to/_dynatrace.md | 112 +----------------- app/_includes/md/plugins-hub/dynatrace.md | 110 +++++++++++++++++ .../images/icons/hub/dynatrace_dynatrace.png | Bin 0 -> 2571 bytes 6 files changed, 157 insertions(+), 111 deletions(-) create mode 100644 app/_hub/dynatrace/dynatrace/_metadata/_index.yml create mode 100644 app/_hub/dynatrace/dynatrace/overview/_index.md create mode 100644 app/_hub/dynatrace/dynatrace/schemas/_index.json create mode 100644 app/_includes/md/plugins-hub/dynatrace.md create mode 100644 app/assets/images/icons/hub/dynatrace_dynatrace.png diff --git a/app/_hub/dynatrace/dynatrace/_metadata/_index.yml b/app/_hub/dynatrace/dynatrace/_metadata/_index.yml new file mode 100644 index 000000000000..dac73cacdec6 --- /dev/null +++ b/app/_hub/dynatrace/dynatrace/_metadata/_index.yml @@ -0,0 +1,38 @@ +name: Dynatrace +publisher: Dynatrace + +categories: + - premium-partner + - security + +search_aliases: + - opentelemetry + - telemetry + - otel + - otlp + - analytics + - monitoring + - security + +type: integration +premiumpartner: true +enterprise: false +konnect: true + +desc: Set up Dynatrace with the OpenTelemetry plugin to send logs and metrics to Dynatrace + +# support_url: +# source_code: + +kong_version_compatibility: + community_edition: + compatible: + - 3.8.x + - 3.9.x + enterprise_edition: + compatible: + - 3.8.x + - 3.9.x + +dbless_compatible: yes + diff --git a/app/_hub/dynatrace/dynatrace/overview/_index.md b/app/_hub/dynatrace/dynatrace/overview/_index.md new file mode 100644 index 000000000000..1572525d9b9a --- /dev/null +++ b/app/_hub/dynatrace/dynatrace/overview/_index.md @@ -0,0 +1,7 @@ +--- +nav_title: Overview +--- + +Kong provides a Dynatrace integration through its OpenTelemetry plugin. + +{% include_cached /md/plugins-hub/dynatrace.md %} \ No newline at end of file diff --git a/app/_hub/dynatrace/dynatrace/schemas/_index.json b/app/_hub/dynatrace/dynatrace/schemas/_index.json new file mode 100644 index 000000000000..0967ef424bce --- /dev/null +++ b/app/_hub/dynatrace/dynatrace/schemas/_index.json @@ -0,0 +1 @@ +{} diff --git a/app/_hub/kong-inc/opentelemetry/how-to/_dynatrace.md b/app/_hub/kong-inc/opentelemetry/how-to/_dynatrace.md index bd178bf92dfa..b612fba5c5af 100644 --- a/app/_hub/kong-inc/opentelemetry/how-to/_dynatrace.md +++ b/app/_hub/kong-inc/opentelemetry/how-to/_dynatrace.md @@ -6,114 +6,4 @@ minimum_version: 3.8.x -Set up the OpenTelemetry plugin to send logs and metrics to Dynatrace. - -## Prerequisites -* Install the `contrib` version of the [OpenTelemetry Collector](https://opentelemetry.io/docs/collector/installation/). - The `contrib` version is necessary for generating metrics. -* {{site.base_gateway}} 3.8+ - -## Configure {{site.base_gateway}} - -Set the following parameters in your [`kong.conf`](/gateway/latest/production/kong-conf/) file: - -``` -tracing_instrumentations = all -tracing_sampling_rate = 1.0 -``` - -## Configure the OpenTelemetry plugin - -Adjust the `{OPENTELEMETRY_COLLECTOR}` variable with your own collector endpoint: - - -{% plugin_example %} -plugin: kong-inc/opentelemetry -name: opentelemetry -config: - traces_endpoint: "https://{your-environment-id}.live.dynatrace.com/api/v2/otlp/v1/traces" - logs_endpoint: "https://{your-environment-id}.live.dynatrace.com/api/v2/otlp/v1/logs" - resource_attributes: - service.name: kong-dev -targets: - - service - - route - - consumer - - global -formats: - - curl - - konnect - - yaml - - kubernetes - - terraform -{% endplugin_example %} - - -## Configure the OpenTelemetry Collector - -Configure your OpenTelemetry Collector to send data to the Dynatrace environment. - -The following example OpenTelemetry configuration shows how to export traces and logs: - -```yaml -receivers: - otlp: - protocols: - http: - endpoint: 0.0.0.0:4318 - -exporters: - otlphttp: - endpoint: "https://{your-environment-id}.live.dynatrace.com/api/v2/otlp" - headers: - "Authorization": "Api-Token " - -service: - pipelines: - traces: - receivers: [otlp] - processors: [] - exporters: [otlphttp] - logs: - receivers: [otlp] - processors: [] - exporters: [otlphttp] -``` - -## Export application span metrics - -To include span metrics for application traces, configure the collector exporters section of -the OpenTelemetry Collector configuration file: - -```yaml -connectors: - spanmetrics: - dimensions: - - name: http.method - default: GET - - name: http.status_code - - name: http.route - exclude_dimensions: - - status.code - metrics_flush_interval: 15s - histogram: - disable: false - -service: - pipelines: - traces: - receivers: [otlp] - processors: [] - exporters: [spanmetrics] - metrics: - receivers: [spanmetrics] - processors: [] - exporters: [otlphttp] -``` - -## More information - -* [Troubleshooting](/hub/kong-inc/opentelemetry/#troubleshooting) -* [How logging works in the OpenTelemetry plugin](/hub/kong-inc/opentelemetry/#logging) -* [How tracing works in the OpenTelemetry plugin](/hub/kong-inc/opentelemetry/#tracing) -* [Dynatrace documentation](https://docs.dynatrace.com/docs/setup-and-configuration/technology-support/application-software/nginx/kong-gateway#kong-observability-opentelemetry) \ No newline at end of file +{% include_cached /md/plugins-hub/dynatrace.md %} \ No newline at end of file diff --git a/app/_includes/md/plugins-hub/dynatrace.md b/app/_includes/md/plugins-hub/dynatrace.md new file mode 100644 index 000000000000..a95794382e6a --- /dev/null +++ b/app/_includes/md/plugins-hub/dynatrace.md @@ -0,0 +1,110 @@ + +## Prerequisites +* Install the `contrib` version of the [OpenTelemetry Collector](https://opentelemetry.io/docs/collector/installation/). + The `contrib` version is necessary for generating metrics. +* {{site.base_gateway}} 3.8+ + +## Configure {{site.base_gateway}} + +Set the following parameters in your [`kong.conf`](/gateway/latest/production/kong-conf/) file: + +``` +tracing_instrumentations = all +tracing_sampling_rate = 1.0 +``` + +## Configure the OpenTelemetry plugin + +Adjust the `{OPENTELEMETRY_COLLECTOR}` variable with your own collector endpoint: + + +{% plugin_example %} +plugin: kong-inc/opentelemetry +name: opentelemetry +config: + traces_endpoint: "https://{your-environment-id}.live.dynatrace.com/api/v2/otlp/v1/traces" + logs_endpoint: "https://{your-environment-id}.live.dynatrace.com/api/v2/otlp/v1/logs" + resource_attributes: + service.name: kong-dev +targets: + - service + - route + - consumer + - global +formats: + - curl + - konnect + - yaml + - kubernetes + - terraform +{% endplugin_example %} + + +## Configure the OpenTelemetry Collector + +Configure your OpenTelemetry Collector to send data to the Dynatrace environment. + +The following example OpenTelemetry configuration shows how to export traces and logs: + +```yaml +receivers: + otlp: + protocols: + http: + endpoint: 0.0.0.0:4318 + +exporters: + otlphttp: + endpoint: "https://{your-environment-id}.live.dynatrace.com/api/v2/otlp" + headers: + "Authorization": "Api-Token " + +service: + pipelines: + traces: + receivers: [otlp] + processors: [] + exporters: [otlphttp] + logs: + receivers: [otlp] + processors: [] + exporters: [otlphttp] +``` + +## Export application span metrics + +To include span metrics for application traces, configure the collector exporters section of +the OpenTelemetry Collector configuration file: + +```yaml +connectors: + spanmetrics: + dimensions: + - name: http.method + default: GET + - name: http.status_code + - name: http.route + exclude_dimensions: + - status.code + metrics_flush_interval: 15s + histogram: + disable: false + +service: + pipelines: + traces: + receivers: [otlp] + processors: [] + exporters: [spanmetrics] + metrics: + receivers: [spanmetrics] + processors: [] + exporters: [otlphttp] +``` + +## More information + +* [Troubleshooting](/hub/kong-inc/opentelemetry/#troubleshooting) +* [How logging works in the OpenTelemetry plugin](/hub/kong-inc/opentelemetry/#logging) +* [How tracing works in the OpenTelemetry plugin](/hub/kong-inc/opentelemetry/#tracing) +* [Dynatrace documentation](https://docs.dynatrace.com/docs/setup-and-configuration/technology-support/application-software/nginx/kong-gateway#kong-observability-opentelemetry) \ No newline at end of file diff --git a/app/assets/images/icons/hub/dynatrace_dynatrace.png b/app/assets/images/icons/hub/dynatrace_dynatrace.png new file mode 100644 index 0000000000000000000000000000000000000000..4ca43073978e0e2b87d286c98691d6b1f5530b36 GIT binary patch literal 2571 zcmV+m3iS1fP)x7>3kR%jkqhhjw_BDvZuJ+S;)e%A*9NI8*Hw9JN;H zfE_zlP;{tGqU~r(OBsQ*IF2Ka;*1D^21p?wd2QawKJGooe|K3)vUfMTd-o>Hm~V1t z@BZg;@Bf{1{`3F;*#Ki0!~ZoHEJV!> zMOZ?BvleREBy5JnHu{=v@KnJhdZk1s-M34igE6!Si7QN?i8I{P7%r!C)MvZkDl3Bz z7Qqq%-o1ohlY&noInboQC8ppi5qh1-I;{YgBtxUU80XE-prjH|+YCov7Y@)%uE5B^ zOVcHn8n~8sg1e=e}+#wm?AFYv!1aY_lMLsu<&>AYnXoI0n2z+J5 zG}MPg6~|_72jmO%er?g4CV)eiF`d{x1c4%qGDv}I+=nkdG7}B{?@sCDJx8mYlFRRh z>WH))`>S90d%scpxR=1e3nG8GFJ72clWj*i~FlCd>mb-g^|GL6{=9IQtc<&OHl7mx4w|0y+B>v)4v3g|@ zI{aU^9W2Swgl`}1{mUXX5kf{>uEP>gQ-{?uIPx}(J`NX5#j-LM433_znQQl@_tgyN zgGedwjZ_xZ2E2b6>nI3$^A1t|m#3!S(U9`rt({en>F7O4+70i3MOn5H38<;Z7TR0) zP;im3uP^|TqC<_Ak=K9u?@10<`omwcQc8L1=Y>YjOk5pi&9EGzL z^pdX_m34XYakHzKKJ(Dy%|>T`0bG3((642{?Mp|B;;CKt&{G>IBJ1ek=q_$YU!-`R zEII$fIoR*M3+cUHWYcWRVI1jPz#$m2Xmln?j{c>^*cocGt#-y_P0Az0$`r(o$&m`e z9HDpXv66&u_xiHfnZ_l!&@vA#J(JPg`x#O;A3l+aXrQ)x+Fls95fSqdtx_wJi*F z%EYIdgeR4opG8KX@i&*iRd||_*uWKL2_G~_sd?RJ51BGnk)R7jL+HS8r=1&K*W6bvVKEv(ybR1|KoY|4!|T^Y(% zU`O+_%o!3?%zo!SA-q4ORH2I~c9C<{O-8JZG0`TVwkuNWm#XTetxZ#PUFeD};5~Aw zQx%14OjjA#)s{|Ix&+H&s*h4sZ%jl&U?&t?+R8|!MoH1mIO0x?>Q^+cWj_xI*3YV( ztqX50-R1;50vXtX0%ek@@~8F#23ZTTtU>WdI)QsV&_MXtD}<)_kF)|Eu(ZVDD@tXa z_36s;o%7E$MXD2S1oc2lE2fy9&JLbw8K`_|`zR!GIZr%9mFCh#qRG@_|R+I&f9;x+s}p=$Vm&z<&6%1?PVN6EK_sx`r#1Lu;T+ z>X({t`S$ceY}4#&^6umoi~vFes0D@wkdoxAVrTjJ-7pD50$izR8ZYob(|Q&NjGRu% zpDV4TJ)b>+5rQs)%ULZ9JJ9u$vu@Xdy4R5e44b}MHLE&hq9T4p6Yd)rLG*k3(CzL< z-t#p`nQ{GpVoGeRd390UZ;>PnyM5iG%C8ekivWwVy%C_%4B&PzY*TLr1&myDt~`}Y z<%8YEi09{4XSuy{Hd*H>l%IQmJij8cLgXyT#KY7maP_nyZSlv*{OaEjJgt&TcP^+q zj3mQ!26s#8@6x?+6mjO6!vwpB2%1L3_