diff --git a/_attributes/common-attributes.adoc b/_attributes/common-attributes.adoc index a0149b93d5fc..00020cb51fb6 100644 --- a/_attributes/common-attributes.adoc +++ b/_attributes/common-attributes.adoc @@ -118,18 +118,18 @@ endif::[] //distributed tracing :DTProductName: Red Hat OpenShift distributed tracing platform :DTShortName: distributed tracing platform -:DTProductVersion: 3.0 +:DTProductVersion: 3.1 :JaegerName: Red Hat OpenShift distributed tracing platform (Jaeger) :JaegerShortName: distributed tracing platform (Jaeger) -:JaegerVersion: 1.51.0 +:JaegerVersion: 1.53.0 :OTELName: Red Hat build of OpenTelemetry :OTELShortName: Red Hat build of OpenTelemetry :OTELOperator: Red Hat build of OpenTelemetry Operator -:OTELVersion: 0.89.0 +:OTELVersion: 0.93.0 :TempoName: Red Hat OpenShift distributed tracing platform (Tempo) :TempoShortName: distributed tracing platform (Tempo) :TempoOperator: Tempo Operator -:TempoVersion: 2.3.0 +:TempoVersion: 2.3.1 //telco ifdef::telco-ran[] :rds: telco RAN DU diff --git a/_topic_maps/_topic_map.yml b/_topic_maps/_topic_map.yml index 53b004440f07..704a2d942ffb 100644 --- a/_topic_maps/_topic_map.yml +++ b/_topic_maps/_topic_map.yml @@ -2704,77 +2704,68 @@ Name: Distributed tracing Dir: distr_tracing Distros: openshift-enterprise Topics: -- Name: Distributed tracing release notes +- Name: Release notes Dir: distr_tracing_rn Topics: - - Name: Distributed tracing 3.0 - File: distr-tracing-rn-3-0 - - Name: Distributed tracing 2.9.2 - File: distr-tracing-rn-2-9-2 - - Name: Distributed tracing 2.9.1 - File: distr-tracing-rn-2-9-1 - - Name: Distributed tracing 2.9 - File: distr-tracing-rn-2-9 - - Name: Distributed tracing 2.8 - File: distr-tracing-rn-2-8 - - Name: Distributed tracing 2.7 - File: distr-tracing-rn-2-7 - - Name: Distributed tracing 2.6 - File: distr-tracing-rn-2-6 - - Name: Distributed tracing 2.5 - File: distr-tracing-rn-2-5 - - Name: Distributed tracing 2.4 - File: distr-tracing-rn-2-4 - - Name: Distributed tracing 2.3 - File: distr-tracing-rn-2-3 - - Name: Distributed tracing 2.2 - File: distr-tracing-rn-2-2 - - Name: Distributed tracing 2.1 - File: distr-tracing-rn-2-1 - - Name: Distributed tracing 2.0 - File: distr-tracing-rn-2-0 + - Name: Distributed tracing 3.1 + File: distr-tracing-rn-3-1 + - Name: Past releases + File: distr-tracing-rn-past-releases - Name: Distributed tracing architecture Dir: distr_tracing_arch Topics: - Name: Distributed tracing architecture File: distr-tracing-architecture -- Name: Distributed tracing platform (Jaeger) - Dir: distr_tracing_jaeger - Topics: - - Name: Installation - File: distr-tracing-jaeger-installing - - Name: Configuration - File: distr-tracing-jaeger-configuring - - Name: Updating - File: distr-tracing-jaeger-updating - - Name: Removal - File: distr-tracing-jaeger-removing - Name: Distributed tracing platform (Tempo) Dir: distr_tracing_tempo Topics: - - Name: Installation - File: distr-tracing-tempo-installing - - Name: Configuration - File: distr-tracing-tempo-configuring - - Name: Updating - File: distr-tracing-tempo-updating - - Name: Removal - File: distr-tracing-tempo-removing + - Name: Installation + File: distr-tracing-tempo-installing + - Name: Configuration + File: distr-tracing-tempo-configuring + - Name: Updating + File: distr-tracing-tempo-updating + - Name: Removal + File: distr-tracing-tempo-removing +- Name: Distributed tracing platform (Jaeger) + Dir: distr_tracing_jaeger + Topics: + - Name: Installation + File: distr-tracing-jaeger-installing + - Name: Configuration + File: distr-tracing-jaeger-configuring + - Name: Updating + File: distr-tracing-jaeger-updating + - Name: Removal + File: distr-tracing-jaeger-removing --- Name: Red Hat build of OpenTelemetry Dir: otel Distros: openshift-enterprise Topics: - Name: Release notes - File: otel-release-notes + Dir: otel_rn + Topics: + - Name: Red Hat build of OpenTelemetry 3.1 + File: otel-rn-3.1 + - Name: Past releases + File: otel-rn-past-releases - Name: Installation File: otel-installing -- Name: Collector configuration - File: otel-configuring -- Name: Instrumentation - File: otel-instrumentation -- Name: Use - File: otel-using +- Name: Configuration of the OpenTelemetry Collector + File: otel-configuration-of-otel-collector +- Name: Configuration of the instrumentation + File: otel-configuration-of-instrumentation +- Name: Sending traces and metrics to the Collector + File: otel-sending-traces-and-metrics-to-otel-collector +- Name: Sending metrics to the monitoring stack + File: otel-config-send-metrics-monitoring-stack +- Name: Forwarding traces to a TempoStack + File: otel-forwarding +- Name: Configuring the Collector metrics + File: otel-configuring-otelcol-metrics +- Name: Gathering the observability data from multiple clusters + File: otel-config-multicluster - Name: Troubleshooting File: otel-troubleshooting - Name: Migration diff --git a/distr_tracing/distr_tracing_arch/distr-tracing-architecture.adoc b/distr_tracing/distr_tracing_arch/distr-tracing-architecture.adoc index 50862cf9a1f1..c76867b73994 100644 --- a/distr_tracing/distr_tracing_arch/distr-tracing-architecture.adoc +++ b/distr_tracing/distr_tracing_arch/distr-tracing-architecture.adoc @@ -27,4 +27,5 @@ include::modules/distr-tracing-architecture.adoc[leveloffset=+1] [id="additional-resources_distributed-tracing-architecture"] == Additional resources -* xref:../../otel/otel-release-notes.adoc[{OTELName}] +// xreffing to the installation page until further notice because OTEL content is currently planned for internal restructuring across pages that is likely to result in renamed page files +* xref:../../otel/otel-installing.adoc#install-otel[{OTELName}] diff --git a/distr_tracing/distr_tracing_jaeger/distr-tracing-jaeger-configuring.adoc b/distr_tracing/distr_tracing_jaeger/distr-tracing-jaeger-configuring.adoc index 704019cdd933..c91ca51d0a37 100644 --- a/distr_tracing/distr_tracing_jaeger/distr-tracing-jaeger-configuring.adoc +++ b/distr_tracing/distr_tracing_jaeger/distr-tracing-jaeger-configuring.adoc @@ -6,6 +6,9 @@ include::_attributes/common-attributes.adoc[] toc::[] +:FeatureName: The {JaegerName} +include::modules/deprecated-feature.adoc[] + The {JaegerName} Operator uses a custom resource definition (CRD) file that defines the architecture and configuration settings to be used when creating and deploying the {JaegerShortName} resources. You can install the default configuration or modify the file. If you have installed {DTShortName} as part of {SMProductName}, you can perform basic configuration as part of the xref:../../service_mesh/v2x/installing-ossm.adoc#installing-ossm[ServiceMeshControlPlane], but for complete control, you must configure a Jaeger CR and then xref:../../service_mesh/v2x/ossm-observability.adoc#ossm-config-external-jaeger_observability[reference your distributed tracing configuration file in the ServiceMeshControlPlane]. diff --git a/distr_tracing/distr_tracing_jaeger/distr-tracing-jaeger-installing.adoc b/distr_tracing/distr_tracing_jaeger/distr-tracing-jaeger-installing.adoc index 5db080672c33..438041e9a84a 100644 --- a/distr_tracing/distr_tracing_jaeger/distr-tracing-jaeger-installing.adoc +++ b/distr_tracing/distr_tracing_jaeger/distr-tracing-jaeger-installing.adoc @@ -6,10 +6,8 @@ include::_attributes/common-attributes.adoc[] toc::[] -[WARNING] -==== -Jaeger is deprecated in Red Hat OpenShift distributed tracing 3.0. -==== +:FeatureName: The {JaegerName} +include::modules/deprecated-feature.adoc[] You can install {DTProductName} on {product-title} in either of two ways: diff --git a/distr_tracing/distr_tracing_jaeger/distr-tracing-jaeger-removing.adoc b/distr_tracing/distr_tracing_jaeger/distr-tracing-jaeger-removing.adoc index aa2b8356b60c..138f6418ea59 100644 --- a/distr_tracing/distr_tracing_jaeger/distr-tracing-jaeger-removing.adoc +++ b/distr_tracing/distr_tracing_jaeger/distr-tracing-jaeger-removing.adoc @@ -6,6 +6,9 @@ include::_attributes/common-attributes.adoc[] toc::[] +:FeatureName: The {JaegerName} +include::modules/deprecated-feature.adoc[] + The steps for removing {DTProductName} from an {product-title} cluster are as follows: . Shut down any {DTProductName} pods. diff --git a/distr_tracing/distr_tracing_jaeger/distr-tracing-jaeger-updating.adoc b/distr_tracing/distr_tracing_jaeger/distr-tracing-jaeger-updating.adoc index cbd6a29cbf80..e8818694af17 100644 --- a/distr_tracing/distr_tracing_jaeger/distr-tracing-jaeger-updating.adoc +++ b/distr_tracing/distr_tracing_jaeger/distr-tracing-jaeger-updating.adoc @@ -6,10 +6,8 @@ include::_attributes/common-attributes.adoc[] toc::[] -[WARNING] -==== -Jaeger is deprecated in Red Hat OpenShift distributed tracing 3.0. -==== +:FeatureName: The {JaegerName} +include::modules/deprecated-feature.adoc[] Operator Lifecycle Manager (OLM) controls the installation, upgrade, and role-based access control (RBAC) of Operators in a cluster. The OLM runs by default in {product-title}. OLM queries for available Operators as well as upgrades for installed Operators. diff --git a/distr_tracing/distr_tracing_rn/distr-tracing-rn-2-0.adoc b/distr_tracing/distr_tracing_rn/distr-tracing-rn-2-0.adoc deleted file mode 100644 index 3c73f8517305..000000000000 --- a/distr_tracing/distr_tracing_rn/distr-tracing-rn-2-0.adoc +++ /dev/null @@ -1,57 +0,0 @@ -:_mod-docs-content-type: ASSEMBLY -[id="distributed-tracing-rn-2-0"] -= Release notes for {DTProductName} 2.0 -include::_attributes/common-attributes.adoc[] -:context: distributed-tracing-rn-2-0 - -toc::[] - -include::modules/distr-tracing-product-overview.adoc[leveloffset=+1] - -[id="component-versions_distributed-tracing-rn-2-0"] -== Component versions in the {DTProductName} 2.0.0 - -[options="header"] -|=== -|Operator |Component |Version -|{JaegerName} -|Jaeger -|1.28.0 - -|{OTELName} -|OpenTelemetry -|0.33.0 -|=== - -[id="new-features-and-enhancements_distributed-tracing-rn-2-0"] -== New features and enhancements - -This release introduces the following new features and enhancements: - -* Rebrands Red Hat OpenShift Jaeger as the {DTProductName}. - -* Updates {JaegerName} Operator to Jaeger 1.28. Going forward, the {DTProductName} will only support the `stable` Operator channel. -Channels for individual releases are no longer supported. - -* Adds support for OpenTelemetry protocol (OTLP) to the Query service. - -* Introduces a new distributed tracing icon that appears in the OperatorHub. - -* Includes rolling updates to the documentation to support the name change and new features. - -[id="technology-preview-features_distributed-tracing-rn-2-0"] -== Technology Preview features - -* This release adds the {OTELName} as a link:https://access.redhat.com/support/offerings/techpreview/[Technology Preview], which you install using the {OTELName} Operator. {OTELName} is based on the link:https://opentelemetry.io/[OpenTelemetry] APIs and instrumentation. The {OTELName} includes the OpenTelemetry Operator and Collector. You can use the Collector to receive traces in the OpenTelemetry or Jaeger protocol and send the trace data to the {DTProductName}. Other capabilities of the Collector are not supported at this time. The OpenTelemetry Collector allows developers to instrument their code with vendor agnostic APIs, avoiding vendor lock-in and enabling a growing ecosystem of observability tooling. - -[id="bug-fixes_distributed-tracing-rn-2-0"] -== Bug fixes - -This release addresses Common Vulnerabilities and Exposures (CVEs) and bug fixes. - -//[id="known-issues_distributed-tracing-rn-2-0"] -//== Known issues - -include::modules/support.adoc[leveloffset=+1] - -include::modules/making-open-source-more-inclusive.adoc[leveloffset=+1] diff --git a/distr_tracing/distr_tracing_rn/distr-tracing-rn-2-1.adoc b/distr_tracing/distr_tracing_rn/distr-tracing-rn-2-1.adoc deleted file mode 100644 index a856cfa02a52..000000000000 --- a/distr_tracing/distr_tracing_rn/distr-tracing-rn-2-1.adoc +++ /dev/null @@ -1,68 +0,0 @@ -:_mod-docs-content-type: ASSEMBLY -[id="distributed-tracing-rn-2-1"] -= Release notes for {DTProductName} 2.1 -include::_attributes/common-attributes.adoc[] -:context: distributed-tracing-rn-2-1 - -toc::[] - -include::modules/distr-tracing-product-overview.adoc[leveloffset=+1] - -[id="component-versions_distributed-tracing-rn-2-1"] -== Component versions in the {DTProductName} 2.1.0 - -[options="header"] -|=== -|Operator |Component |Version -|{JaegerName} -|Jaeger -|1.29.1 - -|{OTELName} -|OpenTelemetry -|0.41.1 -|=== - -[id="technology-preview-features_distributed-tracing-rn-2-1"] -== Technology Preview features - -* This release introduces a breaking change to how to configure certificates in the OpenTelemetry custom resource file. With this update, the `ca_file` moves under `tls` in the custom resource, as shown in the following examples. -+ -.CA file configuration for OpenTelemetry version 0.33 -+ -[source,yaml] ----- -spec: - mode: deployment - config: | - exporters: - jaeger: - endpoint: jaeger-production-collector-headless.tracing-system.svc:14250 - ca_file: "/var/run/secrets/kubernetes.io/serviceaccount/service-ca.crt" ----- -+ -.CA file configuration for OpenTelemetry version 0.41.1 -+ -[source,yaml] ----- -spec: - mode: deployment - config: | - exporters: - jaeger: - endpoint: jaeger-production-collector-headless.tracing-system.svc:14250 - tls: - ca_file: "/var/run/secrets/kubernetes.io/serviceaccount/service-ca.crt" ----- - -[id="bug-fixes_distributed-tracing-rn-2-1"] -== Bug fixes - -This release addresses Common Vulnerabilities and Exposures (CVEs) and bug fixes. - -//[id="known-issues_distributed-tracing-rn-2-1"] -//== Known issues - -include::modules/support.adoc[leveloffset=+1] - -include::modules/making-open-source-more-inclusive.adoc[leveloffset=+1] diff --git a/distr_tracing/distr_tracing_rn/distr-tracing-rn-2-2.adoc b/distr_tracing/distr_tracing_rn/distr-tracing-rn-2-2.adoc deleted file mode 100644 index b88726c233d9..000000000000 --- a/distr_tracing/distr_tracing_rn/distr-tracing-rn-2-2.adoc +++ /dev/null @@ -1,23 +0,0 @@ -:_mod-docs-content-type: ASSEMBLY -[id="distributed-tracing-rn-2-2"] -= Release notes for {DTProductName} 2.2 -include::_attributes/common-attributes.adoc[] -:context: distributed-tracing-rn-2-2 - -toc::[] - -include::modules/distr-tracing-product-overview.adoc[leveloffset=+1] - -[id="technology-preview-features_distributed-tracing-rn-2-2"] -== Technology Preview features - -* The unsupported OpenTelemetry Collector components included in the 2.1 release are removed. - -[id="bug-fixes_distributed-tracing-rn-2-2"] -== Bug fixes - -This release of the {DTProductName} addresses Common Vulnerabilities and Exposures (CVEs) and bug fixes. - -include::modules/support.adoc[leveloffset=+1] - -include::modules/making-open-source-more-inclusive.adoc[leveloffset=+1] diff --git a/distr_tracing/distr_tracing_rn/distr-tracing-rn-2-3.adoc b/distr_tracing/distr_tracing_rn/distr-tracing-rn-2-3.adoc deleted file mode 100644 index 54d7ad9d8f27..000000000000 --- a/distr_tracing/distr_tracing_rn/distr-tracing-rn-2-3.adoc +++ /dev/null @@ -1,56 +0,0 @@ -:_mod-docs-content-type: ASSEMBLY -[id="distributed-tracing-rn-2-3"] -= Release notes for {DTProductName} 2.3 -include::_attributes/common-attributes.adoc[] -:context: distributed-tracing-rn-2-3 - -toc::[] - -include::modules/distr-tracing-product-overview.adoc[leveloffset=+1] - -[id="component-versions-2-3-0_distributed-tracing-rn-2-3"] -== Component versions in the {DTProductName} 2.3.0 - -[options="header"] -|=== -|Operator |Component |Version -|{JaegerName} -|Jaeger -|1.30.1 - -|{OTELName} -|OpenTelemetry -|0.44.0 -|=== - -[id="component-versions-2-3-1_distributed-tracing-rn-2-3"] -== Component versions in the {DTProductName} 2.3.1 - -[options="header"] -|=== -|Operator |Component |Version -|{JaegerName} -|Jaeger -|1.30.2 - -|{OTELName} -|OpenTelemetry -|0.44.1-1 -|=== - -[id="new-features-and-enhancements_distributed-tracing-rn-2-3"] -== New features and enhancements - -With this release, the {JaegerName} Operator is now installed to the `openshift-distributed-tracing` namespace by default. Before this update, the default installation had been in the `openshift-operators` namespace. - -[id="bug-fixes_distributed-tracing-rn-2-3"] -== Bug fixes - -This release addresses Common Vulnerabilities and Exposures (CVEs) and bug fixes. - -//[id="known-issues_distributed-tracing-rn-2-3"] -//== Known issues - -include::modules/support.adoc[leveloffset=+1] - -include::modules/making-open-source-more-inclusive.adoc[leveloffset=+1] diff --git a/distr_tracing/distr_tracing_rn/distr-tracing-rn-2-4.adoc b/distr_tracing/distr_tracing_rn/distr-tracing-rn-2-4.adoc deleted file mode 100644 index ca95e0fddc47..000000000000 --- a/distr_tracing/distr_tracing_rn/distr-tracing-rn-2-4.adoc +++ /dev/null @@ -1,53 +0,0 @@ -:_mod-docs-content-type: ASSEMBLY -[id="distributed-tracing-rn-2-4"] -= Release notes for {DTProductName} 2.4 -include::_attributes/common-attributes.adoc[] -:context: distributed-tracing-rn-2-4 - -toc::[] - -include::modules/distr-tracing-product-overview.adoc[leveloffset=+1] - -[id="component-versions_distributed-tracing-rn-2-4"] -== Component versions in the {DTProductName} 2.4 - -[options="header"] -|=== -|Operator |Component |Version -|{JaegerName} -|Jaeger -|1.34.1 - -|{OTELName} -|OpenTelemetry -|0.49 -|=== - -[id="new-features-and-enhancements_distributed-tracing-rn-2-4"] -== New features and enhancements - -This release adds support for auto-provisioning certificates using the Red Hat Elasticsearch Operator. - -* Self-provisioning by using the {JaegerName} Operator to call the Red Hat Elasticsearch Operator during installation. -+ -[IMPORTANT] -==== -When upgrading to the {DTProductName} 2.4, the operator recreates the Elasticsearch instance, which might take five to ten minutes. Distributed tracing will be down and unavailable for that period. -==== - -[id="technology-preview-features_distributed-tracing-rn-2-4"] -== Technology Preview features - -* Creating the Elasticsearch instance and certificates first and then configuring the {JaegerShortName} to use the certificate is a link:https://access.redhat.com/support/offerings/techpreview/[Technology Preview] for this release. - -[id="bug-fixes_distributed-tracing-rn-2-4"] -== Bug fixes - -This release addresses Common Vulnerabilities and Exposures (CVEs) and bug fixes. - -//[id="known-issues_distributed-tracing-rn-2-4"] -//== Known issues - -include::modules/support.adoc[leveloffset=+1] - -include::modules/making-open-source-more-inclusive.adoc[leveloffset=+1] diff --git a/distr_tracing/distr_tracing_rn/distr-tracing-rn-2-5.adoc b/distr_tracing/distr_tracing_rn/distr-tracing-rn-2-5.adoc deleted file mode 100644 index 518dee14538f..000000000000 --- a/distr_tracing/distr_tracing_rn/distr-tracing-rn-2-5.adoc +++ /dev/null @@ -1,45 +0,0 @@ -:_mod-docs-content-type: ASSEMBLY -[id="distributed-tracing-rn-2-5"] -= Release notes for {DTProductName} 2.5 -include::_attributes/common-attributes.adoc[] -:context: distributed-tracing-rn-2-5 - -toc::[] - -include::modules/distr-tracing-product-overview.adoc[leveloffset=+1] - -[id="component-versions_distributed-tracing-rn-2-5"] -== Component versions in the {DTProductName} 2.5 - -[options="header"] -|=== -|Operator |Component |Version -|{JaegerName} -|Jaeger -|1.36 - -|{OTELName} -|OpenTelemetry -|0.56 -|=== - -[id="new-features-and-enhancements_distributed-tracing-rn-2-5"] -== New features and enhancements - -This release introduces support for ingesting OpenTelemetry protocol (OTLP) to the {JaegerName} Operator. -The Operator now automatically enables the OTLP ports: - -* Port 4317 for the OTLP gRPC protocol. -* Port 4318 for the OTLP HTTP protocol. - -This release also adds support for collecting Kubernetes resource attributes to the {OTELName} Operator. - -[id="bug-fixes_distributed-tracing-rn-2-5"] -== Bug fixes - -This release addresses Common Vulnerabilities and Exposures (CVEs) and bug fixes. - -include::modules/support.adoc[leveloffset=+1] - -include::modules/making-open-source-more-inclusive.adoc[leveloffset=+1] - diff --git a/distr_tracing/distr_tracing_rn/distr-tracing-rn-2-6.adoc b/distr_tracing/distr_tracing_rn/distr-tracing-rn-2-6.adoc deleted file mode 100644 index 02e7d8e94262..000000000000 --- a/distr_tracing/distr_tracing_rn/distr-tracing-rn-2-6.adoc +++ /dev/null @@ -1,34 +0,0 @@ -:_mod-docs-content-type: ASSEMBLY -[id="distributed-tracing-rn-2-6"] -= Release notes for {DTProductName} 2.6 -include::_attributes/common-attributes.adoc[] -:context: distributed-tracing-rn-2-6 - -toc::[] - -include::modules/distr-tracing-product-overview.adoc[leveloffset=+1] - -[id="component-versions_distributed-tracing-rn-2-6"] -== Component versions in the {DTProductName} 2.6 - -[options="header"] -|=== -|Operator |Component |Version -|{JaegerName} -|Jaeger -|1.38 - -|{OTELName} -|OpenTelemetry -|0.60 -|=== - -[id="bug-fixes_distributed-tracing-rn-2-6"] -== Bug fixes - -This release addresses Common Vulnerabilities and Exposures (CVEs) and bug fixes. - -include::modules/support.adoc[leveloffset=+1] - -include::modules/making-open-source-more-inclusive.adoc[leveloffset=+1] - diff --git a/distr_tracing/distr_tracing_rn/distr-tracing-rn-2-7.adoc b/distr_tracing/distr_tracing_rn/distr-tracing-rn-2-7.adoc deleted file mode 100644 index 9cd28c934485..000000000000 --- a/distr_tracing/distr_tracing_rn/distr-tracing-rn-2-7.adoc +++ /dev/null @@ -1,33 +0,0 @@ -:_mod-docs-content-type: ASSEMBLY -[id="distributed-tracing-rn-2-7"] -= Release notes for {DTProductName} 2.7 -include::_attributes/common-attributes.adoc[] -:context: distributed-tracing-rn-2-7 - -toc::[] - -include::modules/distr-tracing-product-overview.adoc[leveloffset=+1] - -[id="component-versions_distributed-tracing-rn-2-7"] -== Component versions in the {DTProductName} 2.7 - -[options="header"] -|=== -|Operator |Component |Version -|{JaegerName} -|Jaeger -|1.39 - -|{OTELName} -|OpenTelemetry -|0.63.1 -|=== - -[id="bug-fixes_distributed-tracing-rn-2-7"] -== Bug fixes - -This release addresses Common Vulnerabilities and Exposures (CVEs) and bug fixes. - -include::modules/support.adoc[leveloffset=+1] - -include::modules/making-open-source-more-inclusive.adoc[leveloffset=+1] diff --git a/distr_tracing/distr_tracing_rn/distr-tracing-rn-2-8.adoc b/distr_tracing/distr_tracing_rn/distr-tracing-rn-2-8.adoc deleted file mode 100644 index 1dddf2ee0f77..000000000000 --- a/distr_tracing/distr_tracing_rn/distr-tracing-rn-2-8.adoc +++ /dev/null @@ -1,63 +0,0 @@ -:_mod-docs-content-type: ASSEMBLY -[id="distributed-tracing-rn-2-8"] -= Release notes for {DTProductName} 2.8 -include::_attributes/common-attributes.adoc[] -:context: distributed-tracing-rn-2-8 - -toc::[] - -include::modules/distr-tracing-product-overview.adoc[leveloffset=+1] - -[id="component-versions_distributed-tracing-rn-2-8"] -== Component versions in the {DTProductName} 2.8 - -[options="header"] -|=== -|Operator |Component |Version -|{JaegerName} -|Jaeger -|1.42 - -|{OTELName} -|OpenTelemetry -|0.74.0 - -|{TempoName} -|Tempo -|0.1.0 -|=== - -[id="technology-preview-features_distributed-tracing-rn-2-8"] -== Technology Preview features - -This release introduces support for the {TempoName} as a link:https://access.redhat.com/support/offerings/techpreview/[Technology Preview] feature for {DTProductName}. - -:FeatureName: The {TempoName} -include::snippets/technology-preview.adoc[leveloffset=+1] - -The feature uses version 0.1.0 of the {TempoName} and version 2.0.1 of the upstream {TempoShortName} components. - -You can use the {TempoShortName} to replace Jaeger so that you can use S3-compatible storage instead of ElasticSearch. -Most users who use the {TempoShortName} instead of Jaeger will not notice any difference in functionality because the {TempoShortName} supports the same ingestion and query protocols as Jaeger and uses the same user interface. - -If you enable this Technology Preview feature, note the following limitations of the current implementation: - -* The {TempoShortName} currently does not support disconnected installations. (link:https://issues.redhat.com/browse/TRACING-3145[TRACING-3145]) - -* When you use the Jaeger user interface (UI) with the {TempoShortName}, the Jaeger UI lists only services that have sent traces within the last 15 minutes. For services that have not sent traces within the last 15 minutes, those traces are still stored even though they are not visible in the Jaeger UI. (link:https://issues.redhat.com/browse/TRACING-3139[TRACING-3139]) - -Expanded support for the {TempoOperator} is planned for future releases of the {DTProductName}. -Possible additional features might include support for TLS authentication, multitenancy, and multiple clusters. -For more information about the {TempoOperator}, see the link:https://tempo-operator.netlify.app[Tempo community documentation]. - -[id="bug-fixes_distributed-tracing-rn-2-8"] -== Bug fixes - -This release addresses Common Vulnerabilities and Exposures (CVEs) and bug fixes. - -//[id="known-issues_distributed-tracing-rn-2-8"] -//== Known issues - -include::modules/support.adoc[leveloffset=+1] - -include::modules/making-open-source-more-inclusive.adoc[leveloffset=+1] diff --git a/distr_tracing/distr_tracing_rn/distr-tracing-rn-2-9-1.adoc b/distr_tracing/distr_tracing_rn/distr-tracing-rn-2-9-1.adoc deleted file mode 100644 index 6fed09c6ee2a..000000000000 --- a/distr_tracing/distr_tracing_rn/distr-tracing-rn-2-9-1.adoc +++ /dev/null @@ -1,138 +0,0 @@ -:_mod-docs-content-type: ASSEMBLY -[id="distributed-tracing-rn-2-9-1"] -= Release notes for {DTProductName} 2.9.1 -include::_attributes/common-attributes.adoc[] -:context: distributed-tracing-rn-2-9-1 - -toc::[] - -include::modules/distr-tracing-product-overview.adoc[leveloffset=+1] - -[id="component-versions_distributed-tracing-rn-2-9-1"] -== Component versions in the {DTProductName} 2.9.1 - -[options="header"] -|=== -|Operator |Component |Version -|{JaegerName} -|Jaeger -|1.47.0 - -|{OTELName} -|OpenTelemetry -|0.81.0 - -|{TempoName} -|Tempo -|2.1.1 -|=== - -== CVEs - -This release fixes link:https://access.redhat.com/security/cve/cve-2023-44487[CVE-2023-44487]. - - -[id="jaeger-release-notes_distributed-tracing-rn-2-9-1"] -== {JaegerName} - -[id="known-issues_jaeger-release-notes_distributed-tracing-rn-2-9-1"] -=== Known issues - -* Apache Spark is not supported. -ifndef::openshift-rosa[] - -* The streaming deployment via AMQ/Kafka is unsupported on IBM Z and IBM Power Systems. -endif::openshift-rosa[] - -[id="tempo-release-notes_distributed-tracing-rn-2-9-1"] -== {TempoName} - -:FeatureName: The {TempoName} -include::snippets/technology-preview.adoc[leveloffset=+1] - -[id="known-issues_tempo-release-notes_distributed-tracing-rn-2-9-1"] -=== Known issues - -* Currently, the custom TLS CA option is not implemented for connecting to object storage. (link:https://issues.redhat.com/browse/TRACING-3462[TRACING-3462]) - -* Currently, when used with the {TempoOperator}, the Jaeger UI only displays services that have sent traces in the last 15 minutes. For services that did not send traces in the last 15 minutes, traces are still stored but not displayed in the Jaeger UI. (link:https://issues.redhat.com/browse/TRACING-3139[TRACING-3139]) - -* Currently, the {TempoShortName} fails on the IBM Z (`s390x`) architecture. (link:https://issues.redhat.com/browse/TRACING-3545[TRACING-3545]) - -* Currently, the Tempo query frontend service must not use internal mTLS when Gateway is not deployed. This issue does not affect the Jaeger Query API. The workaround is to disable mTLS. (link:https://issues.redhat.com/browse/TRACING-3510[TRACING-3510]) -+ -.Workaround -+ -Disable mTLS as follows: -+ -. Open the {TempoOperator} ConfigMap for editing by running the following command: -+ -[source,terminal] ----- -$ oc edit configmap tempo-operator-manager-config -n openshift-tempo-operator <1> ----- -<1> The project where the {TempoOperator} is installed. - -. Disable the mTLS in the operator configuration by updating the YAML file: -+ -[source,yaml] ----- -data: - controller_manager_config.yaml: | - featureGates: - httpEncryption: false - grpcEncryption: false - builtInCertManagement: - enabled: false ----- - -. Restart the {TempoOperator} pod by running the following command: -+ -[source,terminal] ----- -$ oc rollout restart deployment.apps/tempo-operator-controller -n openshift-tempo-operator ----- - - -* Missing images for running the {TempoOperator} in restricted environments. The {TempoName} CSV is missing references to the operand images. (link:https://issues.redhat.com/browse/TRACING-3523[TRACING-3523]) -+ -.Workaround -+ -Add the {TempoOperator} related images in the mirroring tool to mirror the images to the registry: -+ -[source,yaml] ----- -kind: ImageSetConfiguration -apiVersion: mirror.openshift.io/v1alpha2 -archiveSize: 20 -storageConfig: - local: - path: /home/user/images -mirror: - operators: - - catalog: registry.redhat.io/redhat/redhat-operator-index:v4.13 - packages: - - name: tempo-product - channels: - - name: stable - additionalImages: - - name: registry.redhat.io/rhosdt/tempo-rhel8@sha256:e4295f837066efb05bcc5897f31eb2bdbd81684a8c59d6f9498dd3590c62c12a - - name: registry.redhat.io/rhosdt/tempo-gateway-rhel8@sha256:b62f5cedfeb5907b638f14ca6aaeea50f41642980a8a6f87b7061e88d90fac23 - - name: registry.redhat.io/rhosdt/tempo-gateway-opa-rhel8@sha256:8cd134deca47d6817b26566e272e6c3f75367653d589f5c90855c59b2fab01e9 - - name: registry.redhat.io/rhosdt/tempo-query-rhel8@sha256:0da43034f440b8258a48a0697ba643b5643d48b615cdb882ac7f4f1f80aad08e ----- - -[id="otel-release-notes_distributed-tracing-rn-2-9-1"] -== {OTELName} - -:FeatureName: The {OTELName} -include::snippets/technology-preview.adoc[leveloffset=+1] - -[id="known-issues_otel-release-notes_distributed-tracing-rn-2-9-1"] -=== Known issues - -* Currently, you must manually set link:https://operatorframework.io/operator-capabilities/[operator maturity] to Level IV, Deep Insights. (link:https://issues.redhat.com/browse/TRACING-3431[TRACING-3431]) - -include::modules/support.adoc[leveloffset=+1] - -include::modules/making-open-source-more-inclusive.adoc[leveloffset=+1] diff --git a/distr_tracing/distr_tracing_rn/distr-tracing-rn-2-9-2.adoc b/distr_tracing/distr_tracing_rn/distr-tracing-rn-2-9-2.adoc deleted file mode 100644 index e22fa34b09a5..000000000000 --- a/distr_tracing/distr_tracing_rn/distr-tracing-rn-2-9-2.adoc +++ /dev/null @@ -1,137 +0,0 @@ -:_mod-docs-content-type: ASSEMBLY -include::_attributes/common-attributes.adoc[] -[id="distributed-tracing-rn-2-9-2"] -= Release notes for {DTProductName} 2.9.2 -:context: distributed-tracing-rn-2-9-2 - -toc::[] - -include::modules/distr-tracing-product-overview.adoc[leveloffset=+1] - -[id="component-versions_distributed-tracing-rn-2-9-2"] -== Component versions in the {DTProductName} 2.9.2 - -[options="header"] -|=== -|Operator |Component |Version -|{JaegerName} -|Jaeger -|1.47.0 - -|{OTELName} -|OpenTelemetry -|0.81.0 - -|{TempoName} -|Tempo -|2.1.1 -|=== - -== CVEs - -This release fixes link:https://bugzilla.redhat.com/show_bug.cgi?id=2246470[CVE-2023-46234]. - -[id="jaeger-release-notes_distributed-tracing-rn-2-9-2"] -== {JaegerName} - -[id="known-issues_jaeger-release-notes_distributed-tracing-rn-2-9-2"] -=== Known issues - -* Apache Spark is not supported. -ifndef::openshift-rosa[] - -* The streaming deployment via AMQ/Kafka is unsupported on IBM Z and IBM Power Systems. -endif::openshift-rosa[] - -[id="tempo-release-notes_distributed-tracing-rn-2-9-2"] -== {TempoName} - -:FeatureName: The {TempoName} -include::snippets/technology-preview.adoc[leveloffset=+1] - -[id="known-issues_tempo-release-notes_distributed-tracing-rn-2-9-2"] -=== Known issues - -* Currently, the custom TLS CA option is not implemented for connecting to object storage. (link:https://issues.redhat.com/browse/TRACING-3462[TRACING-3462]) - -* Currently, when used with the {TempoOperator}, the Jaeger UI only displays services that have sent traces in the last 15 minutes. For services that did not send traces in the last 15 minutes, traces are still stored but not displayed in the Jaeger UI. (link:https://issues.redhat.com/browse/TRACING-3139[TRACING-3139]) - -* Currently, the {TempoShortName} fails on the IBM Z (`s390x`) architecture. (link:https://issues.redhat.com/browse/TRACING-3545[TRACING-3545]) - -* Currently, the Tempo query frontend service must not use internal mTLS when Gateway is not deployed. This issue does not affect the Jaeger Query API. The workaround is to disable mTLS. (link:https://issues.redhat.com/browse/TRACING-3510[TRACING-3510]) -+ -.Workaround -+ -Disable mTLS as follows: -+ -. Open the {TempoOperator} ConfigMap for editing by running the following command: -+ -[source,terminal] ----- -$ oc edit configmap tempo-operator-manager-config -n openshift-tempo-operator <1> ----- -<1> The project where the {TempoOperator} is installed. - -. Disable the mTLS in the operator configuration by updating the YAML file: -+ -[source,yaml] ----- -data: - controller_manager_config.yaml: | - featureGates: - httpEncryption: false - grpcEncryption: false - builtInCertManagement: - enabled: false ----- - -. Restart the {TempoOperator} pod by running the following command: -+ -[source,terminal] ----- -$ oc rollout restart deployment.apps/tempo-operator-controller -n openshift-tempo-operator ----- - - -* Missing images for running the {TempoOperator} in restricted environments. The {TempoName} CSV is missing references to the operand images. (link:https://issues.redhat.com/browse/TRACING-3523[TRACING-3523]) -+ -.Workaround -+ -Add the {TempoOperator} related images in the mirroring tool to mirror the images to the registry: -+ -[source,yaml] ----- -kind: ImageSetConfiguration -apiVersion: mirror.openshift.io/v1alpha2 -archiveSize: 20 -storageConfig: - local: - path: /home/user/images -mirror: - operators: - - catalog: registry.redhat.io/redhat/redhat-operator-index:v4.13 - packages: - - name: tempo-product - channels: - - name: stable - additionalImages: - - name: registry.redhat.io/rhosdt/tempo-rhel8@sha256:e4295f837066efb05bcc5897f31eb2bdbd81684a8c59d6f9498dd3590c62c12a - - name: registry.redhat.io/rhosdt/tempo-gateway-rhel8@sha256:b62f5cedfeb5907b638f14ca6aaeea50f41642980a8a6f87b7061e88d90fac23 - - name: registry.redhat.io/rhosdt/tempo-gateway-opa-rhel8@sha256:8cd134deca47d6817b26566e272e6c3f75367653d589f5c90855c59b2fab01e9 - - name: registry.redhat.io/rhosdt/tempo-query-rhel8@sha256:0da43034f440b8258a48a0697ba643b5643d48b615cdb882ac7f4f1f80aad08e ----- - -[id="otel-release-notes_distributed-tracing-rn-2-9-2"] -== {OTELName} - -:FeatureName: The {OTELName} -include::snippets/technology-preview.adoc[leveloffset=+1] - -[id="known-issues_otel-release-notes_distributed-tracing-rn-2-9-2"] -=== Known issues - -* Currently, you must manually set link:https://operatorframework.io/operator-capabilities/[operator maturity] to Level IV, Deep Insights. (link:https://issues.redhat.com/browse/TRACING-3431[TRACING-3431]) - -include::modules/support.adoc[leveloffset=+1] - -include::modules/making-open-source-more-inclusive.adoc[leveloffset=+1] diff --git a/distr_tracing/distr_tracing_rn/distr-tracing-rn-2-9.adoc b/distr_tracing/distr_tracing_rn/distr-tracing-rn-2-9.adoc deleted file mode 100644 index 5f66c28db987..000000000000 --- a/distr_tracing/distr_tracing_rn/distr-tracing-rn-2-9.adoc +++ /dev/null @@ -1,207 +0,0 @@ -:_mod-docs-content-type: ASSEMBLY -include::_attributes/common-attributes.adoc[] -[id="distributed-tracing-rn-2-9"] -= Release notes for {DTProductName} 2.9 -:context: distributed-tracing-rn-2-9 - -toc::[] - -include::modules/distr-tracing-product-overview.adoc[leveloffset=+1] - -[id="component-versions_distributed-tracing-rn-2-9"] -== Component versions in the {DTProductName} 2.9 - -[options="header"] -|=== -|Operator |Component |Version -|{JaegerName} -|Jaeger -|1.47.0 - -|{OTELName} -|OpenTelemetry -|0.81.0 - -|{TempoName} -|Tempo -|2.1.1 -|=== - -[id="jaeger-release-notes_distributed-tracing-rn-2-9"] -== {JaegerName} - -[id="new-features-and-enhancements_jaeger-release-notes_distributed-tracing-rn-2-9"] -=== New features and enhancements - -* None. - -//[id="technology-preview-features_jaeger-release-notes_distributed-tracing-rn-2-9"] -//=== Technology Preview features -//not for 2.9 - -[id="bug-fixes_jaeger-release-notes_distributed-tracing-rn-2-9"] -=== Bug fixes - -* Before this update, connection was refused due to a missing gRPC port on the `jaeger-query` deployment. This issue resulted in `transport: Error while dialing: dial tcp :16685: connect: connection refused` error message. With this update, the Jaeger Query gRPC port (16685) is successfully exposed on the Jaeger Query service. (link:https://issues.redhat.com/browse/TRACING-3322[TRACING-3322]) - -* Before this update, the wrong port was exposed for `jaeger-production-query`, resulting in refused connection. With this update, the issue is fixed by exposing the Jaeger Query gRPC port (16685) on the Jaeger Query deployment. (link:https://issues.redhat.com/browse/TRACING-2968[TRACING-2968]) - -* Before this update, when deploying {SMProductShortName} on {sno} clusters in disconnected environments, the Jaeger pod frequently went into the `Pending` state. With this update, the issue is fixed. (link:https://issues.redhat.com/browse/TRACING-3312[TRACING-3312]) - -* Before this update, the Jaeger Operator pod restarted with the default memory value due to the `reason: OOMKilled` error message. With this update, this issue is fixed by removing the resource limits. (link:https://issues.redhat.com/browse/TRACING-3173[TRACING-3173]) - -[id="known-issues_jaeger-release-notes_distributed-tracing-rn-2-9"] -=== Known issues - -* Apache Spark is not supported. -ifndef::openshift-rosa[] - -* The streaming deployment via AMQ/Kafka is unsupported on IBM Z and IBM Power Systems. -endif::openshift-rosa[] - -[id="tempo-release-notes_distributed-tracing-rn-2-9"] -== {TempoName} - -:FeatureName: The {TempoName} -include::snippets/technology-preview.adoc[leveloffset=+1] - -[id="new-features-and-enhancements_tempo-release-notes_distributed-tracing-rn-2-9"] -=== New features and enhancements - -This release introduces the following enhancements for the {TempoShortName}: - -* Support the link:https://operatorframework.io/operator-capabilities/[operator maturity] Level IV, Deep Insights, which enables upgrading, monitoring, and alerting of `TempoStack` instances and the {TempoOperator}. - -* Add Ingress and Route configuration for the Gateway. - -* Support the `managed` and `unmanaged` states in the `TempoStack` custom resource. - -* Expose the following additional ingestion protocols in the Distributor service: Jaeger Thrift binary, Jaeger Thrift compact, Jaeger gRPC, and Zipkin. When the Gateway is enabled, only the OpenTelemetry protocol (OTLP) gRPC is enabled. - -* Expose the Jaeger Query gRPC endpoint on the Query Frontend service. - -* Support multitenancy without Gateway authentication and authorization. - -//[id="technology-preview-features_tempo-release-notes_distributed-tracing-rn-2-9"] -//=== Technology Preview features -//not for 2.9 - -[id="bug-fixes_tempo-release-notes_distributed-tracing-rn-2-9"] -=== Bug fixes - -* Before this update, the {TempoOperator} was not compatible with disconnected environments. With this update, the {TempoOperator} supports disconnected environments. (link:https://issues.redhat.com/browse/TRACING-3145[TRACING-3145]) - -* Before this update, the {TempoOperator} with TLS failed to start on {product-title}. With this update, the mTLS communication is enabled between Tempo components, the Operand starts successfully, and the Jaeger UI is accessible. (link:https://issues.redhat.com/browse/TRACING-3091[TRACING-3091]) - -* Before this update, the resource limits from the {TempoOperator} caused error messages such as `reason: OOMKilled`. With this update, the resource limits for the {TempoOperator} are removed to avoid such errors. (link:https://issues.redhat.com/browse/TRACING-3204[TRACING-3204]) - -[id="known-issues_tempo-release-notes_distributed-tracing-rn-2-9"] -=== Known issues - -* Currently, the custom TLS CA option is not implemented for connecting to object storage. (link:https://issues.redhat.com/browse/TRACING-3462[TRACING-3462]) - -* Currently, when used with the {TempoOperator}, the Jaeger UI only displays services that have sent traces in the last 15 minutes. For services that did not send traces in the last 15 minutes, traces are still stored but not displayed in the Jaeger UI. (link:https://issues.redhat.com/browse/TRACING-3139[TRACING-3139]) - -* Currently, the {TempoShortName} fails on the IBM Z (`s390x`) architecture. (link:https://issues.redhat.com/browse/TRACING-3545[TRACING-3545]) - -* Currently, the Tempo query frontend service must not use internal mTLS when Gateway is not deployed. This issue does not affect the Jaeger Query API. The workaround is to disable mTLS. (link:https://issues.redhat.com/browse/TRACING-3510[TRACING-3510]) -+ -.Workaround -+ -Disable mTLS as follows: -+ -. Open the {TempoOperator} ConfigMap for editing by running the following command: -+ -[source,terminal] ----- -$ oc edit configmap tempo-operator-manager-config -n openshift-tempo-operator <1> ----- -<1> The project where the {TempoOperator} is installed. - -. Disable the mTLS in the operator configuration by updating the YAML file: -+ -[source,yaml] ----- -data: - controller_manager_config.yaml: | - featureGates: - httpEncryption: false - grpcEncryption: false - builtInCertManagement: - enabled: false ----- - -. Restart the {TempoOperator} pod by running the following command: -+ -[source,terminal] ----- -$ oc rollout restart deployment.apps/tempo-operator-controller -n openshift-tempo-operator ----- - - -* Missing images for running the {TempoOperator} in restricted environments. The {TempoName} CSV is missing references to the operand images. (link:https://issues.redhat.com/browse/TRACING-3523[TRACING-3523]) -+ -.Workaround -+ -Add the {TempoOperator} related images in the mirroring tool to mirror the images to the registry: -+ -[source,yaml] ----- -kind: ImageSetConfiguration -apiVersion: mirror.openshift.io/v1alpha2 -archiveSize: 20 -storageConfig: - local: - path: /home/user/images -mirror: - operators: - - catalog: registry.redhat.io/redhat/redhat-operator-index:v4.13 - packages: - - name: tempo-product - channels: - - name: stable - additionalImages: - - name: registry.redhat.io/rhosdt/tempo-rhel8@sha256:e4295f837066efb05bcc5897f31eb2bdbd81684a8c59d6f9498dd3590c62c12a - - name: registry.redhat.io/rhosdt/tempo-gateway-rhel8@sha256:b62f5cedfeb5907b638f14ca6aaeea50f41642980a8a6f87b7061e88d90fac23 - - name: registry.redhat.io/rhosdt/tempo-gateway-opa-rhel8@sha256:8cd134deca47d6817b26566e272e6c3f75367653d589f5c90855c59b2fab01e9 - - name: registry.redhat.io/rhosdt/tempo-query-rhel8@sha256:0da43034f440b8258a48a0697ba643b5643d48b615cdb882ac7f4f1f80aad08e ----- - -[id="otel-release-notes_distributed-tracing-rn-2-9"] -== {OTELName} - -:FeatureName: The {OTELName} -include::snippets/technology-preview.adoc[leveloffset=+1] - -[id="new-features-and-enhancements_otel-release-notes_distributed-tracing-rn-2-9"] -=== New features and enhancements - -This release introduces the following enhancements for the {OTELShortName}: - -* Support OTLP metrics ingestion. The metrics can be forwarded and stored in the `user-workload-monitoring` via the Prometheus exporter. - -* Support the link:https://operatorframework.io/operator-capabilities/[operator maturity] Level IV, Deep Insights, which enables upgrading and monitoring of `OpenTelemetry Collector` instances and the {OTELOperator}. - -* Report traces and metrics from remote clusters using OTLP or HTTP and HTTPS. - -* Collect {product-title} resource attributes via the `resourcedetection` processor. - -* Support the `managed` and `unmanaged` states in the `OpenTelemetryCollector` custom resouce. - -//[id="technology-preview-features_otel-release-notes_distributed-tracing-rn-2-9"] -//=== Technology Preview features -//not for 2.9 - -[id="bug-fixes_otel-release-notes_distributed-tracing-rn-2-9"] -=== Bug fixes - -None. - -[id="known-issues_otel-release-notes_distributed-tracing-rn-2-9"] -=== Known issues - -* Currently, you must manually set link:https://operatorframework.io/operator-capabilities/[operator maturity] to Level IV, Deep Insights. (link:https://issues.redhat.com/browse/TRACING-3431[TRACING-3431]) - -include::modules/support.adoc[leveloffset=+1] - -include::modules/making-open-source-more-inclusive.adoc[leveloffset=+1] diff --git a/distr_tracing/distr_tracing_rn/distr-tracing-rn-3-0.adoc b/distr_tracing/distr_tracing_rn/distr-tracing-rn-3-0.adoc deleted file mode 100644 index 63d903536b1f..000000000000 --- a/distr_tracing/distr_tracing_rn/distr-tracing-rn-3-0.adoc +++ /dev/null @@ -1,95 +0,0 @@ -:_mod-docs-content-type: ASSEMBLY -include::_attributes/common-attributes.adoc[] -[id="distributed-tracing-rn-3-0"] -= Release notes for {DTProductName} 3.0 -:context: distributed-tracing-rn-3-0 - -toc::[] - -include::modules/distr-tracing-product-overview.adoc[leveloffset=+1] - -[id="component-versions_distributed-tracing-rn-3-0"] -== Component versions in the {DTProductName} 3.0 - -[options="header"] -|=== -|Operator |Component |Version -|{JaegerName} -|Jaeger -|1.51.0 - -|xref:../../otel/otel-release-notes.adoc[{OTELName}] -|OpenTelemetry -|0.89.0 - -|{TempoName} -|Tempo -|2.3.0 -|=== - -// Jaeger section -[id="jaeger-release-notes_distributed-tracing-rn-3-0"] -== {JaegerName} - -[id="deprecated-functionality_jaeger-release-notes_distributed-tracing-rn-3-0"] -=== Deprecated functionality - -In Red Hat OpenShift distributed tracing 3.0, Jaeger and Elasticsearch are deprecated, and both are planned to be removed in a future release. Red Hat will provide critical and above CVE bug fixes and support for these components during the current release lifecycle, but these components will no longer receive feature enhancements. - -In Red Hat OpenShift distributed tracing 3.0, Tempo provided by the {TempoOperator} and the OpenTelemetry collector provided by the Red Hat build of OpenTelemetry are the preferred Operators for distributed tracing collection and storage. The OpenTelemetry and Tempo distributed tracing stack is to be adopted by all users because this will be the stack that will be enhanced going forward. - -[id="new-features-and-enhancements_jaeger-release-notes_distributed-tracing-rn-3-0"] -=== New features and enhancements - -This update introduces the following enhancements for the {JaegerShortName}: - -* Support for the ARM architecture. -* Support for cluster-wide proxy environments. - -[id="bug-fixes_jaeger-release-notes_distributed-tracing-rn-3-0"] -=== Bug fixes - -This update introduces the following bug fixes for the {JaegerShortName}: - -* Fixed support for disconnected environments when using the `oc adm catalog mirror` CLI command. (link:https://issues.redhat.com/browse/TRACING-3546[TRACING-3546]) - -[id="known-issues_jaeger-release-notes_distributed-tracing-rn-3-0"] -=== Known issues - -* Currently, Apache Spark is not supported. - -ifndef::openshift-rosa[] - -* Currently, the streaming deployment via AMQ/Kafka is not supported on the IBM Z and IBM Power Systems architectures. -endif::openshift-rosa[] - -// Tempo section -[id="tempo-release-notes_distributed-tracing-rn-3-0"] -== {TempoName} - -[id="new-features-and-enhancements_tempo-release-notes_distributed-tracing-rn-3-0"] -=== New features and enhancements - -This update introduces the following enhancements for the {TempoShortName}: - -* Support for the ARM architecture. -* Support for span request count, duration, and error count (RED) metrics. The metrics can be visualized in the Jaeger console deployed as part of Tempo or in the web console in the *Observe* menu. - -[id="bug-fixes_tempo-release-notes_distributed-tracing-rn-3-0"] -=== Bug fixes - -This update introduces the following bug fixes for the {TempoShortName}: - -* Fixed support for the custom TLS CA option for connecting to object storage. (link:https://issues.redhat.com/browse/TRACING-3462[TRACING-3462]) -* Fixed support for disconnected environments when using the `oc adm catalog mirror` CLI command. (link:https://issues.redhat.com/browse/TRACING-3523[TRACING-3523]) -* Fixed mTLS when Gateway is not deployed. (link:https://issues.redhat.com/browse/TRACING-3510[TRACING-3510]) - -[id="known-issues_tempo-release-notes_distributed-tracing-rn-3-0"] -=== Known issues - -* Currently, when used with the {TempoOperator}, the Jaeger UI only displays services that have sent traces in the last 15 minutes. For services that did not send traces in the last 15 minutes, traces are still stored but not displayed in the Jaeger UI. (link:https://issues.redhat.com/browse/TRACING-3139[TRACING-3139]) -* Currently, the {TempoShortName} fails on the IBM Z (`s390x`) architecture. (link:https://issues.redhat.com/browse/TRACING-3545[TRACING-3545]) - -include::modules/support.adoc[leveloffset=+1] - -include::modules/making-open-source-more-inclusive.adoc[leveloffset=+1] diff --git a/distr_tracing/distr_tracing_rn/distr-tracing-rn-3-1.adoc b/distr_tracing/distr_tracing_rn/distr-tracing-rn-3-1.adoc new file mode 100644 index 000000000000..7d340d57fc01 --- /dev/null +++ b/distr_tracing/distr_tracing_rn/distr-tracing-rn-3-1.adoc @@ -0,0 +1,119 @@ +:_mod-docs-content-type: ASSEMBLY +include::_attributes/common-attributes.adoc[] +[id="distributed-tracing-rn-3-1"] += Release notes for {DTProductName} 3.1 +:context: distributed-tracing-rn-3-1 + +toc::[] + +include::modules/distr-tracing-product-overview.adoc[leveloffset=+1] + +[id="distributed-tracing-rn_3-1_component-versions"] +== Component versions in the {DTProductName} 3.1 + +[options="header"] +|=== +|Operator |Component |Version + +|{TempoName} +|Tempo +|2.3.1 + +//for each new release, update the release number in the xref path on the following line +|xref:../../otel/otel_rn/otel-rn-3.1.adoc#otel-rn-3-1[{OTELName}] +|OpenTelemetry +|0.93.0 + +|{JaegerName} (deprecated) +|Jaeger +|1.53.0 + +|=== + +// Tempo section +[id="distributed-tracing-rn_3-1_tempo-release-notes"] +== {TempoName} + +//// +[id="technology-preview-features_jaeger-release-notes_distributed-tracing-rn-3-1"] +=== Technology Preview features + +This update introduces the following Technology Preview feature for the {TempoShortName}: + +* Monolithic custom resource. + +:FeatureName: The monolithic custom resource +include::snippets/technology-preview.adoc[leveloffset=+1] +//// + +[id="distributed-tracing-rn_3-1_tempo-release-notes_new-features-and-enhancements"] +=== New features and enhancements + +This update introduces the following enhancements for the {TempoShortName}: + +* Support for cluster-wide proxy environments. +* Support for TraceQL to Gateway component. + +[id="distributed-tracing-rn_3-1_tempo-release-notes_bug-fixes"] +=== Bug fixes + +This update introduces the following bug fixes for the {TempoShortName}: + +* Before this update, when a TempoStack instance was created with the `monitorTab` enabled in {product-title} 4.15, the required `tempo-redmetrics-cluster-monitoring-view` ClusterRoleBinding was not created. This update resolves the issue by fixing the Operator RBAC for the monitor tab when the Operator is deployed in an arbitrary namespace. (link:https://issues.redhat.com/browse/TRACING-3786[TRACING-3786]) +* Before this update, when a TempoStack instance was created on an {product-title} cluster with only an IPV6 networking stack, the compactor and ingestor pods ran in the `CrashLoopBackOff` state, resulting in multiple errors. This update provides support for IPv6 clusters.(link:https://issues.redhat.com/browse/TRACING-3226[TRACING-3226]) + +[id="distributed-tracing-rn_3-1_tempo-release-notes_known-issues"] +=== Known issues + +//There is currently a known issue: +There are currently known issues: + +* Currently, when used with the {TempoOperator}, the Jaeger UI only displays services that have sent traces in the last 15 minutes. For services that did not send traces in the last 15 minutes, traces are still stored but not displayed in the Jaeger UI. (link:https://issues.redhat.com/browse/TRACING-3139[TRACING-3139]) +* Currently, the {TempoShortName} fails on the IBM Z (`s390x`) architecture. (link:https://issues.redhat.com/browse/TRACING-3545[TRACING-3545]) + +// Jaeger section +[id="distributed-tracing-rn_3-1_jaeger-release-notes"] +== {JaegerName} + +[id="distributed-tracing-rn_3-1_jaeger-release-notes_support-for-elasticsearch-operator"] +=== Support for {es-op} + +{JaegerName} 3.1 is supported for use with the {es-op} 5.6, 5.7, and 5.8. + +[id="distributed-tracing-rn_3-1_jaeger-release-notes_deprecated-functionality"] +=== Deprecated functionality + +In the {DTProductName} 3.1, Jaeger and support for Elasticsearch are deprecated, and both are planned to be removed in a future release. Red Hat will provide critical and above CVE bug fixes and support for these components during the current release lifecycle, but these components will no longer receive feature enhancements. + +In the {DTProductName} 3.1, Tempo provided by the {TempoOperator} and the OpenTelemetry Collector provided by the {OTELName} are the preferred Operators for distributed tracing collection and storage. The OpenTelemetry and Tempo distributed tracing stack is to be adopted by all users because this will be the stack that will be enhanced going forward. + +//// +[id="distributed-tracing-rn_3-1_jaeger-release-notes_new-features-and-enhancements"] +=== New features and enhancements +This update introduces the following enhancements for the {JaegerShortName}: +* Support for ... +//// + +[id="distributed-tracing-rn_3-1_jaeger-release-notes_bug-fixes"] +=== Bug fixes + +This update introduces the following bug fix for the {JaegerShortName}: + +* Before this update, the connection target URL for the `jaeger-agent` container in the `jager-query` pod was overwritten with another namespace URL in {product-title} 4.13. This was caused by a bug in the sidecar injection code in the `jaeger-operator`, causing nondeterministic `jaeger-agent` injection. With this update, the Operator prioritizes the Jaeger instance from the same namespace as the target deployment. (link:https://issues.redhat.com/browse/TRACING-3722[TRACING-3722]) + +[id="distributed-tracing-rn_3-1_jaeger-release-notes_known-issues"] +=== Known issues + +//There is currently a known issue: +There are currently known issues: + +* Currently, Apache Spark is not supported. + +ifndef::openshift-rosa[] + +* Currently, the streaming deployment via AMQ/Kafka is not supported on the {ibm-z-title} and {ibm-power-title} architectures. +endif::openshift-rosa[] + +include::modules/support.adoc[leveloffset=+1] + +include::modules/making-open-source-more-inclusive.adoc[leveloffset=+1] diff --git a/distr_tracing/distr_tracing_rn/distr-tracing-rn-past-releases.adoc b/distr_tracing/distr_tracing_rn/distr-tracing-rn-past-releases.adoc new file mode 100644 index 000000000000..555cbb39b935 --- /dev/null +++ b/distr_tracing/distr_tracing_rn/distr-tracing-rn-past-releases.adoc @@ -0,0 +1,793 @@ +:_mod-docs-content-type: ASSEMBLY +[id="distr-tracing-rn-past-releases"] += Release notes for past releases of {DTProductName} +include::_attributes/common-attributes.adoc[] +:context: distr-tracing-rn-past-releases + +toc::[] + +include::modules/distr-tracing-product-overview.adoc[leveloffset=+1] + +[id="distr-tracing-rn_3.0"] +== Release notes for {DTProductName} 3.0 + +[id="distributed-tracing-rn_3-0_component-versions"] +=== Component versions in the {DTProductName} 3.0 + +[options="header"] +|=== +|Operator |Component |Version +|{JaegerName} +|Jaeger +|1.51.0 + +|{TempoName} +|Tempo +|2.3.0 +|=== + +// Jaeger section +[id="distributed-tracing-rn_3-0_jaeger-release-notes"] +=== {JaegerName} + +[id="distributed-tracing-rn_3-0_jaeger-release-notes_deprecated-functionality"] +==== Deprecated functionality + +In the {DTProductName} 3.0, Jaeger and support for Elasticsearch are deprecated, and both are planned to be removed in a future release. Red Hat will provide critical and above CVE bug fixes and support for these components during the current release lifecycle, but these components will no longer receive feature enhancements. + +In the {DTProductName} 3.0, Tempo provided by the {TempoOperator} and the OpenTelemetry Collector provided by the {OTELName} are the preferred Operators for distributed tracing collection and storage. The OpenTelemetry and Tempo distributed tracing stack is to be adopted by all users because this will be the stack that will be enhanced going forward. + +[id="distributed-tracing-rn_3-0_jaeger-release-notes_new-features-and-enhancements"] +==== New features and enhancements + +This update introduces the following enhancements for the {JaegerShortName}: + +* Support for the ARM architecture. +* Support for cluster-wide proxy environments. + +[id="distributed-tracing-rn_3-0_jaeger-release-notes_bug-fixes"] +==== Bug fixes + +This update introduces the following bug fix for the {JaegerShortName}: + +* Before this update, the {JaegerName} operator used other images than `relatedImages`. This caused the *ImagePullBackOff* error in disconnected network environments when launching the `jaeger` pod because the `oc adm catalog mirror` command mirrors images specified in `relatedImages`. This update provides support for disconnected environments when using the `oc adm catalog mirror` CLI command. (link:https://issues.redhat.com/browse/TRACING-3546[TRACING-3546]) + +[id="distributed-tracing-rn_3-0_jaeger-release-notes_known-issues"] +==== Known issues + +There is currently a known issue: +//There are currently known issues: + +* Currently, Apache Spark is not supported. + +ifndef::openshift-rosa[] + +* Currently, the streaming deployment via AMQ/Kafka is not supported on the {ibm-z-title} and {ibm-power-title} architectures. +endif::openshift-rosa[] + +// Tempo section +[id="distributed-tracing-rn_3-0_tempo-release-notes"] +=== {TempoName} + +[id="distributed-tracing-rn_3-0_tempo-release-notes_new-features-and-enhancements"] +==== New features and enhancements + +This update introduces the following enhancements for the {TempoShortName}: + +* Support for the ARM architecture. +* Support for span request count, duration, and error count (RED) metrics. The metrics can be visualized in the Jaeger console deployed as part of Tempo or in the web console in the *Observe* menu. + +[id="distributed-tracing-rn_3-0_tempo-release-notes_bug-fixes"] +==== Bug fixes + +This update introduces the following bug fixes for the {TempoShortName}: + +* Before this update, the `TempoStack` CRD was not accepting custom CA certificate despite the option to choose CA certificates. This update fixes support for the custom TLS CA option for connecting to object storage. (link:https://issues.redhat.com/browse/TRACING-3462[TRACING-3462]) +* Before this update, when mirroring the {DTProductName} operator images to a mirror registry for use in a disconnected cluster, the related operator images for `tempo`, `tempo-gateway`, `opa-openshift`, and `tempo-query` were not mirrored. This update fixes support for disconnected environments when using the `oc adm catalog mirror` CLI command. (link:https://issues.redhat.com/browse/TRACING-3523[TRACING-3523]) +* Before this update, the query frontend service of the {DTProductName} was using internal mTLS when gateway was not deployed. This caused endpoint failure errors. This update fixes mTLS when Gateway is not deployed. (link:https://issues.redhat.com/browse/TRACING-3510[TRACING-3510]) + +[id="distributed-tracing-rn_3-0_tempo-release-notes_known-issues"] +==== Known issues + +//There is currently a known issue: +There are currently known issues: + +* Currently, when used with the {TempoOperator}, the Jaeger UI only displays services that have sent traces in the last 15 minutes. For services that did not send traces in the last 15 minutes, traces are still stored but not displayed in the Jaeger UI. (link:https://issues.redhat.com/browse/TRACING-3139[TRACING-3139]) +* Currently, the {TempoShortName} fails on the {ibm-z-title} (`s390x`) architecture. (link:https://issues.redhat.com/browse/TRACING-3545[TRACING-3545]) + +[id="distr-tracing-rn_2-9-2"] +== Release notes for {DTProductName} 2.9.2 + +[id="distr-tracing-rn_2-9-2_component-versions"] +=== Component versions in the {DTProductName} 2.9.2 + +[options="header"] +|=== +|Operator |Component |Version +|{JaegerName} +|Jaeger +|1.47.0 + +|{TempoName} +|Tempo +|2.1.1 +|=== + +=== CVEs + +This release fixes link:https://bugzilla.redhat.com/show_bug.cgi?id=2246470[CVE-2023-46234]. + +[id="distr-tracing-rn_2-9-2_jaeger-release-notes"] +=== {JaegerName} + +[id="distr-tracing-rn_2-9-2_jaeger-release-notes_known-issues"] +==== Known issues + +//There is currently a known issue: +There are currently known issues: + +* Apache Spark is not supported. +ifndef::openshift-rosa[] + +* The streaming deployment via AMQ/Kafka is unsupported on the {ibm-z-title} and {ibm-power-title} architectures. +endif::openshift-rosa[] + +[id="distr-tracing-rn_2-9-2_tempo-release-notes"] +=== {TempoName} + +:FeatureName: The {TempoName} +include::snippets/technology-preview.adoc[leveloffset=+1] + +[id="distr-tracing-rn_2-9-2_tempo-release-notes_known-issues"] +==== Known issues + +//There is currently a known issue: +There are currently known issues: + +* Currently, the custom TLS CA option is not implemented for connecting to object storage. (link:https://issues.redhat.com/browse/TRACING-3462[TRACING-3462]) + +* Currently, when used with the {TempoOperator}, the Jaeger UI only displays services that have sent traces in the last 15 minutes. For services that did not send traces in the last 15 minutes, traces are still stored but not displayed in the Jaeger UI. (link:https://issues.redhat.com/browse/TRACING-3139[TRACING-3139]) + +* Currently, the {TempoShortName} fails on the {ibm-z-title} (`s390x`) architecture. (link:https://issues.redhat.com/browse/TRACING-3545[TRACING-3545]) + +* Currently, the Tempo query frontend service must not use internal mTLS when Gateway is not deployed. This issue does not affect the Jaeger Query API. The workaround is to disable mTLS. (link:https://issues.redhat.com/browse/TRACING-3510[TRACING-3510]) ++ +.Workaround ++ +Disable mTLS as follows: ++ +. Open the {TempoOperator} ConfigMap for editing by running the following command: ++ +[source,terminal] +---- +$ oc edit configmap tempo-operator-manager-config -n openshift-tempo-operator <1> +---- +<1> The project where the {TempoOperator} is installed. + +. Disable the mTLS in the operator configuration by updating the YAML file: ++ +[source,yaml] +---- +data: + controller_manager_config.yaml: | + featureGates: + httpEncryption: false + grpcEncryption: false + builtInCertManagement: + enabled: false +---- + +. Restart the {TempoOperator} pod by running the following command: ++ +[source,terminal] +---- +$ oc rollout restart deployment.apps/tempo-operator-controller -n openshift-tempo-operator +---- + + +* Missing images for running the {TempoOperator} in restricted environments. The {TempoName} CSV is missing references to the operand images. (link:https://issues.redhat.com/browse/TRACING-3523[TRACING-3523]) ++ +.Workaround ++ +Add the {TempoOperator} related images in the mirroring tool to mirror the images to the registry: ++ +[source,yaml] +---- +kind: ImageSetConfiguration +apiVersion: mirror.openshift.io/v1alpha2 +archiveSize: 20 +storageConfig: + local: + path: /home/user/images +mirror: + operators: + - catalog: registry.redhat.io/redhat/redhat-operator-index:v4.13 + packages: + - name: tempo-product + channels: + - name: stable + additionalImages: + - name: registry.redhat.io/rhosdt/tempo-rhel8@sha256:e4295f837066efb05bcc5897f31eb2bdbd81684a8c59d6f9498dd3590c62c12a + - name: registry.redhat.io/rhosdt/tempo-gateway-rhel8@sha256:b62f5cedfeb5907b638f14ca6aaeea50f41642980a8a6f87b7061e88d90fac23 + - name: registry.redhat.io/rhosdt/tempo-gateway-opa-rhel8@sha256:8cd134deca47d6817b26566e272e6c3f75367653d589f5c90855c59b2fab01e9 + - name: registry.redhat.io/rhosdt/tempo-query-rhel8@sha256:0da43034f440b8258a48a0697ba643b5643d48b615cdb882ac7f4f1f80aad08e +---- + +[id="distr-tracing-rn_2-9-1"] +== Release notes for {DTProductName} 2.9.1 + +[id="distr-tracing-rn_2-9-1_component-versions"] +=== Component versions in the {DTProductName} 2.9.1 + +[options="header"] +|=== +|Operator |Component |Version +|{JaegerName} +|Jaeger +|1.47.0 + +|{TempoName} +|Tempo +|2.1.1 +|=== + +=== CVEs + +This release fixes link:https://access.redhat.com/security/cve/cve-2023-44487[CVE-2023-44487]. + +[id="distr-tracing-rn_2-9-1_jaeger-release-notes"] +=== {JaegerName} + +[id="distr-tracing-rn_2-9-1_jaeger-release-notes_known-issues"] +==== Known issues + +//There is currently a known issue: +There are currently known issues: + +* Apache Spark is not supported. +ifndef::openshift-rosa[] + +* The streaming deployment via AMQ/Kafka is unsupported on the {ibm-z-title} and {ibm-power-title} architectures. +endif::openshift-rosa[] + +[id="distr-tracing-rn_2-9-1_tempo-release-notes"] +=== {TempoName} + +:FeatureName: The {TempoName} +include::snippets/technology-preview.adoc[leveloffset=+1] + +[id="distr-tracing-rn_2-9-1_tempo-release-notes_known-issues"] +==== Known issues + +//There is currently a known issue: +There are currently known issues: + +* Currently, the custom TLS CA option is not implemented for connecting to object storage. (link:https://issues.redhat.com/browse/TRACING-3462[TRACING-3462]) + +* Currently, when used with the {TempoOperator}, the Jaeger UI only displays services that have sent traces in the last 15 minutes. For services that did not send traces in the last 15 minutes, traces are still stored but not displayed in the Jaeger UI. (link:https://issues.redhat.com/browse/TRACING-3139[TRACING-3139]) + +* Currently, the {TempoShortName} fails on the {ibm-z-title} (`s390x`) architecture. (link:https://issues.redhat.com/browse/TRACING-3545[TRACING-3545]) + +* Currently, the Tempo query frontend service must not use internal mTLS when Gateway is not deployed. This issue does not affect the Jaeger Query API. The workaround is to disable mTLS. (link:https://issues.redhat.com/browse/TRACING-3510[TRACING-3510]) ++ +.Workaround ++ +Disable mTLS as follows: ++ +. Open the {TempoOperator} ConfigMap for editing by running the following command: ++ +[source,terminal] +---- +$ oc edit configmap tempo-operator-manager-config -n openshift-tempo-operator <1> +---- +<1> The project where the {TempoOperator} is installed. + +. Disable the mTLS in the operator configuration by updating the YAML file: ++ +[source,yaml] +---- +data: + controller_manager_config.yaml: | + featureGates: + httpEncryption: false + grpcEncryption: false + builtInCertManagement: + enabled: false +---- + +. Restart the {TempoOperator} pod by running the following command: ++ +[source,terminal] +---- +$ oc rollout restart deployment.apps/tempo-operator-controller -n openshift-tempo-operator +---- + +* Missing images for running the {TempoOperator} in restricted environments. The {TempoName} CSV is missing references to the operand images. (link:https://issues.redhat.com/browse/TRACING-3523[TRACING-3523]) ++ +.Workaround ++ +Add the {TempoOperator} related images in the mirroring tool to mirror the images to the registry: ++ +[source,yaml] +---- +kind: ImageSetConfiguration +apiVersion: mirror.openshift.io/v1alpha2 +archiveSize: 20 +storageConfig: + local: + path: /home/user/images +mirror: + operators: + - catalog: registry.redhat.io/redhat/redhat-operator-index:v4.13 + packages: + - name: tempo-product + channels: + - name: stable + additionalImages: + - name: registry.redhat.io/rhosdt/tempo-rhel8@sha256:e4295f837066efb05bcc5897f31eb2bdbd81684a8c59d6f9498dd3590c62c12a + - name: registry.redhat.io/rhosdt/tempo-gateway-rhel8@sha256:b62f5cedfeb5907b638f14ca6aaeea50f41642980a8a6f87b7061e88d90fac23 + - name: registry.redhat.io/rhosdt/tempo-gateway-opa-rhel8@sha256:8cd134deca47d6817b26566e272e6c3f75367653d589f5c90855c59b2fab01e9 + - name: registry.redhat.io/rhosdt/tempo-query-rhel8@sha256:0da43034f440b8258a48a0697ba643b5643d48b615cdb882ac7f4f1f80aad08e +---- + +[id="distr-tracing-rn_2-9"] +== Release notes for {DTProductName} 2.9 + +[id="distr-tracing-rn_2-9_component-versions"] +=== Component versions in the {DTProductName} 2.9 + +[options="header"] +|=== +|Operator |Component |Version +|{JaegerName} +|Jaeger +|1.47.0 + +|{TempoName} +|Tempo +|2.1.1 +|=== + +[id="distr-tracing-rn_2-9_jaeger-release-notes"] +=== {JaegerName} + +//// +[id="distr-tracing-rn_2-9_jaeger-release-notes_new-features-and-enhancements"] +==== New features and enhancements +* None. +//// + +//// +[id="technology-preview-features_jaeger-release-notes_distributed-tracing-rn-2-9"] +==== Technology Preview features +None. +//// + +[id="distr-tracing-rn_2-9_jaeger-release-notes_bug-fixes"] +==== Bug fixes + +* Before this update, connection was refused due to a missing gRPC port on the `jaeger-query` deployment. This issue resulted in `transport: Error while dialing: dial tcp :16685: connect: connection refused` error message. With this update, the Jaeger Query gRPC port (16685) is successfully exposed on the Jaeger Query service. (link:https://issues.redhat.com/browse/TRACING-3322[TRACING-3322]) + +* Before this update, the wrong port was exposed for `jaeger-production-query`, resulting in refused connection. With this update, the issue is fixed by exposing the Jaeger Query gRPC port (16685) on the Jaeger Query deployment. (link:https://issues.redhat.com/browse/TRACING-2968[TRACING-2968]) + +* Before this update, when deploying {SMProductShortName} on {sno} clusters in disconnected environments, the Jaeger pod frequently went into the `Pending` state. With this update, the issue is fixed. (link:https://issues.redhat.com/browse/TRACING-3312[TRACING-3312]) + +* Before this update, the Jaeger Operator pod restarted with the default memory value due to the `reason: OOMKilled` error message. With this update, this issue is fixed by removing the resource limits. (link:https://issues.redhat.com/browse/TRACING-3173[TRACING-3173]) + +[id="distr-tracing-rn_2-9_jaeger-release-notes_known-issues"] +==== Known issues + +//There is currently a known issue: +There are currently known issues: + +* Apache Spark is not supported. +ifndef::openshift-rosa[] + +* The streaming deployment via AMQ/Kafka is unsupported on the {ibm-z-title} and {ibm-power-title} architectures. +endif::openshift-rosa[] + +[id="distr-tracing-rn_2-9_tempo-release-notes"] +=== {TempoName} + +:FeatureName: The {TempoName} +include::snippets/technology-preview.adoc[leveloffset=+1] + +[id="distr-tracing-rn_2-9_tempo-release-notes_new-features-and-enhancements"] +==== New features and enhancements + +This release introduces the following enhancements for the {TempoShortName}: + +* Support the link:https://operatorframework.io/operator-capabilities/[operator maturity] Level IV, Deep Insights, which enables upgrading, monitoring, and alerting of the TempoStack instances and the {TempoOperator}. + +* Add Ingress and Route configuration for the Gateway. + +* Support the `managed` and `unmanaged` states in the `TempoStack` custom resource. + +* Expose the following additional ingestion protocols in the Distributor service: Jaeger Thrift binary, Jaeger Thrift compact, Jaeger gRPC, and Zipkin. When the Gateway is enabled, only the OpenTelemetry protocol (OTLP) gRPC is enabled. + +* Expose the Jaeger Query gRPC endpoint on the Query Frontend service. + +* Support multitenancy without Gateway authentication and authorization. + +//// +[id="distributed-tracing-rn_2-9_tempo-release-notes_technology-preview-features"] +=== Technology Preview features +None. +//// + +[id="distr-tracing-rn_2-9_tempo-release-notes_bug-fixes"] +==== Bug fixes + +* Before this update, the {TempoOperator} was not compatible with disconnected environments. With this update, the {TempoOperator} supports disconnected environments. (link:https://issues.redhat.com/browse/TRACING-3145[TRACING-3145]) + +* Before this update, the {TempoOperator} with TLS failed to start on {product-title}. With this update, the mTLS communication is enabled between Tempo components, the Operand starts successfully, and the Jaeger UI is accessible. (link:https://issues.redhat.com/browse/TRACING-3091[TRACING-3091]) + +* Before this update, the resource limits from the {TempoOperator} caused error messages such as `reason: OOMKilled`. With this update, the resource limits for the {TempoOperator} are removed to avoid such errors. (link:https://issues.redhat.com/browse/TRACING-3204[TRACING-3204]) + +[id="distr-tracing-rn_2-9_tempo-release-notes_known-issues"] +==== Known issues + +//There is currently a known issue: +There are currently known issues: + +* Currently, the custom TLS CA option is not implemented for connecting to object storage. (link:https://issues.redhat.com/browse/TRACING-3462[TRACING-3462]) + +* Currently, when used with the {TempoOperator}, the Jaeger UI only displays services that have sent traces in the last 15 minutes. For services that did not send traces in the last 15 minutes, traces are still stored but not displayed in the Jaeger UI. (link:https://issues.redhat.com/browse/TRACING-3139[TRACING-3139]) + +* Currently, the {TempoShortName} fails on the {ibm-z-title} (`s390x`) architecture. (link:https://issues.redhat.com/browse/TRACING-3545[TRACING-3545]) + +* Currently, the Tempo query frontend service must not use internal mTLS when Gateway is not deployed. This issue does not affect the Jaeger Query API. The workaround is to disable mTLS. (link:https://issues.redhat.com/browse/TRACING-3510[TRACING-3510]) ++ +.Workaround ++ +Disable mTLS as follows: ++ +. Open the {TempoOperator} ConfigMap for editing by running the following command: ++ +[source,terminal] +---- +$ oc edit configmap tempo-operator-manager-config -n openshift-tempo-operator <1> +---- +<1> The project where the {TempoOperator} is installed. + +. Disable the mTLS in the operator configuration by updating the YAML file: ++ +[source,yaml] +---- +data: + controller_manager_config.yaml: | + featureGates: + httpEncryption: false + grpcEncryption: false + builtInCertManagement: + enabled: false +---- + +. Restart the {TempoOperator} pod by running the following command: ++ +[source,terminal] +---- +$ oc rollout restart deployment.apps/tempo-operator-controller -n openshift-tempo-operator +---- + + +* Missing images for running the {TempoOperator} in restricted environments. The {TempoName} CSV is missing references to the operand images. (link:https://issues.redhat.com/browse/TRACING-3523[TRACING-3523]) ++ +.Workaround ++ +Add the {TempoOperator} related images in the mirroring tool to mirror the images to the registry: ++ +[source,yaml] +---- +kind: ImageSetConfiguration +apiVersion: mirror.openshift.io/v1alpha2 +archiveSize: 20 +storageConfig: + local: + path: /home/user/images +mirror: + operators: + - catalog: registry.redhat.io/redhat/redhat-operator-index:v4.13 + packages: + - name: tempo-product + channels: + - name: stable + additionalImages: + - name: registry.redhat.io/rhosdt/tempo-rhel8@sha256:e4295f837066efb05bcc5897f31eb2bdbd81684a8c59d6f9498dd3590c62c12a + - name: registry.redhat.io/rhosdt/tempo-gateway-rhel8@sha256:b62f5cedfeb5907b638f14ca6aaeea50f41642980a8a6f87b7061e88d90fac23 + - name: registry.redhat.io/rhosdt/tempo-gateway-opa-rhel8@sha256:8cd134deca47d6817b26566e272e6c3f75367653d589f5c90855c59b2fab01e9 + - name: registry.redhat.io/rhosdt/tempo-query-rhel8@sha256:0da43034f440b8258a48a0697ba643b5643d48b615cdb882ac7f4f1f80aad08e +---- + +[id="distr-tracing-rn_2-8"] +== Release notes for {DTProductName} 2.8 + +[id="distr-tracing-rn_2-8_component-versions"] +=== Component versions in the {DTProductName} 2.8 + +[options="header"] +|=== +|Operator |Component |Version +|{JaegerName} +|Jaeger +|1.42 + +|{TempoName} +|Tempo +|0.1.0 +|=== + +[id="distr-tracing-rn_2-8_technology-preview-features"] +=== Technology Preview features + +This release introduces support for the {TempoName} as a link:https://access.redhat.com/support/offerings/techpreview/[Technology Preview] feature for {DTProductName}. + +:FeatureName: The {TempoName} +include::snippets/technology-preview.adoc[leveloffset=+1] + +The feature uses version 0.1.0 of the {TempoName} and version 2.0.1 of the upstream {TempoShortName} components. + +You can use the {TempoShortName} to replace Jaeger so that you can use S3-compatible storage instead of ElasticSearch. +Most users who use the {TempoShortName} instead of Jaeger will not notice any difference in functionality because the {TempoShortName} supports the same ingestion and query protocols as Jaeger and uses the same user interface. + +If you enable this Technology Preview feature, note the following limitations of the current implementation: + +* The {TempoShortName} currently does not support disconnected installations. (link:https://issues.redhat.com/browse/TRACING-3145[TRACING-3145]) + +* When you use the Jaeger user interface (UI) with the {TempoShortName}, the Jaeger UI lists only services that have sent traces within the last 15 minutes. For services that have not sent traces within the last 15 minutes, those traces are still stored even though they are not visible in the Jaeger UI. (link:https://issues.redhat.com/browse/TRACING-3139[TRACING-3139]) + +Expanded support for the {TempoOperator} is planned for future releases of the {DTProductName}. +Possible additional features might include support for TLS authentication, multitenancy, and multiple clusters. +For more information about the {TempoOperator}, see the link:https://tempo-operator.netlify.app[Tempo community documentation]. + +[id="distr-tracing-rn_2-8_bug-fixes"] +=== Bug fixes + +This release addresses Common Vulnerabilities and Exposures (CVEs) and bug fixes. + +[id="distr-tracing-rn_2-7"] +== Release notes for {DTProductName} 2.7 + +[id="distr-tracing-rn_2-7_component-versions"] +=== Component versions in the {DTProductName} 2.7 + +[options="header"] +|=== +|Operator |Component |Version +|{JaegerName} +|Jaeger +|1.39 +|=== + +[id="distr-tracing-rn_2-7_bug-fixes"] +=== Bug fixes + +This release addresses Common Vulnerabilities and Exposures (CVEs) and bug fixes. + +[id="distr-tracing-rn_2-6"] +== Release notes for {DTProductName} 2.6 + +[id="distr-tracing-rn_2-6_component-versions"] +=== Component versions in the {DTProductName} 2.6 + +[options="header"] +|=== +|Operator |Component |Version +|{JaegerName} +|Jaeger +|1.38 +|=== + +[id="distr-tracing-rn_2-6_bug-fixes"] +=== Bug fixes + +This release addresses Common Vulnerabilities and Exposures (CVEs) and bug fixes. + +[id="distr-tracing-rn_2-5"] +== Release notes for {DTProductName} 2.5 + +[id="distr-tracing-rn_2-5_component-versions"] +=== Component versions in the {DTProductName} 2.5 + +[options="header"] +|=== +|Operator |Component |Version +|{JaegerName} +|Jaeger +|1.36 +|=== + +[id="distr-tracing-rn_2-5_new-features-and-enhancements"] +=== New features and enhancements + +This release introduces support for ingesting OpenTelemetry protocol (OTLP) to the {JaegerName} Operator. +The Operator now automatically enables the OTLP ports: + +* Port 4317 for the OTLP gRPC protocol. +* Port 4318 for the OTLP HTTP protocol. + +This release also adds support for collecting Kubernetes resource attributes to the {OTELName} Operator. + +[id="distr-tracing-rn_2-5_bug-fixes"] +=== Bug fixes + +This release addresses Common Vulnerabilities and Exposures (CVEs) and bug fixes. + +[id="distr-tracing-rn_2-4"] +== Release notes for {DTProductName} 2.4 + +[id="distr-tracing-rn_2-4_component-versions"] +=== Component versions in the {DTProductName} 2.4 + +[options="header"] +|=== +|Operator |Component |Version +|{JaegerName} +|Jaeger +|1.34.1 +|=== + +[id="distr-tracing-rn_2-4_new-features-and-enhancements"] +=== New features and enhancements + +This release adds support for auto-provisioning certificates using the {es-op}. + +Self-provisioning by using the {JaegerName} Operator to call the {es-op} during installation. ++ +[IMPORTANT] +==== +When upgrading to the {DTProductName} 2.4, the operator recreates the Elasticsearch instance, which might take five to ten minutes. Distributed tracing will be down and unavailable for that period. +==== + +[id="distr-tracing-rn_2-4_technology-preview-features"] +=== Technology Preview features + +Creating the Elasticsearch instance and certificates first and then configuring the {JaegerShortName} to use the certificate is a link:https://access.redhat.com/support/offerings/techpreview/[Technology Preview] for this release. + +[id="distr-tracing-rn_2-4_bug-fixes"] +=== Bug fixes + +This release addresses Common Vulnerabilities and Exposures (CVEs) and bug fixes. + +[id="distr-tracing-rn_2-3"] +== Release notes for {DTProductName} 2.3 + +[id="distr-tracing-rn_2-3_component-versions_2-3-1"] +=== Component versions in the {DTProductName} 2.3.1 + +[options="header"] +|=== +|Operator |Component |Version +|{JaegerName} +|Jaeger +|1.30.2 +|=== + +[id="distr-tracing-rn_2-3_component-versions_2-3-0"] +=== Component versions in the {DTProductName} 2.3.0 + +[options="header"] +|=== +|Operator |Component |Version +|{JaegerName} +|Jaeger +|1.30.1 +|=== + +[id="distr-tracing-rn_2-3_new-features-and-enhancements"] +=== New features and enhancements + +With this release, the {JaegerName} Operator is now installed to the `openshift-distributed-tracing` namespace by default. Before this update, the default installation had been in the `openshift-operators` namespace. + +[id="distr-tracing-rn_2-3_bug-fixes"] +=== Bug fixes + +This release addresses Common Vulnerabilities and Exposures (CVEs) and bug fixes. + +[id="distr-tracing-rn_2-2"] +== Release notes for {DTProductName} 2.2 + +[id="distr-tracing-rn_2-2_technology-preview-features"] +=== Technology Preview features + +The unsupported OpenTelemetry Collector components included in the 2.1 release are removed. + +[id="distr-tracing-rn_2-2_bug-fixes"] +=== Bug fixes + +This release of the {DTProductName} addresses Common Vulnerabilities and Exposures (CVEs) and bug fixes. + +[id="distr-tracing-rn_2-1"] +== Release notes for {DTProductName} 2.1 + +[id="distr-tracing-rn_2-1_component-versions"] +=== Component versions in the {DTProductName} 2.1 + +[options="header"] +|=== +|Operator |Component |Version +|{JaegerName} +|Jaeger +|1.29.1 +|=== + +[id="distr-tracing-rn_2-1_technology-preview-features"] +=== Technology Preview features + +* This release introduces a breaking change to how to configure certificates in the OpenTelemetry custom resource file. With this update, the `ca_file` moves under `tls` in the custom resource, as shown in the following examples. ++ +.CA file configuration for OpenTelemetry version 0.33 ++ +[source,yaml] +---- +spec: + mode: deployment + config: | + exporters: + jaeger: + endpoint: jaeger-production-collector-headless.tracing-system.svc:14250 + ca_file: "/var/run/secrets/kubernetes.io/serviceaccount/service-ca.crt" +---- ++ +.CA file configuration for OpenTelemetry version 0.41.1 ++ +[source,yaml] +---- +spec: + mode: deployment + config: | + exporters: + jaeger: + endpoint: jaeger-production-collector-headless.tracing-system.svc:14250 + tls: + ca_file: "/var/run/secrets/kubernetes.io/serviceaccount/service-ca.crt" +---- + +[id="distr-tracing-rn_2-1_bug-fixes"] +=== Bug fixes + +This release addresses Common Vulnerabilities and Exposures (CVEs) and bug fixes. + +[id="distr-tracing-rn_2-0"] +== Release notes for {DTProductName} 2.0 + +[id="distr-tracing-rn_2-0_component-versions"] +=== Component versions in the {DTProductName} 2.0 + +[options="header"] +|=== +|Operator |Component |Version +|{JaegerName} +|Jaeger +|1.28.0 +|=== + +[id="distr-tracing-rn_2-0_new-features-and-enhancements"] +=== New features and enhancements + +This release introduces the following new features and enhancements: + +* Rebrands Red Hat OpenShift Jaeger as the {DTProductName}. + +* Updates {JaegerName} Operator to Jaeger 1.28. Going forward, the {DTProductName} will only support the `stable` Operator channel. +Channels for individual releases are no longer supported. + +* Adds support for OpenTelemetry protocol (OTLP) to the Query service. + +* Introduces a new distributed tracing icon that appears in the OperatorHub. + +* Includes rolling updates to the documentation to support the name change and new features. + +[id="distr-tracing-rn_2-0_technology-preview-features"] +=== Technology Preview features + +This release adds the {OTELName} as a link:https://access.redhat.com/support/offerings/techpreview/[Technology Preview], which you install using the {OTELName} Operator. {OTELName} is based on the link:https://opentelemetry.io/[OpenTelemetry] APIs and instrumentation. The {OTELName} includes the OpenTelemetry Operator and Collector. You can use the Collector to receive traces in the OpenTelemetry or Jaeger protocol and send the trace data to the {DTProductName}. Other capabilities of the Collector are not supported at this time. The OpenTelemetry Collector allows developers to instrument their code with vendor agnostic APIs, avoiding vendor lock-in and enabling a growing ecosystem of observability tooling. + +[id="distr-tracing-rn_2-0_bug-fixes"] +=== Bug fixes + +This release addresses Common Vulnerabilities and Exposures (CVEs) and bug fixes. + +include::modules/support.adoc[leveloffset=+1] + +include::modules/making-open-source-more-inclusive.adoc[leveloffset=+1] diff --git a/modules/distr-tracing-architecture.adoc b/modules/distr-tracing-architecture.adoc index eb9734a29411..6f9dcee607aa 100644 --- a/modules/distr-tracing-architecture.adoc +++ b/modules/distr-tracing-architecture.adoc @@ -9,22 +9,6 @@ This module included in the following assemblies: {DTProductName} is made up of several components that work together to collect, store, and display tracing data. -* *{JaegerName}* - This component is based on the open source link:https://www.jaegertracing.io/[Jaeger project]. - -** *Client* (Jaeger client, Tracer, Reporter, instrumented application, client libraries)- The {JaegerShortName} clients are language-specific implementations of the OpenTracing API. They can be used to instrument applications for distributed tracing either manually or with a variety of existing open source frameworks, such as Camel (Fuse), Spring Boot (RHOAR), MicroProfile (RHOAR/Thorntail), Wildfly (EAP), and many more, that are already integrated with OpenTracing. - -** *Agent* (Jaeger agent, Server Queue, Processor Workers) - The {JaegerShortName} agent is a network daemon that listens for spans sent over User Datagram Protocol (UDP), which it batches and sends to the Collector. The agent is meant to be placed on the same host as the instrumented application. This is typically accomplished by having a sidecar in container environments such as Kubernetes. - -** *Jaeger Collector* (Collector, Queue, Workers) - Similar to the Jaeger agent, the Jaeger Collector receives spans and places them in an internal queue for processing. This allows the Jaeger Collector to return immediately to the client/agent instead of waiting for the span to make its way to the storage. - -** *Storage* (Data Store) - Collectors require a persistent storage backend. {JaegerName} has a pluggable mechanism for span storage. Note that for this release, the only supported storage is Elasticsearch. - -** *Query* (Query Service) - Query is a service that retrieves traces from storage. - -** *Ingester* (Ingester Service) - {DTProductName} can use Apache Kafka as a buffer between the Collector and the actual Elasticsearch backing storage. Ingester is a service that reads data from Kafka and writes to the Elasticsearch storage backend. - -** *Jaeger Console* – With the {JaegerName} user interface, you can visualize your distributed tracing data. On the Search page, you can find traces and explore details of the spans that make up an individual trace. - * *{TempoName}* - This component is based on the open source link:https://grafana.com/oss/tempo/[Grafana Tempo project]. ** *Gateway* – The Gateway handles authentication, authorization, and forwarding requests to the Distributor or Query front-end service. @@ -43,3 +27,18 @@ This module included in the following assemblies: ** *OpenTelemetry Collector* - The OpenTelemetry Collector is a vendor-agnostic way to receive, process, and export telemetry data. The OpenTelemetry Collector supports open-source observability data formats, for example, Jaeger and Prometheus, sending to one or more open-source or commercial back-ends. The Collector is the default location instrumentation libraries export their telemetry data. +* *{JaegerName}* - This component is based on the open source link:https://www.jaegertracing.io/[Jaeger project]. + +** *Client* (Jaeger client, Tracer, Reporter, instrumented application, client libraries)- The {JaegerShortName} clients are language-specific implementations of the OpenTracing API. They can be used to instrument applications for distributed tracing either manually or with a variety of existing open source frameworks, such as Camel (Fuse), Spring Boot (RHOAR), MicroProfile (RHOAR/Thorntail), Wildfly (EAP), and many more, that are already integrated with OpenTracing. + +** *Agent* (Jaeger agent, Server Queue, Processor Workers) - The {JaegerShortName} agent is a network daemon that listens for spans sent over User Datagram Protocol (UDP), which it batches and sends to the Collector. The agent is meant to be placed on the same host as the instrumented application. This is typically accomplished by having a sidecar in container environments such as Kubernetes. + +** *Jaeger Collector* (Collector, Queue, Workers) - Similar to the Jaeger agent, the Jaeger Collector receives spans and places them in an internal queue for processing. This allows the Jaeger Collector to return immediately to the client/agent instead of waiting for the span to make its way to the storage. + +** *Storage* (Data Store) - Collectors require a persistent storage backend. {JaegerName} has a pluggable mechanism for span storage. {JaegerName} supports the Elasticsearch storage. + +** *Query* (Query Service) - Query is a service that retrieves traces from storage. + +** *Ingester* (Ingester Service) - {DTProductName} can use Apache Kafka as a buffer between the Collector and the actual Elasticsearch backing storage. Ingester is a service that reads data from Kafka and writes to the Elasticsearch storage backend. + +** *Jaeger Console* – With the {JaegerName} user interface, you can visualize your distributed tracing data. On the Search page, you can find traces and explore details of the spans that make up an individual trace. diff --git a/modules/distr-tracing-product-overview.adoc b/modules/distr-tracing-product-overview.adoc index a7768e395e9c..28f4df266ecf 100644 --- a/modules/distr-tracing-product-overview.adoc +++ b/modules/distr-tracing-product-overview.adoc @@ -1,16 +1,7 @@ // Module included in the following assemblies: // -// * distr_tracing/distr_tracing_rn/distr-tracing-rn-2-0.adoc -// * distr_tracing/distr_tracing_rn/distr-tracing-rn-2-1.adoc -// * distr_tracing/distr_tracing_rn/distr-tracing-rn-2-2.adoc -// * distr_tracing/distr_tracing_rn/distr-tracing-rn-2-3.adoc -// * distr_tracing/distr_tracing_rn/distr-tracing-rn-2-4.adoc -// * distr_tracing/distr_tracing_rn/distr-tracing-rn-2-5.adoc -// * distr_tracing/distr_tracing_rn/distr-tracing-rn-2-6.adoc -// * distr_tracing/distr_tracing_rn/distr-tracing-rn-2-7.adoc -// * distr_tracing/distr_tracing_rn/distr-tracing-rn-2-8.adoc -// * distr_tracing/distr_tracing_rn/distr-tracing-rn-2-9.adoc -// * distr_tracing/distr_tracing_rn/distr-tracing-rn-3-0.adoc +// * distr_tracing/distr_tracing_rn/distr-tracing-rn-3-1.adoc +// * distr_tracing/distr_tracing_rn/distr-tracing-rn-past-releases.adoc // * distr_tracing_arch/distr-tracing-architecture.adoc // * service_mesh/v2x/ossm-architecture.adoc // * serverless/serverless-tracing.adoc @@ -32,12 +23,12 @@ With the {DTShortName}, you can perform the following functions: The {DTShortName} consists of three components: -* *{JaegerName}*, which is based on the open source link:https://www.jaegertracing.io/[Jaeger project]. - * *{TempoName}*, which is based on the open source link:https://grafana.com/oss/tempo/[Grafana Tempo project]. * *{OTELNAME}*, which is based on the open source link:https://opentelemetry.io/[OpenTelemetry project]. +* *{JaegerName}*, which is based on the open source link:https://www.jaegertracing.io/[Jaeger project]. ++ [IMPORTANT] ==== Jaeger does not use FIPS validated cryptographic modules. diff --git a/modules/distr-tracing-tempo-config-query-frontend.adoc b/modules/distr-tracing-tempo-config-query-frontend.adoc index 425c5a87053d..807255b377a8 100644 --- a/modules/distr-tracing-tempo-config-query-frontend.adoc +++ b/modules/distr-tracing-tempo-config-query-frontend.adoc @@ -8,10 +8,10 @@ Two components of the {TempoShortName}, the querier and query frontend, manage queries. You can configure both of these components. -The querier component finds the requested trace ID in the ingesters or back-end storage. Depending on the set parameters, the querier component can query both the ingesters and pull bloom or indexes from the back end to search blocks in object storage. The querier component exposes an HTTP endpoint at `GET /querier/api/traces/`, but it is not expected to be used directly. Queries must be sent to the query frontend. +The querier component finds the requested trace ID in the ingesters or back-end storage. Depending on the set parameters, the querier component can query both the ingesters and pull bloom or indexes from the back end to search blocks in object storage. The querier component exposes an HTTP endpoint at `GET /querier/api/traces/`, but it is not expected to be used directly. Queries must be sent to the query frontend. .Configuration parameters for the querier component -[options="header"] +[options="header",cols="l, a, a] |=== |Parameter |Description |Values @@ -28,10 +28,10 @@ The querier component finds the requested trace ID in the ingesters or back-end |type: array |=== -The query frontend component is responsible for sharding the search space for an incoming query. The query frontend exposes traces via a simple HTTP endpoint: `GET /api/traces/`. Internally, the query frontend component splits the `blockID` space into a configurable number of shards and then queues these requests. The querier component connects to the query frontend component via a streaming gRPC connection to process these sharded queries. +The query frontend component is responsible for sharding the search space for an incoming query. The query frontend exposes traces via a simple HTTP endpoint: `GET /api/traces/`. Internally, the query frontend component splits the `blockID` space into a configurable number of shards and then queues these requests. The querier component connects to the query frontend component via a streaming gRPC connection to process these sharded queries. .Configuration parameters for the query frontend component -[options="header"] +[options="header",cols="l, a, a] |=== |Parameter |Description |Values diff --git a/modules/distr-tracing-tempo-config-spanmetrics.adoc b/modules/distr-tracing-tempo-config-spanmetrics.adoc index 3e3d4dfa6692..65645d773f14 100644 --- a/modules/distr-tracing-tempo-config-spanmetrics.adoc +++ b/modules/distr-tracing-tempo-config-spanmetrics.adoc @@ -13,6 +13,7 @@ The metrics can be visualized in Jaeger console in the *Monitor* tab. The metrics are derived from spans in the OpenTelemetry Collector that are scraped from the Collector by the Prometheus deployed in the user-workload monitoring stack. The Jaeger UI queries these metrics from the Prometheus endpoint and visualizes them. +[id="distr-tracing-tempo-config-spanmetrics_opentelemetry-collector-configuration_{context}"] == OpenTelemetry Collector configuration The OpenTelemetry Collector requires configuration of the `spanmetrics` connector that derives metrics from traces and exports the metrics in the Prometheus format. @@ -68,6 +69,7 @@ spec: <5> The Spanmetrics connector is configured as exporter in traces pipeline. <6> The Spanmetrics connector is configured as receiver in metrics pipeline. +[id="distr-tracing-tempo-config-spanmetrics_tempo-configuration_{context}"] == Tempo configuration The `TempoStack` custom resource must specify the following: the *Monitor* tab is enabled, and the Prometheus endpoint is set to the Thanos querier service to query the data from the user-defined monitoring stack. @@ -92,3 +94,56 @@ spec: ---- <1> Enables the monitoring tab in the Jaeger console. <2> The service name for Thanos Querier from user-workload monitoring. + +[id="distr-tracing-tempo-config-spanmetrics_span-red-metrics-and-alerting-rules_{context}"] +== Span RED metrics and alerting rules + +The metrics generated by the `spanmetrics` connector are usable with alerting rules. For example, for alerts about a slow service or to define service level objectives (SLOs), the connector creates a `duration_bucket` histogram and the `calls` counter metric. These metrics have labels that identify the service, API name, operation type, and other attributes. + +.Labels of the metrics created in the `spanmetrics` connector +[options="header"] +[cols="l, a, a"] +|=== +|Label |Description |Values + +|service_name +|Service name set by the `otel_service_name` environment variable. +|`frontend` + +|span_name +| Name of the operation. +| +* `/` +* `/customer` + +|span_kind +|Identifies the server, client, messaging, or internal operation. +| +* `SPAN_KIND_SERVER` +* `SPAN_KIND_CLIENT` +* `SPAN_KIND_PRODUCER` +* `SPAN_KIND_CONSUMER` +* `SPAN_KIND_INTERNAL` + +|=== + +.Example `PrometheusRule` CR that defines an alerting rule for SLO when not serving 95% of requests within 2000ms on the front-end service +[source,yaml] +---- +apiVersion: monitoring.coreos.com/v1 +kind: PrometheusRule +metadata: + name: span-red +spec: + groups: + - name: server-side-latency + rules: + - alert: SpanREDFrontendAPIRequestLatency + expr: histogram_quantile(0.95, sum(rate(duration_bucket{service_name="frontend", span_kind="SPAN_KIND_SERVER"}[5m])) by (le, service_name, span_name)) > 2000 # <1> + labels: + severity: Warning + annotations: + summary: "High request latency on {{$labels.service_name}} and {{$labels.span_name}}" + description: "{{$labels.instance}} has 95th request latency above 2s (current value: {{$value}}s)" +---- +<1> The expression for checking if 95% of the front-end server response time values are below 2000 ms. The time range (`[5m]`) must be at least four times the scrape interval and long enough to accommodate a change in the metric. diff --git a/modules/otel-config-collector.adoc b/modules/otel-collector-components.adoc similarity index 85% rename from modules/otel-config-collector.adoc rename to modules/otel-collector-components.adoc index 7e83edcb2cd9..3b34fde00c42 100644 --- a/modules/otel-config-collector.adoc +++ b/modules/otel-collector-components.adoc @@ -1,162 +1,18 @@ // Module included in the following assemblies: // -// * otel/otel-configuring.adoc +// * otel/otel-configuration-of-collector.adoc :_mod-docs-content-type: REFERENCE -[id="otel-collector-config-options_{context}"] -= OpenTelemetry Collector configuration options - -The OpenTelemetry Collector consists of five types of components that access telemetry data: - -Receivers:: A receiver, which can be push or pull based, is how data gets into the Collector. Generally, a receiver accepts data in a specified format, translates it into the internal format, and passes it to processors and exporters defined in the applicable pipelines. By default, no receivers are configured. One or more receivers must be configured. Receivers may support one or more data sources. - -Processors:: Optional. Processors process the data between it is received and exported. By default, no processors are enabled. Processors must be enabled for every data source. Not all processors support all data sources. Depending on the data source, multiple processors might be enabled. Note that the order of processors matters. - -Exporters:: An exporter, which can be push or pull based, is how you send data to one or more back ends or destinations. By default, no exporters are configured. One or more exporters must be configured. Exporters can support one or more data sources. Exporters might be used with their default settings, but many exporters require configuration to specify at least the destination and security settings. - -Connectors:: A connector connects two pipelines. It consumes data as an exporter at the end of one pipeline and emits data as a receiver at the start of another pipeline. It can consume and emit data of the same or different data type. It can generate and emit data to summarize the consumed data, or it can merely replicate or route data. - -Extensions:: An extension adds capabilities to the Collector. For example, authentication can be added to the receivers and exporters automatically. - -You can define multiple instances of components in a custom resource YAML file. When configured, these components must be enabled through pipelines defined in the `spec.config.service` section of the YAML file. As a best practice, only enable the components that you need. - -.Example of the OpenTelemetry Collector custom resource file -[source,yaml] ----- -apiVersion: opentelemetry.io/v1alpha1 -kind: OpenTelemetryCollector -metadata: - name: cluster-collector - namespace: tracing-system -spec: - mode: deployment - observability: - metrics: - enableMetrics: true - config: | - receivers: - otlp: - protocols: - grpc: - http: - processors: - exporters: - otlp: - endpoint: jaeger-production-collector-headless.tracing-system.svc:4317 - tls: - ca_file: "/var/run/secrets/kubernetes.io/serviceaccount/service-ca.crt" - prometheus: - endpoint: 0.0.0.0:8889 - resource_to_telemetry_conversion: - enabled: true # by default resource attributes are dropped - service: # <1> - pipelines: - traces: - receivers: [otlp] - processors: [] - exporters: [jaeger] - metrics: - receivers: [otlp] - processors: [] - exporters: [prometheus] ----- -<1> If a component is configured but not defined in the `service` section, the component is not enabled. - -.Parameters used by the Operator to define the OpenTelemetry Collector -[options="header"] -[cols="l, a, a, a"] -|=== -|Parameter |Description |Values |Default -|receivers: -|A receiver is how data gets into the Collector. By default, no receivers are configured. There must be at least one enabled receiver for a configuration to be considered valid. Receivers are enabled by being added to a pipeline. -|`otlp`, `jaeger`, `prometheus`, `zipkin`, `kafka`, `opencensus` -|None - -|processors: -|Processors run through the data between it is received and exported. By default, no processors are enabled. -|`batch`, `memory_limiter`, `resourcedetection`, `attributes`, `span`, `k8sattributes`, `filter`, `routing` -|None - -|exporters: -|An exporter sends data to one or more back ends or destinations. By default, no exporters are configured. There must be at least one enabled exporter for a configuration to be considered valid. Exporters are enabled by being added to a pipeline. Exporters might be used with their default settings, but many require configuration to specify at least the destination and security settings. -|`otlp`, `otlphttp`, `debug`, `prometheus`, `kafka` -|None - -|connectors: -|Connectors join pairs of pipelines, that is by consuming data as end-of-pipeline exporters and emitting data as start-of-pipeline receivers, and can be used to summarize, replicate, or route consumed data. -|`spanmetrics` -|None - -|extensions: -|Optional components for tasks that do not involve processing telemetry data. -|`bearertokenauth`, `oauth2client`, `jaegerremotesamplin`, `pprof`, `health_check`, `memory_ballast`, `zpages` -|None - -|service: - pipelines: -|Components are enabled by adding them to a pipeline under `services.pipeline`. -| -| - -|service: - pipelines: - traces: - receivers: -|You enable receivers for tracing by adding them under `service.pipelines.traces`. -| -|None - -|service: - pipelines: - traces: - processors: -|You enable processors for tracing by adding them under `service.pipelines.traces`. -| -|None - -|service: - pipelines: - traces: - exporters: -|You enable exporters for tracing by adding them under `service.pipelines.traces`. -| -|None - -|service: - pipelines: - metrics: - receivers: -|You enable receivers for metrics by adding them under `service.pipelines.metrics`. -| -|None - -|service: - pipelines: - metrics: - processors: -|You enable processors for metircs by adding them under `service.pipelines.metrics`. -| -|None - -|service: - pipelines: - metrics: - exporters: -|You enable exporters for metrics by adding them under `service.pipelines.metrics`. -| -|None -|=== - [id="otel-collector-components_{context}"] -== OpenTelemetry Collector components += OpenTelemetry Collector components [id="receivers_{context}"] -=== Receivers +== Receivers Receivers get data into the Collector. [id="otlp-receiver_{context}"] -==== OTLP Receiver +=== OTLP Receiver The OTLP receiver ingests traces and metrics using the OpenTelemetry protocol (OTLP). @@ -194,7 +50,7 @@ The OTLP receiver ingests traces and metrics using the OpenTelemetry protocol (O <6> The server-side TLS configuration. For more information, see the `grpc` protocol configuration section. [id="jaeger-receiver_{context}"] -==== Jaeger Receiver +=== Jaeger Receiver The Jaeger receiver ingests traces in the Jaeger formats. @@ -227,7 +83,7 @@ The Jaeger receiver ingests traces in the Jaeger formats. <5> The server-side TLS configuration. See the OTLP receiver configuration section for more details. [id="prometheus-receiver_{context}"] -==== Prometheus Receiver +=== Prometheus Receiver The Prometheus receiver is currently a link:https://access.redhat.com/support/offerings/techpreview[Technology Preview] feature only. @@ -256,7 +112,7 @@ The Prometheus receiver scrapes the metrics endpoints. <4> The targets at which the metrics are exposed. This example scrapes the metrics from a `my-app` application in the `example` project. [id="zipkin-receiver_{context}"] -==== Zipkin Receiver +=== Zipkin Receiver The Zipkin receiver ingests traces in the Zipkin v1 and v2 formats. @@ -278,7 +134,7 @@ The Zipkin receiver ingests traces in the Zipkin v1 and v2 formats. <2> The server-side TLS configuration. See the OTLP receiver configuration section for more details. [id="kafka-receiver_{context}"] -==== Kafka Receiver +=== Kafka Receiver The Kafka receiver is currently a link:https://access.redhat.com/support/offerings/techpreview[Technology Preview] feature only. @@ -317,7 +173,7 @@ The Kafka receiver receives traces, metrics, and logs from Kafka in the OTLP for <7> ServerName indicates the name of the server requested by the client to support virtual hosting. [id="opencensus-receiver_{context}"] -==== OpenCensus receiver +=== OpenCensus receiver The OpenCensus receiver provides backwards compatibility with the OpenCensus project for easier migration of instrumented codebases. It receives metrics and traces in the OpenCensus format via gRPC or HTTP and Json. @@ -344,12 +200,12 @@ Wildcards with `+*+` are accepted under the `cors_allowed_origins`. To match any origin, enter only `+*+`. [id="processors_{context}"] -=== Processors +== Processors Processors run through the data between it is received and exported. [id="batch-processor_{context}"] -==== Batch processor +=== Batch processor The Batch processor batches traces and metrics to reduce the number of outgoing connections needed to transfer the telemetry information. @@ -397,7 +253,7 @@ The Batch processor batches traces and metrics to reduce the number of outgoing |=== [id="memorylimiter-processor_{context}"] -==== Memory Limiter processor +=== Memory Limiter processor The Memory Limiter processor periodically checks the Collector's memory usage and pauses data processing when the soft memory limit is reached. This processor supports traces, metrics, and logs. The preceding component, which is typically a receiver, is expected to retry sending the same data and may apply a backpressure to the incoming data. When memory usage exceeds the hard limit, the Memory Limiter processor forces garbage collection to run. @@ -447,7 +303,7 @@ The Memory Limiter processor periodically checks the Collector's memory usage an |=== [id="resource-detection-processor_{context}"] -==== Resource Detection processor +=== Resource Detection processor The Resource Detection processor is currently a link:https://access.redhat.com/support/offerings/techpreview[Technology Preview] feature only. @@ -494,7 +350,7 @@ rules: <1> Specifies which detector to use. In this example, the environment detector is specified. [id="attributes-processor_{context}"] -==== Attributes processor +=== Attributes processor The Attributes processor is currently a link:https://access.redhat.com/support/offerings/techpreview[Technology Preview] feature only. @@ -544,7 +400,7 @@ Convert:: Converts an existing attribute to a specified type. ---- [id="resource-processor_{context}"] -==== Resource processor +=== Resource processor The Resource processor is currently a link:https://access.redhat.com/support/offerings/techpreview[Technology Preview] feature only. @@ -569,7 +425,7 @@ The Resource processor applies changes to the resource attributes. This processo Attributes represent the actions that are applied to the resource attributes, such as delete the attribute, insert the attribute, or upsert the attribute. [id="span-processor_{context}"] -==== Span processor +=== Span processor The Span processor is currently a link:https://access.redhat.com/support/offerings/techpreview[Technology Preview] feature only. @@ -619,7 +475,7 @@ You can have the span status modified. ---- [id="kubernetes-attributes-processor_{context}"] -==== Kubernetes Attributes processor +=== Kubernetes Attributes processor The Kubernetes Attributes processor is currently a link:https://access.redhat.com/support/offerings/techpreview[Technology Preview] feature only. @@ -704,12 +560,12 @@ config: | You can optionally create an `attribute_source` configuratiion, which defines where to look for the attribute in `from_attribute`. The allowed value is `context` to search the context, which includes the HTTP headers, or `resource` to search the resource attributes. [id="exporters_{context}"] -=== Exporters +== Exporters Exporters send data to one or more back ends or destinations. [id="otlp-exporter_{context}"] -==== OTLP exporter +=== OTLP exporter The OTLP gRPC exporter exports traces and metrics using the OpenTelemetry protocol (OTLP). @@ -746,7 +602,7 @@ The OTLP gRPC exporter exports traces and metrics using the OpenTelemetry protoc <7> Headers are sent for every request performed during an established connection. [id="otlp-http-exporter_{context}"] -==== OTLP HTTP exporter +=== OTLP HTTP exporter The OTLP HTTP exporter exports traces and metrics using the OpenTelemetry protocol (OTLP). @@ -775,7 +631,7 @@ The OTLP HTTP exporter exports traces and metrics using the OpenTelemetry protoc <4> If true, disables HTTP keep-alives. It will only use the connection to the server for a single HTTP request. [id="debug-exporter_{context}"] -==== Debug exporter +=== Debug exporter The Debug exporter prints traces and metrics to the standard output. @@ -796,7 +652,7 @@ The Debug exporter prints traces and metrics to the standard output. <1> Verbosity of the debug export: `detailed` or `normal` or `basic`. When set to `detailed`, pipeline data is verbosely logged. Defaults to `normal`. [id="prometheus-exporter_{context}"] -==== Prometheus exporter +=== Prometheus exporter The Prometheus exporter is currently a link:https://access.redhat.com/support/offerings/techpreview[Technology Preview] feature only. @@ -841,7 +697,7 @@ The Prometheus exporter exports metrics in the Prometheus or OpenMetrics formats <9> Adds the metrics types and units suffixes. Must be disabled if the monitor tab in Jaeger console is enabled. The default is `true`. [id="kafka-exporter_{context}"] -==== Kafka exporter +=== Kafka exporter The Kafka exporter is currently a link:https://access.redhat.com/support/offerings/techpreview[Technology Preview] feature only. @@ -880,12 +736,12 @@ The Kafka exporter exports logs, metrics, and traces to Kafka. This exporter use <7> ServerName indicates the name of the server requested by the client to support virtual hosting. [id="connectors_{context}"] -=== Connectors +== Connectors Connectors connect two pipelines. [id="spanmetrics-connector_{context}"] -==== Spanmetrics connector +=== Spanmetrics connector The Spanmetrics connector is currently a link:https://access.redhat.com/support/offerings/techpreview[Technology Preview] feature only. @@ -908,12 +764,12 @@ The Spanmetrics connector aggregates Request, Error, and Duration (R.E.D) OpenTe <1> Defines the flush interval of the generated metrics. Defaults to `15s`. [id="extensions_{context}"] -=== Extensions +== Extensions Extensions add capabilities to the Collector. [id="bearertokenauth-extension_{context}"] -==== BearerTokenAuth extension +=== BearerTokenAuth extension The BearerTokenAuth extension is currently a link:https://access.redhat.com/support/offerings/techpreview[Technology Preview] feature only. @@ -956,7 +812,7 @@ This extension supports traces, metrics, and logs. <5> You can assign the authenticator configuration to an OTLP exporter. [id="oauth2client-extension_{context}"] -==== OAuth2Client extension +=== OAuth2Client extension The OAuth2Client extension is currently a link:https://access.redhat.com/support/offerings/techpreview[Technology Preview] feature only. @@ -1016,7 +872,7 @@ This extension supports traces, metrics, and logs. [id="jaegerremotesampling-extension_{context}"] -==== Jaeger Remote Sampling extension +=== Jaeger Remote Sampling extension The Jaeger Remote Sampling extension is currently a link:https://access.redhat.com/support/offerings/techpreview[Technology Preview] feature only. @@ -1101,9 +957,8 @@ The Jaeger Remote Sampling extension allows serving sampling strategies after Ja ---- - [id="pprof-extension_{context}"] -==== Performance Profiler extension +=== Performance Profiler extension The Performance Profiler extension is currently a link:https://access.redhat.com/support/offerings/techpreview[Technology Preview] feature only. @@ -1141,7 +996,7 @@ The Performance Profiler extension enables the Go `net/http/pprof` endpoint. Thi <4> The name of the file in which the CPU profile is to be saved. Profiling starts when the Collector starts. Profiling is saved to the file when the Collector is terminated. [id="healthcheck-extension_{context}"] -==== Health Check extension +=== Health Check extension The Health Check extension is currently a link:https://access.redhat.com/support/offerings/techpreview[Technology Preview] feature only. @@ -1188,7 +1043,7 @@ The Health Check extension provides an HTTP URL for checking the status of the O <7> The threshold of a number of failures until which a container is still marked as healthy. The default is `5`. [id="memory-ballast-extension_{context}"] -==== Memory Ballast extension +=== Memory Ballast extension The Memory Ballast extension is currently a link:https://access.redhat.com/support/offerings/techpreview[Technology Preview] feature only. @@ -1223,7 +1078,7 @@ The Memory Ballast extension enables applications to configure memory ballast fo [id="zpages-extension_{context}"] -==== zPages extension +=== zPages extension The zPages extension is currently a link:https://access.redhat.com/support/offerings/techpreview[Technology Preview] feature only. diff --git a/modules/otel-collector-config-options.adoc b/modules/otel-collector-config-options.adoc new file mode 100644 index 000000000000..43793cf123d8 --- /dev/null +++ b/modules/otel-collector-config-options.adoc @@ -0,0 +1,148 @@ +// Module included in the following assemblies: +// +// * otel/otel-configuration-of-collector.adoc + +:_mod-docs-content-type: REFERENCE +[id="otel-collector-config-options_{context}"] += OpenTelemetry Collector configuration options + +The OpenTelemetry Collector consists of five types of components that access telemetry data: + +Receivers:: A receiver, which can be push or pull based, is how data gets into the Collector. Generally, a receiver accepts data in a specified format, translates it into the internal format, and passes it to processors and exporters defined in the applicable pipelines. By default, no receivers are configured. One or more receivers must be configured. Receivers may support one or more data sources. + +Processors:: Optional. Processors process the data between it is received and exported. By default, no processors are enabled. Processors must be enabled for every data source. Not all processors support all data sources. Depending on the data source, multiple processors might be enabled. Note that the order of processors matters. + +Exporters:: An exporter, which can be push or pull based, is how you send data to one or more back ends or destinations. By default, no exporters are configured. One or more exporters must be configured. Exporters can support one or more data sources. Exporters might be used with their default settings, but many exporters require configuration to specify at least the destination and security settings. + +Connectors:: A connector connects two pipelines. It consumes data as an exporter at the end of one pipeline and emits data as a receiver at the start of another pipeline. It can consume and emit data of the same or different data type. It can generate and emit data to summarize the consumed data, or it can merely replicate or route data. + +Extensions:: An extension adds capabilities to the Collector. For example, authentication can be added to the receivers and exporters automatically. + +You can define multiple instances of components in a custom resource YAML file. When configured, these components must be enabled through pipelines defined in the `spec.config.service` section of the YAML file. As a best practice, only enable the components that you need. + +.Example of the OpenTelemetry Collector custom resource file +[source,yaml] +---- +apiVersion: opentelemetry.io/v1alpha1 +kind: OpenTelemetryCollector +metadata: + name: cluster-collector + namespace: tracing-system +spec: + mode: deployment + observability: + metrics: + enableMetrics: true + config: | + receivers: + otlp: + protocols: + grpc: + http: + processors: + exporters: + otlp: + endpoint: jaeger-production-collector-headless.tracing-system.svc:4317 + tls: + ca_file: "/var/run/secrets/kubernetes.io/serviceaccount/service-ca.crt" + prometheus: + endpoint: 0.0.0.0:8889 + resource_to_telemetry_conversion: + enabled: true # by default resource attributes are dropped + service: # <1> + pipelines: + traces: + receivers: [otlp] + processors: [] + exporters: [jaeger] + metrics: + receivers: [otlp] + processors: [] + exporters: [prometheus] +---- +<1> If a component is configured but not defined in the `service` section, the component is not enabled. + +.Parameters used by the Operator to define the OpenTelemetry Collector +[options="header"] +[cols="l, a, a, a"] +|=== +|Parameter |Description |Values |Default +|receivers: +|A receiver is how data gets into the Collector. By default, no receivers are configured. There must be at least one enabled receiver for a configuration to be considered valid. Receivers are enabled by being added to a pipeline. +|`otlp`, `jaeger`, `prometheus`, `zipkin`, `kafka`, `opencensus` +|None + +|processors: +|Processors run through the received data before it is exported. By default, no processors are enabled. +|`batch`, `memory_limiter`, `resourcedetection`, `attributes`, `span`, `k8sattributes`, `filter`, `routing` +|None + +|exporters: +|An exporter sends data to one or more back ends or destinations. By default, no exporters are configured. There must be at least one enabled exporter for a configuration to be considered valid. Exporters are enabled by being added to a pipeline. Exporters might be used with their default settings, but many require configuration to specify at least the destination and security settings. +|`otlp`, `otlphttp`, `debug`, `prometheus`, `kafka` +|None + +|connectors: +|Connectors join pairs of pipelines by consuming data as end-of-pipeline exporters and emitting data as start-of-pipeline receivers. Connectors can be used to summarize, replicate, or route consumed data. +|`spanmetrics` +|None + +|extensions: +|Optional components for tasks that do not involve processing telemetry data. +|`bearertokenauth`, `oauth2client`, `jaegerremotesamplin`, `pprof`, `health_check`, `memory_ballast`, `zpages` +|None + +|service: + pipelines: +|Components are enabled by adding them to a pipeline under `services.pipeline`. +| +| + +|service: + pipelines: + traces: + receivers: +|You enable receivers for tracing by adding them under `service.pipelines.traces`. +| +|None + +|service: + pipelines: + traces: + processors: +|You enable processors for tracing by adding them under `service.pipelines.traces`. +| +|None + +|service: + pipelines: + traces: + exporters: +|You enable exporters for tracing by adding them under `service.pipelines.traces`. +| +|None + +|service: + pipelines: + metrics: + receivers: +|You enable receivers for metrics by adding them under `service.pipelines.metrics`. +| +|None + +|service: + pipelines: + metrics: + processors: +|You enable processors for metircs by adding them under `service.pipelines.metrics`. +| +|None + +|service: + pipelines: + metrics: + exporters: +|You enable exporters for metrics by adding them under `service.pipelines.metrics`. +| +|None +|=== diff --git a/modules/otel-config-instrumentation.adoc b/modules/otel-config-instrumentation.adoc index 4f94f83ec03e..93e2e4e2d957 100644 --- a/modules/otel-config-instrumentation.adoc +++ b/modules/otel-config-instrumentation.adoc @@ -15,6 +15,7 @@ Auto-instrumentation in OpenTelemetry refers to the capability where the framewo The {OTELName} Operator only supports the injection mechanism of the instrumentation libraries but does not support instrumentation libraries or upstream images. Customers can build their own instrumentation images or use community images. ==== +[id="otel-instrumentation-options_{context}"] == Instrumentation options Instrumentation options are specified in the `OpenTelemetryCollector` custom resource. @@ -97,13 +98,15 @@ spec: |=== +[id="otel-using-instrumentation-cr-with-service-mesh_{context}"] == Using the instrumentation CR with Service Mesh When using the instrumentation custom resource (CR) with {SMProductName}, you must use the `b3multi` propagator. +[id="otel-configuration-of-apache-http-server-auto-instrumentation_{context}"] === Configuration of the Apache HTTP Server auto-instrumentation -.Prameters for the `+.spec.apacheHttpd+` field +.Parameters for the `+.spec.apacheHttpd+` field [options="header"] [cols="l, a, a"] |=== @@ -141,6 +144,7 @@ When using the instrumentation custom resource (CR) with {SMProductName}, you mu instrumentation.opentelemetry.io/inject-apache-httpd: "true" ---- +[id="otel-configuration-of-dotnet-auto-instrumentation_{context}"] === Configuration of the .NET auto-instrumentation [options="header"] @@ -167,6 +171,7 @@ For the .NET auto-instrumentation, the required `OTEL_EXPORTER_OTLP_ENDPOINT` en instrumentation.opentelemetry.io/inject-dotnet: "true" ---- +[id="otel-configuration-of-go-auto-instrumentation_{context}"] === Configuration of the Go auto-instrumentation [options="header"] @@ -224,6 +229,7 @@ $ oc adm policy add-scc-to-user otel-go-instrumentation-scc -z ---- ==== +[id="otel-configuration-of-java-auto-instrumentation_{context}"] === Configuration of the Java auto-instrumentation [options="header"] @@ -248,6 +254,7 @@ $ oc adm policy add-scc-to-user otel-go-instrumentation-scc -z instrumentation.opentelemetry.io/inject-java: "true" ---- +[id="otel-configuration-of-nodejs-auto-instrumentation_{context}"] === Configuration of the Node.js auto-instrumentation [options="header"] @@ -275,6 +282,7 @@ instrumentation.opentelemetry.io/otel-go-auto-target-exe: "/path/to/container/ex The `+instrumentation.opentelemetry.io/otel-go-auto-target-exe+` annotation sets the value for the required `OTEL_GO_AUTO_TARGET_EXE` environment variable. +[id="otel-configuration-of-python-auto-instrumentation_{context}"] === Configuration of the Python auto-instrumentation [options="header"] @@ -301,6 +309,7 @@ For Python auto-instrumentation, the `OTEL_EXPORTER_OTLP_ENDPOINT` environment v instrumentation.opentelemetry.io/inject-python: "true" ---- +[id="otel-configuration-of-opentelemetry-sdk-variables_{context}"] === Configuration of the OpenTelemetry SDK variables The OpenTelemetry SDK variables in your pod are configurable by using the following annotation: @@ -320,6 +329,7 @@ Note that all the annotations accept the following values: `other-namespace/instrumentation-name`:: The name of the instrumentation resource to inject from another namespace. +[id="otel-multi-container-pods_{context}"] === Multi-container pods The instrumentation is run on the first container that is available by default according to the pod specification. In some cases, you can also specify target containers for injection. diff --git a/modules/otel-config-target-allocator.adoc b/modules/otel-config-target-allocator.adoc new file mode 100644 index 000000000000..bda205341ae2 --- /dev/null +++ b/modules/otel-config-target-allocator.adoc @@ -0,0 +1,93 @@ +// Module included in the following assemblies: +// +// * otel/otel-configuration-of-collector.adoc + +:_mod-docs-content-type: REFERENCE +[id="otel-config-target-allocator_{context}"] += Target allocator + +The target allocator is an optional component of the OpenTelemetry Operator that shards scrape targets across the deployed fleet of OpenTelemetry Collector instances. The target allocator integrates with the Prometheus `PodMonitor` and `ServiceMonitor` custom resources (CR). When the target allocator is enabled, the OpenTelemetry Operator adds the `http_sd_config` field to the enabled `prometheus` receiver that connects to the target allocator service. + +.Example OpenTelemetryCollector CR with the enabled target allocator +[source,yaml] +---- +apiVersion: opentelemetry.io/v1alpha1 +kind: OpenTelemetryCollector +metadata: + name: otel + namespace: observability +spec: + mode: statefulset # <1> + targetAllocator: + enabled: true # <2> + serviceAccount: # <3> + prometheusCR: + enabled: true # <4> + scrapeInterval: 10s + serviceMonitorSelector: # <5> + name: app1 + podMonitorSelector: # <6> + name: app2 + config: | + receivers: + prometheus: # <7> + config: + scrape_configs: [] + processors: + exporters: + debug: + service: + pipelines: + metrics: + receivers: [prometheus] + processors: [] + exporters: [debug] +---- +<1> When the target allocator is enabled, the deployment mode must be set to `statefulset`. +<2> Enables the target allocator. Defaults to `false`. +<3> The service account name of the target allocator deployment. The service account needs to have RBAC to get the `ServiceMonitor`, `PodMonitor` custom resources, and other objects from the cluster to properly set labels on scraped metrics. The default service name is `-targetallocator`. +<4> Enables integration with the Prometheus `PodMonitor` and `ServiceMonitor` custom resources. +<5> Label selector for the Prometheus `ServiceMonitor` custom resources. When left empty, enables all service monitors. +<6> Label selector for the Prometheus `PodMonitor` custom resources. When left empty, enables all pod monitors. +<7> Prometheus receiver with the minimal, empty `scrape_config: []` configuration option. + +The target allocator deployment uses the Kubernetes API to get relevant objects from the cluster, so it requires a custom RBAC configuration. + +.RBAC configuration for the target allocator service account +[source,yaml] +---- +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRole +metadata: + name: otel-targetallocator +rules: + - apiGroups: [""] + resources: + - services + - pods + verbs: ["get", "list", "watch"] + - apiGroups: ["monitoring.coreos.com"] + resources: + - servicemonitors + - podmonitors + verbs: ["get", "list", "watch"] + - apiGroups: ["discovery.k8s.io"] + resources: + - endpointslices + verbs: ["get", "list", "watch"] +--- +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRoleBinding +metadata: + name: otel-targetallocator +roleRef: + apiGroup: rbac.authorization.k8s.io + kind: ClusterRole + name: otel-targetallocator +subjects: + - kind: ServiceAccount + name: otel-targetallocator # <1> + namespace: observability # <2> +---- +<1> The name of the target allocator service account mane. +<2> The namespace of the target allocator service account. diff --git a/modules/otel-product-overview.adoc b/modules/otel-product-overview.adoc new file mode 100644 index 000000000000..f6bc9c68df5f --- /dev/null +++ b/modules/otel-product-overview.adoc @@ -0,0 +1,28 @@ +// Module included in the following assemblies: +// +// * otel/otel_rn/otel-rn-3-1.adoc +// * otel/otel_tracing_rn/otel-rn-past-releases.adoc + +:_mod-docs-content-type: CONCEPT +[id="otel-product-overview_{context}"] += {OTELName} overview + +{OTELName} is based on the open source link:https://opentelemetry.io/[OpenTelemetry project], which aims to provide unified, standardized, and vendor-neutral telemetry data collection for cloud-native software. {OTELName} product provides support for deploying and managing the OpenTelemetry Collector and simplifying the workload instrumentation. + +The link:https://opentelemetry.io/docs/collector/[OpenTelemetry Collector] can receive, process, and forward telemetry data in multiple formats, making it the ideal component for telemetry processing and interoperability between telemetry systems. The Collector provides a unified solution for collecting and processing metrics, traces, and logs. + +The OpenTelemetry Collector has a number of features including the following: + +Data Collection and Processing Hub:: It acts as a central component that gathers telemetry data like metrics and traces from various sources. This data can be created from instrumented applications and infrastructure. + +Customizable telemetry data pipeline:: The OpenTelemetry Collector is designed to be customizable. It supports various processors, exporters, and receivers. + +Auto-instrumentation features:: Automatic instrumentation simplifies the process of adding observability to applications. Developers don't need to manually instrument their code for basic telemetry data. + +Here are some of the use cases for the OpenTelemetry Collector: + +Centralized data collection:: In a microservices architecture, the Collector can be deployed to aggregate data from multiple services. + +Data enrichment and processing:: Before forwarding data to analysis tools, the Collector can enrich, filter, and process this data. + +Multi-backend receiving and exporting:: The Collector can receive and send data to multiple monitoring and analysis platforms simultaneously. diff --git a/modules/otel-send-traces-and-metrics-to-otel-collector-with-sidecar.adoc b/modules/otel-send-traces-and-metrics-to-otel-collector-with-sidecar.adoc index 449b6c0095df..471668061a99 100644 --- a/modules/otel-send-traces-and-metrics-to-otel-collector-with-sidecar.adoc +++ b/modules/otel-send-traces-and-metrics-to-otel-collector-with-sidecar.adoc @@ -1,6 +1,6 @@ // Module included in the following assemblies: // -// * otel/otel-using.adoc +// * otel/otel-sending-traces-and-metrics-to-otel-collector.adoc :_mod-docs-content-type: PROCEDURE [id="sending-traces-and-metrics-to-otel-collector-with-sidecar_{context}"] diff --git a/modules/otel-send-traces-and-metrics-to-otel-collector-without-sidecar.adoc b/modules/otel-send-traces-and-metrics-to-otel-collector-without-sidecar.adoc index 1f27c913b1c7..67beea579ce5 100644 --- a/modules/otel-send-traces-and-metrics-to-otel-collector-without-sidecar.adoc +++ b/modules/otel-send-traces-and-metrics-to-otel-collector-without-sidecar.adoc @@ -1,6 +1,6 @@ // Module included in the following assemblies: // -// * otel/otel-using.adoc +// * otel/otel-sending-traces-and-metrics-to-otel-collector.adoc :_mod-docs-content-type: PROCEDURE [id="sending-traces-and-metrics-to-otel-collector-without-sidecar_{context}"] diff --git a/observability/index.adoc b/observability/index.adoc index f7b2a37b42a6..a0a7214c5476 100644 --- a/observability/index.adoc +++ b/observability/index.adoc @@ -45,8 +45,8 @@ For more information, see xref:../distr_tracing/distr_tracing_arch/distr-tracing == {OTELName} Instrument, generate, collect, and export telemetry traces, metrics, and logs to analyze and understand your software's performance and behavior. Use open source backends like Tempo or Prometheus, or use commercial offerings. Learn a single set of APIs and conventions, and own the data that you generate. -For more information, see xref:../otel/otel-release-notes.adoc#otel-release-notes[{OTELName} release notes]. -//after the file is added to the observability directory, update xref path to ../observability/otel/otel-release-notes.adoc#otel-release-notes[{OTELName} release notes]. +For more information, see xref:../otel/otel_rn/otel-rn-3.1.adoc[{OTELName}]. +//possibly outdated comment: after the file is added to the observability directory, update xref path to ../observability/otel/otel-release-notes.adoc#otel-release-notes[{OTELName} release notes]. [id="network-observability-overview-index"] == Network Observability diff --git a/modules/otel-config-multicluster.adoc b/otel/otel-config-multicluster.adoc similarity index 95% rename from modules/otel-config-multicluster.adoc rename to otel/otel-config-multicluster.adoc index d3353364d103..d66a19674846 100644 --- a/modules/otel-config-multicluster.adoc +++ b/otel/otel-config-multicluster.adoc @@ -1,10 +1,8 @@ -// Module included in the following assemblies: -// -// * otel/otel-configuring.adoc - -:_mod-docs-content-type: PROCEDURE -[id="gathering-observability-data-from-different-clusters_{context}"] -= Gathering the observability data from different clusters with the OpenTelemetry Collector +:_mod-docs-content-type: ASSEMBLY +[id="otel-gathering-observability-data-from-multiple-clusters"] += Gathering the observability data from multiple clusters +include::_attributes/common-attributes.adoc[] +:context: otel-gathering-observability-data-from-multiple-clusters For a multicluster configuration, you can create one OpenTelemetry Collector instance in each one of the remote clusters and then forward all the telemetry data to one OpenTelemetry Collector instance. diff --git a/modules/otel-config-send-metrics-monitoring-stack.adoc b/otel/otel-config-send-metrics-monitoring-stack.adoc similarity index 90% rename from modules/otel-config-send-metrics-monitoring-stack.adoc rename to otel/otel-config-send-metrics-monitoring-stack.adoc index 5671d0f6959e..d06a82faf01a 100644 --- a/modules/otel-config-send-metrics-monitoring-stack.adoc +++ b/otel/otel-config-send-metrics-monitoring-stack.adoc @@ -1,10 +1,8 @@ -// Module included in the following assemblies: -// -// * otel/deploying-otel.adoc - -:_mod-docs-content-type: REFERENCE -[id="configuration-for-sending-metrics-to-the-monitoring-stack_{context}"] +:_mod-docs-content-type: ASSEMBLY +[id="otel-configuration-for-sending-metrics-to-the-monitoring-stack"] = Configuration for sending metrics to the monitoring stack +include::_attributes/common-attributes.adoc[] +:context: otel-configuration-for-sending-metrics-to-the-monitoring-stack The OpenTelemetry Collector custom resource (CR) can be configured to create a Prometheus `ServiceMonitor` CR for scraping the Collector's pipeline metrics and the enabled Prometheus exporters. diff --git a/otel/otel-instrumentation.adoc b/otel/otel-configuration-of-instrumentation.adoc similarity index 74% rename from otel/otel-instrumentation.adoc rename to otel/otel-configuration-of-instrumentation.adoc index 13eadd2bf81a..86ebd4ab3560 100644 --- a/otel/otel-instrumentation.adoc +++ b/otel/otel-configuration-of-instrumentation.adoc @@ -1,8 +1,8 @@ :_mod-docs-content-type: ASSEMBLY -[id="otel-instrumentation"] -= Configuring and deploying the OpenTelemetry instrumentation injection +[id="otel-configuration-of-instrumentation"] += Configuration of the instrumentation include::_attributes/common-attributes.adoc[] -:context: otel-instrumentation +:context: otel-configuration-of-instrumentation toc::[] diff --git a/otel/otel-configuration-of-otel-collector.adoc b/otel/otel-configuration-of-otel-collector.adoc new file mode 100644 index 000000000000..18cb4704872b --- /dev/null +++ b/otel/otel-configuration-of-otel-collector.adoc @@ -0,0 +1,13 @@ +:_mod-docs-content-type: ASSEMBLY +[id="otel-configuration-of-otel-collector"] += Configuration of the OpenTelemetry Collector +include::_attributes/common-attributes.adoc[] +:context: otel-configuration-of-otel-collector + +toc::[] + +The {OTELName} Operator uses a custom resource definition (CRD) file that defines the architecture and configuration settings to be used when creating and deploying the {OTELShortName} resources. You can install the default configuration or modify the file. + +include::modules/otel-collector-config-options.adoc[leveloffset=+1] +include::modules/otel-collector-components.adoc[leveloffset=+1] +include::modules/otel-config-target-allocator.adoc[leveloffset=+1] diff --git a/modules/otel-configuring-otelcol-metrics.adoc b/otel/otel-configuring-otelcol-metrics.adoc similarity index 57% rename from modules/otel-configuring-otelcol-metrics.adoc rename to otel/otel-configuring-otelcol-metrics.adoc index 3b8e6ac29d83..155bbf528be5 100644 --- a/modules/otel-configuring-otelcol-metrics.adoc +++ b/otel/otel-configuring-otelcol-metrics.adoc @@ -1,10 +1,12 @@ -// Module included in the following assemblies: -// -// * otel/otel-configuring.adoc - -:_mod-docs-content-type: PROCEDURE -[id="configuring-otelcol-metrics_{context}"] +:_mod-docs-content-type: ASSEMBLY +[id="otel-configuring-metrics"] = Configuring the OpenTelemetry Collector metrics +include::_attributes/common-attributes.adoc[] +:context: otel-configuring-metrics + +//[id="setting-up-monitoring-for-otel"] +//== Setting up monitoring for the {OTELShortName} +//The {OTELOperator} supports monitoring and alerting of each OpenTelemtry Collector instance and exposes upgrade and operational metrics about the Operator itself. You can enable metrics and alerts of OpenTelemetry Collector instances. @@ -33,3 +35,6 @@ spec: You can use the *Administrator* view of the web console to verify successful configuration: * Go to *Observe* -> *Targets*, filter by *Source: User*, and check that the *ServiceMonitors* in the `opentelemetry-collector-` format have the *Up* status. + +.Additional resources +* xref:../monitoring/enabling-monitoring-for-user-defined-projects.adoc#enabling-monitoring-for-user-defined-projects[Enabling monitoring for user-defined projects] diff --git a/otel/otel-configuring.adoc b/otel/otel-configuring.adoc deleted file mode 100644 index 8350694ba3cc..000000000000 --- a/otel/otel-configuring.adoc +++ /dev/null @@ -1,27 +0,0 @@ -:_mod-docs-content-type: ASSEMBLY -[id="otel-configuring"] -= Configuring and deploying the {OTELShortName} -include::_attributes/common-attributes.adoc[] -:context: otel-configuring - -toc::[] - -The {OTELName} Operator uses a custom resource definition (CRD) file that defines the architecture and configuration settings to be used when creating and deploying the {OTELShortName} resources. You can install the default configuration or modify the file. - -include::modules/otel-config-collector.adoc[leveloffset=+1] -include::modules/otel-config-multicluster.adoc[leveloffset=+1] -include::modules/otel-config-send-metrics-monitoring-stack.adoc[leveloffset=+1] - -[id="setting-up-monitoring-for-otel"] -== Setting up monitoring for the {OTELShortName} - -The {OTELOperator} supports monitoring and alerting of each OpenTelemtry Collector instance and exposes upgrade and operational metrics about the Operator itself. - -include::modules/otel-configuring-otelcol-metrics.adoc[leveloffset=+2] - -// modules/otel-configuring-oteloperator-metrics.adoc[leveloffset=+2] - -[role="_additional-resources"] -[id="additional-resources_deploy-otel"] -== Additional resources -* xref:../monitoring/enabling-monitoring-for-user-defined-projects.adoc#enabling-monitoring-for-user-defined-projects[Enabling monitoring for user-defined projects] diff --git a/modules/otel-forwarding.adoc b/otel/otel-forwarding.adoc similarity index 94% rename from modules/otel-forwarding.adoc rename to otel/otel-forwarding.adoc index a106f5810d1e..6317c4e1a84e 100644 --- a/modules/otel-forwarding.adoc +++ b/otel/otel-forwarding.adoc @@ -1,10 +1,8 @@ -// Module included in the following assemblies: -// -// * otel/otel-using.adoc - -:_mod-docs-content-type: PROCEDURE -[id="forwarding-traces_{context}"] -= Forwarding traces to a TempoStack by using the OpenTelemetry Collector +:_mod-docs-content-type: ASSEMBLY +[id="otel-forwarding-traces"] += Forwarding traces to a TempoStack +include::_attributes/common-attributes.adoc[] +:context: otel-forwarding-traces To configure forwarding traces to a TempoStack, you can deploy and configure the OpenTelemetry Collector. You can deploy the OpenTelemetry Collector in the deployment mode by using the specified processors, receivers, and exporters. For other modes, see the OpenTelemetry Collector documentation linked in _Additional resources_. diff --git a/otel/otel-migrating.adoc b/otel/otel-migrating.adoc index 75bed9b697a5..3718f17f1c50 100644 --- a/otel/otel-migrating.adoc +++ b/otel/otel-migrating.adoc @@ -6,6 +6,9 @@ include::_attributes/common-attributes.adoc[] toc::[] +:FeatureName: The {JaegerName} +include::modules/deprecated-feature.adoc[] + If you are already using the {JaegerName} for your applications, you can migrate to the {OTELName}, which is based on the link:https://opentelemetry.io/[OpenTelemetry] open-source project. The {OTELShortName} provides a set of APIs, libraries, agents, and instrumentation to facilitate observability in distributed systems. The OpenTelemetry Collector in the {OTELShortName} can ingest the Jaeger protocol, so you do not need to change the SDKs in your applications. diff --git a/otel/otel-release-notes.adoc b/otel/otel-release-notes.adoc deleted file mode 100644 index 9507f420f587..000000000000 --- a/otel/otel-release-notes.adoc +++ /dev/null @@ -1,136 +0,0 @@ -:_mod-docs-content-type: ASSEMBLY -include::_attributes/common-attributes.adoc[] -[id="otel-release-notes"] -= Release notes for {OTELName} -:context: otel-release-notes - -toc::[] - -[id="otel-product-overview"] -== {OTELName} overview - -{OTELName} is based on the open source link:https://opentelemetry.io/[OpenTelemetry project], which aims to provide unified, standardized, and vendor-neutral telemetry data collection for cloud-native software. {OTELName} product provides support for deploying and managing the OpenTelemetry Collector and simplifying the workload instrumentation. - -The link:https://opentelemetry.io/docs/collector/[OpenTelemetry Collector] can receive, process, and forward telemetry data in multiple formats, making it the ideal component for telemetry processing and interoperability between telemetry systems. The Collector provides a unified solution for collecting and processing metrics, traces, and logs. - -The OpenTelemetry Collector has a number of features including the following: - -Data Collection and Processing Hub:: It acts as a central component that gathers telemetry data like metrics and traces from various sources. This data can be created from instrumented applications and infrastructure. - -Customizable telemetry data pipeline:: The OpenTelemetry Collector is designed to be customizable. It supports various processors, exporters, and receivers. - -Auto-instrumentation features:: Automatic instrumentation simplifies the process of adding observability to applications. Developers don't need to manually instrument their code for basic telemetry data. - -Here are some of the use cases for the OpenTelemetry Collector: - -Centralized data collection:: In a microservices architecture, the Collector can be deployed to aggregate data from multiple services. - -Data enrichment and processing:: Before forwarding data to analysis tools, the Collector can enrich, filter, and process this data. - -Multi-backend receiving and exporting:: The Collector can receive and send data to multiple monitoring and analysis platforms simultaneously. - -[id="otel-3-0-rn"] -== {OTELName} {DTProductVersion} - -{OTELName} {DTProductVersion} is based on link:https://opentelemetry.io/[OpenTelemetry] {OTELVersion}. - -[id="new-features-and-enhancements_otel-3-0-rn"] -=== New features and enhancements - -This update introduces the following enhancements: - -* The *OpenShift distributed tracing data collection Operator* is renamed as the *{OTELOperator}*. -* Support for the ARM architecture. -* Support for the Prometheus receiver for metrics collection. -* Support for the Kafka receiver and exporter for sending traces and metrics to Kafka. -* Support for cluster-wide proxy environments. -* The {OTELOperator} creates the Prometheus `ServiceMonitor` custom resource if the Prometheus exporter is enabled. -* The Operator enables the `Instrumentation` custom resource that allows injecting upstream OpenTelemetry auto-instrumentation libraries. - -[id="removal-notice_otel-3-0-rn"] -=== Removal notice - -* In {OTELName} {DTProductVersion}, the Jaeger exporter has been removed. Bug fixes and support are provided only through the end of the 2.9 lifecycle. As an alternative to the Jaeger exporter for sending data to the Jaeger collector, you can use the OTLP exporter instead. - -[id="bug-fixes_otel-3-0-rn"] -=== Bug fixes - -This update introduces the following bug fixes: - -* Fixed support for disconnected environments when using the `oc adm catalog mirror` CLI command. - -[id="known-issues_otel-3-0-rn"] -=== Known issues - -Currently, the cluster monitoring of the {OTELOperator} is disabled due to a bug (link:https://issues.redhat.com/browse/TRACING-3761[TRACING-3761]). The bug is preventing the cluster monitoring from scraping metrics from the {OTELOperator} due to a missing label `openshift.io/cluster-monitoring=true` - that is required for the cluster monitoring and service monitor object. - -.Workaround - -You can enable the cluster monitoring as follows: - -. Add the following label in the Operator namespace: `oc label namespace openshift-opentelemetry-operator openshift.io/cluster-monitoring=true` - -. Create a service monitor, role, and role binding: -+ -[source,yaml] ----- -apiVersion: monitoring.coreos.com/v1 -kind: ServiceMonitor -metadata: - name: opentelemetry-operator-controller-manager-metrics-service - namespace: openshift-opentelemetry-operator -spec: - endpoints: - - bearerTokenFile: /var/run/secrets/kubernetes.io/serviceaccount/token - path: /metrics - port: https - scheme: https - tlsConfig: - insecureSkipVerify: true - selector: - matchLabels: - app.kubernetes.io/name: opentelemetry-operator - control-plane: controller-manager ---- -apiVersion: rbac.authorization.k8s.io/v1 -kind: Role -metadata: - name: otel-operator-prometheus - namespace: openshift-opentelemetry-operator - annotations: - include.release.openshift.io/self-managed-high-availability: "true" - include.release.openshift.io/single-node-developer: "true" -rules: -- apiGroups: - - "" - resources: - - services - - endpoints - - pods - verbs: - - get - - list - - watch ---- -apiVersion: rbac.authorization.k8s.io/v1 -kind: RoleBinding -metadata: - name: otel-operator-prometheus - namespace: openshift-opentelemetry-operator - annotations: - include.release.openshift.io/self-managed-high-availability: "true" - include.release.openshift.io/single-node-developer: "true" -roleRef: - apiGroup: rbac.authorization.k8s.io - kind: Role - name: otel-operator-prometheus -subjects: -- kind: ServiceAccount - name: prometheus-k8s - namespace: openshift-monitoring ----- - -include::modules/support.adoc[leveloffset=+1] - -include::modules/making-open-source-more-inclusive.adoc[leveloffset=+1] diff --git a/otel/otel-using.adoc b/otel/otel-sending-traces-and-metrics-to-otel-collector.adoc similarity index 57% rename from otel/otel-using.adoc rename to otel/otel-sending-traces-and-metrics-to-otel-collector.adoc index 8712a19b4420..a850e6afaadb 100644 --- a/otel/otel-using.adoc +++ b/otel/otel-sending-traces-and-metrics-to-otel-collector.adoc @@ -1,20 +1,15 @@ :_mod-docs-content-type: ASSEMBLY -[id="otel-temp"] -= Using the {OTELShortName} +[id="otel-sending-traces-and-metrics-to-otel-collector"] += Sending traces and metrics to the OpenTelemetry Collector include::_attributes/common-attributes.adoc[] -:context: otel-temp +:context: otel-sending-traces-and-metrics-to-otel-collector toc::[] You can set up and use the {OTELShortName} to send traces to the OpenTelemetry Collector or the TempoStack. -include::modules/otel-forwarding.adoc[leveloffset=+1] - -[id="otel-send-traces-and-metrics-to-otel-collector_{context}"] -== Sending traces and metrics to the OpenTelemetry Collector - Sending traces and metrics to the OpenTelemetry Collector is possible with or without sidecar injection. -include::modules/otel-send-traces-and-metrics-to-otel-collector-with-sidecar.adoc[leveloffset=+2] +include::modules/otel-send-traces-and-metrics-to-otel-collector-with-sidecar.adoc[leveloffset=+1] -include::modules/otel-send-traces-and-metrics-to-otel-collector-without-sidecar.adoc[leveloffset=+2] +include::modules/otel-send-traces-and-metrics-to-otel-collector-without-sidecar.adoc[leveloffset=+1] diff --git a/otel/otel_rn/_attributes b/otel/otel_rn/_attributes new file mode 120000 index 000000000000..20cc1dcb77bf --- /dev/null +++ b/otel/otel_rn/_attributes @@ -0,0 +1 @@ +../../_attributes/ \ No newline at end of file diff --git a/otel/otel_rn/images b/otel/otel_rn/images new file mode 120000 index 000000000000..847b03ed0541 --- /dev/null +++ b/otel/otel_rn/images @@ -0,0 +1 @@ +../../images/ \ No newline at end of file diff --git a/otel/otel_rn/modules b/otel/otel_rn/modules new file mode 120000 index 000000000000..36719b9de743 --- /dev/null +++ b/otel/otel_rn/modules @@ -0,0 +1 @@ +../../modules/ \ No newline at end of file diff --git a/otel/otel_rn/otel-rn-3.1.adoc b/otel/otel_rn/otel-rn-3.1.adoc new file mode 100644 index 000000000000..834d3fe59db4 --- /dev/null +++ b/otel/otel_rn/otel-rn-3.1.adoc @@ -0,0 +1,43 @@ +:_mod-docs-content-type: ASSEMBLY +include::_attributes/common-attributes.adoc[] +[id="otel-rn-3-1"] += Release notes for {OTELName} 3.1 +:context: otel-rn-3-1 + +toc::[] + +include::modules/otel-product-overview.adoc[leveloffset=+1] + +[id="otel-rn_3-1_new-features-and-enhancements"] +== New features and enhancements + +//plural: `enhancements:` +This update introduces the following enhancements: + +* {OTELName} 3.1 is based on link:https://opentelemetry.io/[OpenTelemetry] 0.93.0. + +* Support for the target allocator in the OpenTelemetry Collector. The target allocator is an optional component of the OpenTelemetry Operator that shards Prometheus receiver scrape targets across the deployed fleet of OpenTelemetry Collector instances. The target allocator provides integration with the Prometheus `PodMonitor` and `ServiceMonitor` custom resources. + +//// +[id="otel-rn_3-1_removal-notice"] +=== Removal notice +* +//// + +//// +[id="otel-rn_3-1_bug-fixes"] +=== Bug fixes +This update introduces the following bug fixes: +* Fixed support for ... +//// + +//// +[id="otel-rn_3-1_known-issues"] +=== Known issues +//There is currently a known issue: +//There are currently known issues: +//// + +include::modules/support.adoc[leveloffset=+1] + +include::modules/making-open-source-more-inclusive.adoc[leveloffset=+1] diff --git a/otel/otel_rn/otel-rn-past-releases.adoc b/otel/otel_rn/otel-rn-past-releases.adoc new file mode 100644 index 000000000000..46811c3cf148 --- /dev/null +++ b/otel/otel_rn/otel-rn-past-releases.adoc @@ -0,0 +1,398 @@ +:_mod-docs-content-type: ASSEMBLY +[id="otel-rn-past-releases"] += Release notes for past releases of {OTELName} +include::_attributes/common-attributes.adoc[] +:context: otel-rn-past-releases + +toc::[] + +include::modules/distr-tracing-product-overview.adoc[leveloffset=+1] + +[id="otel-rn_3-0"] +== Release notes for {OTELName} 3.0 + +{OTELName} 3.0 is based on link:https://opentelemetry.io/[OpenTelemetry] 0.89.0. + +[id="otel-rn_3-0_new-features-and-enhancements"] +=== New features and enhancements + +This update introduces the following enhancements: + +* The *OpenShift distributed tracing data collection Operator* is renamed as the *{OTELOperator}*. +* Support for the ARM architecture. +* Support for the Prometheus receiver for metrics collection. +* Support for the Kafka receiver and exporter for sending traces and metrics to Kafka. +* Support for cluster-wide proxy environments. +* The {OTELOperator} creates the Prometheus `ServiceMonitor` custom resource if the Prometheus exporter is enabled. +* The Operator enables the `Instrumentation` custom resource that allows injecting upstream OpenTelemetry auto-instrumentation libraries. + +[id="otel-rn_3-0_removal-notice"] +=== Removal notice + +In {OTELName} 3.0, the Jaeger exporter has been removed. Bug fixes and support are provided only through the end of the 2.9 lifecycle. As an alternative to the Jaeger exporter for sending data to the Jaeger collector, you can use the OTLP exporter instead. + +[id="otel-rn_3-0_bug-fixes"] +=== Bug fixes + +This update introduces the following bug fixes: + +* Fixed support for disconnected environments when using the `oc adm catalog mirror` CLI command. + +[id="otel-rn_3-0_known-issues"] +=== Known issues + +There is currently a known issue: +//There are currently known issues: + +* Curently, the cluster monitoring of the {OTELOperator} is disabled due to a bug (link:https://issues.redhat.com/browse/TRACING-3761[TRACING-3761]). The bug is preventing the cluster monitoring from scraping metrics from the {OTELOperator} due to a missing label `openshift.io/cluster-monitoring=true` that is required for the cluster monitoring and service monitor object. ++ +.Workaround ++ +You can enable the cluster monitoring as follows: ++ +. Add the following label in the Operator namespace: `oc label namespace openshift-opentelemetry-operator openshift.io/cluster-monitoring=true` ++ +. Create a service monitor, role, and role binding: ++ +[source,yaml] +---- +apiVersion: monitoring.coreos.com/v1 +kind: ServiceMonitor +metadata: + name: opentelemetry-operator-controller-manager-metrics-service + namespace: openshift-opentelemetry-operator +spec: + endpoints: + - bearerTokenFile: /var/run/secrets/kubernetes.io/serviceaccount/token + path: /metrics + port: https + scheme: https + tlsConfig: + insecureSkipVerify: true + selector: + matchLabels: + app.kubernetes.io/name: opentelemetry-operator + control-plane: controller-manager +--- +apiVersion: rbac.authorization.k8s.io/v1 +kind: Role +metadata: + name: otel-operator-prometheus + namespace: openshift-opentelemetry-operator + annotations: + include.release.openshift.io/self-managed-high-availability: "true" + include.release.openshift.io/single-node-developer: "true" +rules: +- apiGroups: + - "" + resources: + - services + - endpoints + - pods + verbs: + - get + - list + - watch +--- +apiVersion: rbac.authorization.k8s.io/v1 +kind: RoleBinding +metadata: + name: otel-operator-prometheus + namespace: openshift-opentelemetry-operator + annotations: + include.release.openshift.io/self-managed-high-availability: "true" + include.release.openshift.io/single-node-developer: "true" +roleRef: + apiGroup: rbac.authorization.k8s.io + kind: Role + name: otel-operator-prometheus +subjects: +- kind: ServiceAccount + name: prometheus-k8s + namespace: openshift-monitoring +---- + +[id="otel-rn_2-9-2"] +== Release notes for {OTELName} 2.9.2 + +:FeatureName: The {OTELName} +include::snippets/technology-preview.adoc[leveloffset=+1] + +{OTELName} 2.9.2 is based on link:https://opentelemetry.io/[OpenTelemetry] 0.81.0. + +[id="otel-rn_2-9-2_cves"] +=== CVEs + +* This release fixes link:https://bugzilla.redhat.com/show_bug.cgi?id=2246470[CVE-2023-46234]. + +[id="otel-rn_2-9-2_known-issues"] +=== Known issues + +There is currently a known issue: +//There are currently known issues: + +* Currently, you must manually set link:https://operatorframework.io/operator-capabilities/[operator maturity] to Level IV, Deep Insights. (link:https://issues.redhat.com/browse/TRACING-3431[TRACING-3431]) + +[id="otel-rn_2-9-1"] +== Release notes for {OTELName} 2.9.1 + +:FeatureName: The {OTELName} +include::snippets/technology-preview.adoc[leveloffset=+1] + +{OTELName} 2.9.1 is based on link:https://opentelemetry.io/[OpenTelemetry] 0.81.0. + +[id="otel-rn_2-9-1_cves"] +=== CVEs + +* This release fixes link:https://access.redhat.com/security/cve/cve-2023-44487[CVE-2023-44487]. + +[id="otel-rn_2-9-1_known-issues"] +=== Known issues + +There is currently a known issue: +//There are currently known issues: + +* Currently, you must manually set link:https://operatorframework.io/operator-capabilities/[operator maturity] to Level IV, Deep Insights. (link:https://issues.redhat.com/browse/TRACING-3431[TRACING-3431]) + +[id="otel-rn_2-9"] +== Release notes for {OTELName} 2.9 + +:FeatureName: The {OTELName} +include::snippets/technology-preview.adoc[leveloffset=+1] + +{OTELName} 2.9 is based on link:https://opentelemetry.io/[OpenTelemetry] 0.81.0. + +[id="otel-rn_2-9_new-features-and-enhancements"] +=== New features and enhancements + +This release introduces the following enhancements for the {OTELShortName}: + +* Support OTLP metrics ingestion. The metrics can be forwarded and stored in the `user-workload-monitoring` via the Prometheus exporter. + +* Support the link:https://operatorframework.io/operator-capabilities/[operator maturity] Level IV, Deep Insights, which enables upgrading and monitoring of `OpenTelemetry Collector` instances and the {OTELOperator}. + +* Report traces and metrics from remote clusters using OTLP or HTTP and HTTPS. + +* Collect {product-title} resource attributes via the `resourcedetection` processor. + +* Support the `managed` and `unmanaged` states in the `OpenTelemetryCollector` custom resouce. + +//// +[id="otel-rn_2-9_technology-preview-features"] +==== Technology Preview features +None. +//// + +//// +[id="otel-rn_2-9_bug-fixes"] +==== Bug fixes +None. +//// + +[id="otel-rn_2-9_known-issues"] +=== Known issues + +There is currently a known issue: +//There are currently known issues: + +* Currently, you must manually set link:https://operatorframework.io/operator-capabilities/[operator maturity] to Level IV, Deep Insights. (link:https://issues.redhat.com/browse/TRACING-3431[TRACING-3431]) + +[id="otel-rn_2-8"] +== Release notes for {OTELName} 2.8 + +:FeatureName: The {OTELName} +include::snippets/technology-preview.adoc[leveloffset=+1] + +{OTELName} 2.8 is based on link:https://opentelemetry.io/[OpenTelemetry] 0.74.0. + +[id="otel-rn_2-8_bug-fixes"] +=== Bug fixes + +This release addresses Common Vulnerabilities and Exposures (CVEs) and bug fixes. + +//// +[id="otel-rn_2-8_known-issues"] +== Known issues +None. +//// + +[id="otel-rn_2-7"] +== Release notes for {OTELName} 2.7 + +:FeatureName: The {OTELName} +include::snippets/technology-preview.adoc[leveloffset=+1] + +{OTELName} 2.7 is based on link:https://opentelemetry.io/[OpenTelemetry] 0.63.1. + +[id="otel-rn_2-7_bug-fixes"] +=== Bug fixes + +This release addresses Common Vulnerabilities and Exposures (CVEs) and bug fixes. + +[id="otel-rn_2-6"] +== Release notes for {OTELName} 2.6 + +:FeatureName: The {OTELName} +include::snippets/technology-preview.adoc[leveloffset=+1] + +{OTELName} 2.6 is based on link:https://opentelemetry.io/[OpenTelemetry] 0.60. + +[id="otel-rn_2-6_bug-fixes"] +=== Bug fixes + +This release addresses Common Vulnerabilities and Exposures (CVEs) and bug fixes. + +[id="otel-rn_2-5"] +== Release notes for {OTELName} 2.5 + +:FeatureName: The {OTELName} +include::snippets/technology-preview.adoc[leveloffset=+1] + +{OTELName} 2.5 is based on link:https://opentelemetry.io/[OpenTelemetry] 0.56. + +[id="otel-rn_2-5_new-features-and-enhancements"] +=== New features and enhancements + +This update introduces the following enhancement: + +* Support for collecting Kubernetes resource attributes to the {OTELName} Operator. + +[id="otel-rn_2-5_bug-fixes"] +=== Bug fixes + +This release addresses Common Vulnerabilities and Exposures (CVEs) and bug fixes. + +[id="otel-rn_2-4"] +== Release notes for {OTELName} 2.4 + +:FeatureName: The {OTELName} +include::snippets/technology-preview.adoc[leveloffset=+1] + +{OTELName} 2.4 is based on link:https://opentelemetry.io/[OpenTelemetry] 0.49. + +[id="otel-rn_2-4_bug-fixes"] +=== Bug fixes + +This release addresses Common Vulnerabilities and Exposures (CVEs) and bug fixes. + +//// +[id="otel-rn_2-4_known-issues"] +=== Known issues +None. +//// + +[id="otel-rn_2-3"] +== Release notes for {OTELName} 2.3 + +:FeatureName: The {OTELName} +include::snippets/technology-preview.adoc[leveloffset=+1] + +{OTELName} 2.3.1 is based on link:https://opentelemetry.io/[OpenTelemetry] 0.44.1. + +{OTELName} 2.3.0 is based on link:https://opentelemetry.io/[OpenTelemetry] 0.44.0. + +[id="otel-rn_2-3_bug-fixes"] +=== Bug fixes + +This release addresses Common Vulnerabilities and Exposures (CVEs) and bug fixes. + +//// +[id="otel-rn_2-3_known-issues"] +=== Known issues +None. +//// + +[id="otel-rn_2-2"] +== Release notes for {OTELName} 2.2 + +:FeatureName: The {OTELName} +include::snippets/technology-preview.adoc[leveloffset=+1] + +{OTELName} 2.2 is based on link:https://opentelemetry.io/[OpenTelemetry] 0.42.0. + +[id="otel-rn_2-2_technology-preview-features"] +=== Technology Preview features + +The unsupported OpenTelemetry Collector components included in the 2.1 release are removed. + +[id="otel-rn_2-2_bug-fixes"] +=== Bug fixes + +This release addresses Common Vulnerabilities and Exposures (CVEs) and bug fixes. + +//// +[id="otel-rn_2-2_known-issues"] +=== Known issues +None. +//// + +[id="otel-rn_2-1"] +== Release notes for {OTELName} 2.1 + +:FeatureName: The {OTELName} +include::snippets/technology-preview.adoc[leveloffset=+1] + +{OTELName} 2.1 is based on link:https://opentelemetry.io/[OpenTelemetry] 0.41.1. + +[id="otel-rn_2-1_technology-preview-features"] +=== Technology Preview features + +This release introduces a breaking change to how to configure certificates in the OpenTelemetry custom resource file. With this update, the `ca_file` moves under `tls` in the custom resource, as shown in the following examples. + +.CA file configuration for OpenTelemetry version 0.33 + +[source,yaml] +---- +spec: + mode: deployment + config: | + exporters: + jaeger: + endpoint: jaeger-production-collector-headless.tracing-system.svc:14250 + ca_file: "/var/run/secrets/kubernetes.io/serviceaccount/service-ca.crt" +---- + +.CA file configuration for OpenTelemetry version 0.41.1 + +[source,yaml] +---- +spec: + mode: deployment + config: | + exporters: + jaeger: + endpoint: jaeger-production-collector-headless.tracing-system.svc:14250 + tls: + ca_file: "/var/run/secrets/kubernetes.io/serviceaccount/service-ca.crt" +---- + +[id="otel-rn_2-1_bug-fixes"] +=== Bug fixes + +This release addresses Common Vulnerabilities and Exposures (CVEs) and bug fixes. + +//// +[id="otel-rn_2-1_known-issues"] +=== Known issues +None. +//// + +[id="otel-rn_2-0"] +== Release notes for {OTELName} 2.0 + +:FeatureName: The {OTELName} +include::snippets/technology-preview.adoc[leveloffset=+1] + +{OTELName} 2.0 is based on link:https://opentelemetry.io/[OpenTelemetry] 0.33.0. + +This release adds the {OTELName} as a link:https://access.redhat.com/support/offerings/techpreview/[Technology Preview], which you install using the {OTELName} Operator. {OTELName} is based on the link:https://opentelemetry.io/[OpenTelemetry] APIs and instrumentation. The {OTELName} includes the OpenTelemetry Operator and Collector. You can use the Collector to receive traces in the OpenTelemetry or Jaeger protocol and send the trace data to the {OTELName}. Other capabilities of the Collector are not supported at this time. The OpenTelemetry Collector allows developers to instrument their code with vendor agnostic APIs, avoiding vendor lock-in and enabling a growing ecosystem of observability tooling. + +//// +[id="otel-rn_2-0_known-issues"] +=== Known issues +None. +//// + +include::modules/support.adoc[leveloffset=+1] + +include::modules/making-open-source-more-inclusive.adoc[leveloffset=+1] diff --git a/otel/otel_rn/snippets b/otel/otel_rn/snippets new file mode 120000 index 000000000000..5a3f5add140e --- /dev/null +++ b/otel/otel_rn/snippets @@ -0,0 +1 @@ +../../snippets/ \ No newline at end of file diff --git a/welcome/index.adoc b/welcome/index.adoc index 9539ce219c40..a03833879d66 100644 --- a/welcome/index.adoc +++ b/welcome/index.adoc @@ -290,7 +290,15 @@ Use the Cluster Version Operator (CVO) to upgrade your {product-title} cluster. - **xref:../logging/cluster-logging.adoc#cluster-logging[Work with OpenShift Logging]**: Learn about OpenShift Logging and configure different OpenShift Logging types, such as Elasticsearch, Fluentd, and Kibana. -- **xref:../monitoring/monitoring-overview.adoc#monitoring-overview[Monitor]**: +- **xref:../distr_tracing/distr_tracing_arch/distr-tracing-architecture.adoc#distr-tracing-architecture[Red Hat OpenShift distributed tracing platform]**: Store and visualize large volumes of requests passing through distributed systems, across the whole stack of microservices, and under heavy loads. Use the distributed tracing platform for monitoring distributed transactions, gathering insights into your instrumented services, network profiling, performance and latency optimization, root cause analysis, and troubleshooting the interaction between components in modern cloud-native microservices-based applications. + +// xreffing to the installation page until further notice because OTEL content is currently planned for internal restructuring across pages that is likely to result in renamed page files +- **xref:../otel/otel-installing.adoc#install-otel[Red Hat build of OpenTelemetry]**: Instrument, generate, collect, and export telemetry traces, metrics, and logs to analyze and understand your software's performance and behavior. Use open source backends like Tempo or Prometheus, or use commercial offerings. Learn a single set of APIs and conventions, and own the data that you generate. + +// CHECK IN CLOSER TO THE GA DATE BECAUSE FEATURE WORK IS NOT MERGED; ESTIMATED MERGE BY 19 FEB. ADD xref:../network_observability/metrics-alerts-dashboards.adoc#network-observability-viewing-dashboards_metrics-dashboards-alerts to [view dashbaords text. +- **xref:../network_observability/network-observability-overview.adoc#network-observability-overview[Network Observability]**: Observe network traffic for {product-title} clusters by using eBPF technology to create and enrich network flows. You can view dashboards and xref:../network_observability/observing-network-traffic.adoc#network-observability-trafficflow_nw-observe-network-traffic[analyze network flow] information for further insight and troubleshooting. + +- **xref:../monitoring/monitoring-overview.adoc#monitoring-overview[In-cluster monitoring]**: Learn to xref:../monitoring/configuring-the-monitoring-stack.adoc#configuring-the-monitoring-stack[configure the monitoring stack]. After configuring monitoring, use the web console to access xref:../monitoring/reviewing-monitoring-dashboards.adoc#reviewing-monitoring-dashboards[monitoring dashboards]. In addition to infrastructure metrics, you can also scrape and view metrics for your own services.