From e459279c971f84d8f923121e73d98d06d3952eac Mon Sep 17 00:00:00 2001 From: Gabriel McGoldrick Date: Fri, 3 Feb 2023 12:35:10 +0000 Subject: [PATCH] SRVCOM-2122 Observability restructure --- _topic_maps/_topic_map.yml | 68 +++++++++++---- _topic_maps/_topic_map_osd.yml | 64 ++++++++++---- _topic_maps/_topic_map_rosa.yml | 84 +++++++++++++------ modules/serverless-activator-metrics.adoc | 2 +- modules/serverless-autoscaler-metrics.adoc | 2 +- modules/serverless-broker-filter-metrics.adoc | 2 +- .../serverless-broker-ingress-metrics.adoc | 2 +- modules/serverless-jaeger-config.adoc | 4 +- ...-services-examining-metrics-dashboard.adoc | 2 - ...monitoring-services-examining-metrics.adoc | 52 ------------ modules/serverless-open-telemetry.adoc | 2 +- .../admin_guide/serverless-admin-metrics.adoc | 69 --------------- .../install/install-serverless-operator.adoc | 4 +- .../install/installing-knative-eventing.adoc | 2 +- .../install/installing-knative-serving.adoc | 2 +- .../install/preparing-serverless-install.adoc | 4 - .../monitor/serverless-developer-metrics.adoc | 49 ----------- serverless/observability/_attributes | 1 + .../observability/admin-metrics/_attributes | 1 + serverless/observability/admin-metrics/images | 1 + .../observability/admin-metrics/modules | 1 + .../serverless-admin-metrics-eventing.adoc | 16 ++++ .../serverless-admin-metrics-serving.adoc | 14 ++++ .../serverless-admin-metrics.adoc | 43 ++++++++++ .../serverless-controller-metrics.adoc | 12 ++- .../serverless-webhook-metrics.adoc | 10 +-- .../observability/admin-metrics/snippets | 1 + .../observability/cluster-logging/_attributes | 1 + .../cluster-logging-serverless.adoc | 3 - .../finding-serving-logs-components.adoc | 10 +++ .../finding-serving-logs-services.adoc | 9 ++ .../observability/cluster-logging/images | 1 + .../observability/cluster-logging/modules | 1 + .../observability/cluster-logging/snippets | 1 + .../developer-metrics/_attributes | 1 + .../observability/developer-metrics/images | 1 + .../observability/developer-metrics/modules | 1 + ...erverless-developer-metrics-dashboard.adoc | 9 ++ .../serverless-developer-metrics.adoc | 38 +++++++++ ...oring-services-configuration-scraping.adoc | 10 +-- ...ss-monitoring-services-custom-metrics.adoc | 10 +-- ...s-monitoring-services-default-metrics.adoc | 11 ++- ...monitoring-services-examining-metrics.adoc | 60 +++++++++++-- .../observability/developer-metrics/snippets | 1 + serverless/observability/images | 1 + serverless/observability/modules | 1 + serverless/observability/snippets | 1 + serverless/observability/tracing/_attributes | 1 + serverless/observability/tracing/images | 1 + serverless/observability/tracing/modules | 1 + .../tracing/serverless-tracing-jaeger.adoc | 11 +++ .../serverless-tracing-open-telemetry.adoc | 12 +++ .../tracing}/serverless-tracing.adoc | 12 +-- serverless/observability/tracing/snippets | 1 + 54 files changed, 434 insertions(+), 290 deletions(-) delete mode 100644 modules/serverless-monitoring-services-examining-metrics.adoc delete mode 100644 serverless/admin_guide/serverless-admin-metrics.adoc delete mode 100644 serverless/monitor/serverless-developer-metrics.adoc create mode 120000 serverless/observability/_attributes create mode 120000 serverless/observability/admin-metrics/_attributes create mode 120000 serverless/observability/admin-metrics/images create mode 120000 serverless/observability/admin-metrics/modules create mode 100644 serverless/observability/admin-metrics/serverless-admin-metrics-eventing.adoc create mode 100644 serverless/observability/admin-metrics/serverless-admin-metrics-serving.adoc create mode 100644 serverless/observability/admin-metrics/serverless-admin-metrics.adoc rename {modules => serverless/observability/admin-metrics}/serverless-controller-metrics.adoc (87%) rename {modules => serverless/observability/admin-metrics}/serverless-webhook-metrics.adoc (81%) create mode 120000 serverless/observability/admin-metrics/snippets create mode 120000 serverless/observability/cluster-logging/_attributes rename serverless/{monitor => observability/cluster-logging}/cluster-logging-serverless.adoc (59%) create mode 100644 serverless/observability/cluster-logging/finding-serving-logs-components.adoc create mode 100644 serverless/observability/cluster-logging/finding-serving-logs-services.adoc create mode 120000 serverless/observability/cluster-logging/images create mode 120000 serverless/observability/cluster-logging/modules create mode 120000 serverless/observability/cluster-logging/snippets create mode 120000 serverless/observability/developer-metrics/_attributes create mode 120000 serverless/observability/developer-metrics/images create mode 120000 serverless/observability/developer-metrics/modules create mode 100644 serverless/observability/developer-metrics/serverless-developer-metrics-dashboard.adoc create mode 100644 serverless/observability/developer-metrics/serverless-developer-metrics.adoc rename {modules => serverless/observability/developer-metrics}/serverless-monitoring-services-configuration-scraping.adoc (89%) rename {modules => serverless/observability/developer-metrics}/serverless-monitoring-services-custom-metrics.adoc (90%) rename {modules => serverless/observability/developer-metrics}/serverless-monitoring-services-default-metrics.adoc (96%) rename modules/serverless-queue-proxy-metrics.adoc => serverless/observability/developer-metrics/serverless-monitoring-services-examining-metrics.adoc (55%) create mode 120000 serverless/observability/developer-metrics/snippets create mode 120000 serverless/observability/images create mode 120000 serverless/observability/modules create mode 120000 serverless/observability/snippets create mode 120000 serverless/observability/tracing/_attributes create mode 120000 serverless/observability/tracing/images create mode 120000 serverless/observability/tracing/modules create mode 100644 serverless/observability/tracing/serverless-tracing-jaeger.adoc create mode 100644 serverless/observability/tracing/serverless-tracing-open-telemetry.adoc rename serverless/{ => observability/tracing}/serverless-tracing.adoc (55%) create mode 120000 serverless/observability/tracing/snippets diff --git a/_topic_maps/_topic_map.yml b/_topic_maps/_topic_map.yml index 51c6bcae3e..b1c76d1dec 100644 --- a/_topic_maps/_topic_map.yml +++ b/_topic_maps/_topic_map.yml @@ -3924,24 +3924,6 @@ Topics: File: serverless-kafka-admin - Name: Serverless components in the Administrator perspective File: serverless-admin-perspective - # Metrics - - Name: Serverless administrator metrics - File: serverless-admin-metrics - # HA - - Name: High availability - File: serverless-ha -- Name: Monitor - Dir: monitor - Topics: - # logging - - Name: Cluster logging with OpenShift Serverless - File: cluster-logging-serverless - # Metrics - - Name: Serverless developer metrics - File: serverless-developer-metrics -# Tracing -- Name: Tracing - File: serverless-tracing # Security - Name: Security Dir: security @@ -3974,6 +3956,56 @@ Topics: File: serverless-functions-annotations - Name: Functions development reference guide File: serverless-functions-reference-guide +- Name: Observability + Dir: observability + Topics: + - Name: Administrator metrics + Dir: admin-metrics + Topics: + - Name: Administrator metrics overview + File: serverless-admin-metrics + - Name: Controller metrics + File: serverless-controller-metrics + - Name: Webhook metrics + File: serverless-webhook-metrics + - Name: Knative Eventing metrics + File: serverless-admin-metrics-eventing + - Name: Knative Serving metrics + File: serverless-admin-metrics-serving + - Name: Developer metrics + Dir: developer-metrics + Topics: + - Name: Developer metrics overview + File: serverless-developer-metrics + - Name: Default Knative service metrics + File: serverless-monitoring-services-default-metrics + - Name: Custom Knative service metrics + File: serverless-monitoring-services-custom-metrics + - Name: Configuration for scraping custom metrics + File: serverless-monitoring-services-configuration-scraping + - Name: Examining metrics of a service + File: serverless-monitoring-services-examining-metrics + - Name: Dashboard for service metrics + File: serverless-developer-metrics-dashboard + - Name: Cluster logging + Dir: cluster-logging + Topics: + - Name: Using OpenShift Logging with Serverless + File: cluster-logging-serverless + - Name: Finding logs for Knative Serving components + File: finding-serving-logs-components + - Name: Finding logs for Knative Serving services + File: finding-serving-logs-services + - Name: Tracing + Dir: tracing + Topics: + - Name: Tracing requests + File: serverless-tracing + - Name: Using Red Hat OpenShift distributed tracing + File: serverless-tracing-open-telemetry + Distros: openshift-enterprise + - Name: Using Jaeger distributed tracing + File: serverless-tracing-jaeger # Integrations - Name: Integrations Dir: integrations diff --git a/_topic_maps/_topic_map_osd.yml b/_topic_maps/_topic_map_osd.yml index 3e4be93d12..0862b61618 100644 --- a/_topic_maps/_topic_map_osd.yml +++ b/_topic_maps/_topic_map_osd.yml @@ -513,20 +513,6 @@ Topics: File: serverless-kafka-admin - Name: Serverless components in the Administrator perspective File: serverless-admin-perspective - - Name: Serverless administrator metrics - File: serverless-admin-metrics - - Name: High availability - File: serverless-ha -- Name: Monitor - Dir: monitor - Topics: - - Name: Cluster logging with OpenShift Serverless - File: cluster-logging-serverless - - Name: Serverless developer metrics - File: serverless-developer-metrics -# Tracing -- Name: Tracing - File: serverless-tracing - Name: Security Dir: security Topics: @@ -555,6 +541,56 @@ Topics: File: serverless-functions-annotations - Name: Functions development reference guide File: serverless-functions-reference-guide +- Name: Observability + Dir: observability + Topics: + - Name: Administrator metrics + Dir: admin-metrics + Topics: + - Name: Administrator metrics overview + File: serverless-admin-metrics + - Name: Controller metrics + File: serverless-controller-metrics + - Name: Webhook metrics + File: serverless-webhook-metrics + - Name: Knative Eventing metrics + File: serverless-admin-metrics-eventing + - Name: Knative Serving metrics + File: serverless-admin-metrics-serving + - Name: Developer metrics + Dir: developer-metrics + Topics: + - Name: Developer metrics overview + File: serverless-developer-metrics + - Name: Default Knative service metrics + File: serverless-monitoring-services-default-metrics + - Name: Custom Knative service metrics + File: serverless-monitoring-services-custom-metrics + - Name: Configuration for scraping custom metrics + File: serverless-monitoring-services-configuration-scraping + - Name: Examining metrics of a service + File: serverless-monitoring-services-examining-metrics + - Name: Dashboard for service metrics + File: serverless-developer-metrics-dashboard + - Name: Cluster logging + Dir: cluster-logging + Topics: + - Name: Using OpenShift Logging with Serverless + File: cluster-logging-serverless + - Name: Finding logs for Knative Serving components + File: finding-serving-logs-components + - Name: Finding logs for Knative Serving services + File: finding-serving-logs-services + - Name: Tracing + Dir: tracing + Topics: + - Name: Tracing requests + File: serverless-tracing + - Name: Using Red Hat OpenShift distributed tracing + File: serverless-tracing-open-telemetry + Distros: openshift-enterprise + - Name: Using Jaeger distributed tracing + File: serverless-tracing-jaeger # Removing - Name: Removing Serverless Dir: removing diff --git a/_topic_maps/_topic_map_rosa.yml b/_topic_maps/_topic_map_rosa.yml index 140dce0f08..de4ce71527 100644 --- a/_topic_maps/_topic_map_rosa.yml +++ b/_topic_maps/_topic_map_rosa.yml @@ -711,20 +711,6 @@ Topics: File: serverless-kafka-admin - Name: Serverless components in the Administrator perspective File: serverless-admin-perspective - - Name: Serverless administrator metrics - File: serverless-admin-metrics - - Name: High availability on OpenShift Serverless - File: serverless-ha -- Name: Monitor - Dir: monitor - Topics: - - Name: Cluster logging with OpenShift Serverless - File: cluster-logging-serverless - - Name: Serverless developer metrics - File: serverless-developer-metrics -# Tracing -- Name: Tracing - File: serverless-tracing - Name: Security Dir: security Topics: @@ -753,6 +739,66 @@ Topics: File: serverless-functions-annotations - Name: Functions development reference guide File: serverless-functions-reference-guide +- Name: Observability + Dir: observability + Topics: + - Name: Administrator metrics + Dir: admin-metrics + Topics: + - Name: Administrator metrics overview + File: serverless-admin-metrics + - Name: Controller metrics + File: serverless-controller-metrics + - Name: Webhook metrics + File: serverless-webhook-metrics + - Name: Knative Eventing metrics + File: serverless-admin-metrics-eventing + - Name: Knative Serving metrics + File: serverless-admin-metrics-serving + - Name: Developer metrics + Dir: developer-metrics + Topics: + - Name: Developer metrics overview + File: serverless-developer-metrics + - Name: Default Knative service metrics + File: serverless-monitoring-services-default-metrics + - Name: Custom Knative service metrics + File: serverless-monitoring-services-custom-metrics + - Name: Configuration for scraping custom metrics + File: serverless-monitoring-services-configuration-scraping + - Name: Examining metrics of a service + File: serverless-monitoring-services-examining-metrics + - Name: Dashboard for service metrics + File: serverless-developer-metrics-dashboard + - Name: Cluster logging + Dir: cluster-logging + Topics: + - Name: Using OpenShift Logging with Serverless + File: cluster-logging-serverless + - Name: Finding logs for Knative Serving components + File: finding-serving-logs-components + - Name: Finding logs for Knative Serving services + File: finding-serving-logs-services + - Name: Tracing + Dir: tracing + Topics: + - Name: Tracing requests + File: serverless-tracing + - Name: Using Red Hat OpenShift distributed tracing + File: serverless-tracing-open-telemetry + Distros: openshift-enterprise + - Name: Using Jaeger distributed tracing + File: serverless-tracing-jaeger +# Integrations +- Name: Integrations + Dir: integrations + Topics: + - Name: Integrating Service Mesh with OpenShift Serverless + File: serverless-ossm-setup + - Name: Integrating Serverless with the cost management service + File: serverless-cost-management-integration + - Name: Using NVIDIA GPU resources with serverless applications + File: gpu-resources # Removing - Name: Removing Serverless Dir: removing @@ -770,16 +816,6 @@ Topics: # Support - Name: Serverless support File: serverless-support -# Integrations -- Name: Integrations - Dir: integrations - Topics: - - Name: Integrating Service Mesh with OpenShift Serverless - File: serverless-ossm-setup - - Name: Integrating Serverless with the cost management service - File: serverless-cost-management-integration - - Name: Using NVIDIA GPU resources with serverless applications - File: gpu-resources --- Name: Troubleshooting Dir: rosa_support diff --git a/modules/serverless-activator-metrics.adoc b/modules/serverless-activator-metrics.adoc index 8c3245380c..4f84b0f190 100644 --- a/modules/serverless-activator-metrics.adoc +++ b/modules/serverless-activator-metrics.adoc @@ -1,6 +1,6 @@ // Module included in the following assemblies: // -// * serverless/admin_guide/serverless-admin-metrics.adoc +// * serverless/observability/admin-metrics/serverless-admin-metrics.adoc :_content-type: REFERENCE [id="serverless-activator-metrics_{context}"] diff --git a/modules/serverless-autoscaler-metrics.adoc b/modules/serverless-autoscaler-metrics.adoc index bfa109dcf6..a4dc710796 100644 --- a/modules/serverless-autoscaler-metrics.adoc +++ b/modules/serverless-autoscaler-metrics.adoc @@ -1,6 +1,6 @@ // Module included in the following assemblies: // -// * serverless/admin_guide/serverless-admin-metrics.adoc +// * serverless/observability/admin-metrics/serverless-admin-metrics.adoc :_content-type: REFERENCE [id="serverless-autoscaler-metrics_{context}"] diff --git a/modules/serverless-broker-filter-metrics.adoc b/modules/serverless-broker-filter-metrics.adoc index 246548428f..9c325cef0e 100644 --- a/modules/serverless-broker-filter-metrics.adoc +++ b/modules/serverless-broker-filter-metrics.adoc @@ -1,6 +1,6 @@ // Module included in the following assemblies: // -// * serverless/admin_guide/serverless-admin-metrics.adoc +// * serverless/observability/admin-metrics/serverless-admin-metrics.adoc :_content-type: REFERENCE [id="serverless-broker-filter-metrics_{context}"] diff --git a/modules/serverless-broker-ingress-metrics.adoc b/modules/serverless-broker-ingress-metrics.adoc index df2941a59e..ae7801cb28 100644 --- a/modules/serverless-broker-ingress-metrics.adoc +++ b/modules/serverless-broker-ingress-metrics.adoc @@ -1,6 +1,6 @@ // Module included in the following assemblies: // -// * serverless/admin_guide/serverless-admin-metrics.adoc +// * serverless/observability/admin-metrics/serverless-admin-metrics.adoc :_content-type: REFERENCE [id="serverless-broker-ingress-metrics_{context}"] diff --git a/modules/serverless-jaeger-config.adoc b/modules/serverless-jaeger-config.adoc index 548ed3d699..071a739706 100644 --- a/modules/serverless-jaeger-config.adoc +++ b/modules/serverless-jaeger-config.adoc @@ -4,9 +4,9 @@ :_content-type: PROCEDURE [id="serverless-jaeger-config_{context}"] -= Using Jaeger to enable distributed tracing += Configuring Jaeger to enable distributed tracing -If you do not want to install all of the components of {DTProductName}, you can still use distributed tracing on {product-title} with {ServerlessProductName}. To do this, you must install and configure Jaeger as a standalone integration. +To enable distributed tracing using Jaeger, you must install and configure Jaeger as a standalone integration. .Prerequisites diff --git a/modules/serverless-monitoring-services-examining-metrics-dashboard.adoc b/modules/serverless-monitoring-services-examining-metrics-dashboard.adoc index 404c11753d..09a30fbfc5 100644 --- a/modules/serverless-monitoring-services-examining-metrics-dashboard.adoc +++ b/modules/serverless-monitoring-services-examining-metrics-dashboard.adoc @@ -6,8 +6,6 @@ [id="serverless-monitoring-services-examining-metrics-dashboard_{context}"] = Examining metrics of a service in the dashboard -You can examine the metrics using a dedicated dashboard that aggregates queue proxy metrics by namespace. - .Prerequisites * You have logged in to the {product-title} web console. diff --git a/modules/serverless-monitoring-services-examining-metrics.adoc b/modules/serverless-monitoring-services-examining-metrics.adoc deleted file mode 100644 index 1a19974f6a..0000000000 --- a/modules/serverless-monitoring-services-examining-metrics.adoc +++ /dev/null @@ -1,52 +0,0 @@ -// Module is included in the following assemblies: -// -// * /serverless/monitor/serverless-developer-metrics.adoc - -:_content-type: PROCEDURE -[id="serverless-monitoring-services-examining-metrics_{context}"] -= Examining metrics of a service - -After you have configured the application to export the metrics and the monitoring stack to scrape them, you can examine the metrics in the web console. - -.Prerequisites - -* You have logged in to the {product-title} web console. -* You have installed the {ServerlessOperatorName} and Knative Serving. - -.Procedure - -. Optional: Run requests against your application that you will be able to see in the metrics: -+ -[source,terminal] ----- -$ hello_route=$(oc get ksvc helloworld-go -n ns1 -o jsonpath='{.status.url}') && \ - curl $hello_route ----- -+ -.Example output -[source,terminal] ----- -Hello Go Sample v1! ----- - -. In the web console, navigate to the *Observe* -> *Metrics* interface. - -. In the input field, enter the query for the metric you want to observe, for example: -+ -[source] ----- -revision_app_request_count{namespace="ns1", job="helloworld-go-sm"} ----- -+ -Another example: -+ -[source] ----- -myapp_processed_ops_total{namespace="ns1", job="helloworld-go-sm"} ----- - -. Observe the visualized metrics: -+ -image::serverless-monitoring-service-example1.png[Observing metrics of a service] -+ -image::serverless-monitoring-service-example2.png[Observing metrics of a service] diff --git a/modules/serverless-open-telemetry.adoc b/modules/serverless-open-telemetry.adoc index 187fde1286..9921123fa0 100644 --- a/modules/serverless-open-telemetry.adoc +++ b/modules/serverless-open-telemetry.adoc @@ -6,7 +6,7 @@ [id="serverless-open-telemetry_{context}"] = Using {DTProductName} to enable distributed tracing -{DTProductName} is made up of several components that work together to collect, store, and display tracing data. You can use {DTProductName} with {ServerlessProductName} to monitor and troubleshoot serverless applications. +{DTProductName} is made up of several components that work together to collect, store, and display tracing data. .Prerequisites diff --git a/serverless/admin_guide/serverless-admin-metrics.adoc b/serverless/admin_guide/serverless-admin-metrics.adoc deleted file mode 100644 index 58ebec5f99..0000000000 --- a/serverless/admin_guide/serverless-admin-metrics.adoc +++ /dev/null @@ -1,69 +0,0 @@ -:_content-type: ASSEMBLY -[id="serverless-admin-metrics"] -= {ServerlessProductShortName} administrator metrics -include::_attributes/common-attributes.adoc[] -:context: serverless-admin-metrics - -toc::[] - -Metrics enable cluster administrators to monitor how {ServerlessProductName} cluster components and workloads are performing. - -ifdef::openshift-enterprise[] -You can view different metrics for {ServerlessProductName} by navigating to xref:../../monitoring/reviewing-monitoring-dashboards.adoc#reviewing-monitoring-dashboards-admin_reviewing-monitoring-dashboards[*Dashboards*] in the {product-title} web console *Administrator* perspective. -endif::[] - -ifdef::openshift-dedicated,openshift-rosa[] -You can view different metrics for {ServerlessProductName} by navigating to *Dashboards* in the {product-title} web console *Administrator* perspective. -endif::[] - -[id="prerequisites_serverless-admin-metrics"] -== Prerequisites - -ifdef::openshift-enterprise[] -* See the {product-title} documentation on xref:../../monitoring/managing-metrics.adoc#managing-metrics[Managing metrics] for information about enabling metrics for your cluster. - -* You have access to an {product-title} account with cluster administrator access. -endif::[] - -ifdef::openshift-dedicated,openshift-rosa[] -* You have access to an {product-title} account with cluster or dedicated administrator access. -endif::[] - -* You have access to the *Administrator* perspective in the {product-title} web console. - -[WARNING] -==== -If {SMProductShortName} is enabled with mTLS, metrics for Knative Serving are disabled by default because Service Mesh prevents Prometheus from scraping metrics. - -ifndef::openshift-dedicated[] -For information about resolving this issue, see xref:../../serverless/integrations/serverless-ossm-setup.adoc#serverless-ossm-enabling-serving-metrics_serverless-ossm-setup[Enabling Knative Serving metrics when using Service Mesh with mTLS]. -endif::[] - -Scraping the metrics does not affect autoscaling of a Knative service, because scraping requests do not go through the activator. Consequently, no scraping takes place if no pods are running. -==== - -// Common metrics -include::modules/serverless-controller-metrics.adoc[leveloffset=+1] -include::modules/serverless-webhook-metrics.adoc[leveloffset=+1] - -[id="serverless-admin-metrics-eventing"] -== Knative Eventing metrics - -Cluster administrators can view the following metrics for Knative Eventing components. - -By aggregating the metrics from HTTP code, events can be separated into two categories; successful events (2xx) and failed events (5xx). - -include::modules/serverless-broker-ingress-metrics.adoc[leveloffset=+2] -include::modules/serverless-broker-filter-metrics.adoc[leveloffset=+2] -include::modules/serverless-inmemory-dispatch-metrics.adoc[leveloffset=+2] -include::modules/serverless-event-source-metrics.adoc[leveloffset=+2] - -[id="serverless-admin-metrics-serving"] -== Knative Serving metrics - -Cluster administrators can view the following metrics for Knative Serving components. - -include::modules/serverless-activator-metrics.adoc[leveloffset=+2] -include::modules/serverless-autoscaler-metrics.adoc[leveloffset=+2] -include::modules/serverless-go-metrics.adoc[leveloffset=+2] - diff --git a/serverless/install/install-serverless-operator.adoc b/serverless/install/install-serverless-operator.adoc index 91add72c6d..7931e11add 100644 --- a/serverless/install/install-serverless-operator.adoc +++ b/serverless/install/install-serverless-operator.adoc @@ -14,14 +14,14 @@ include::modules/serverless-install-web-console.adoc[leveloffset=+1] [IMPORTANT] ==== -If you want to xref:../../serverless/serverless-tracing.adoc#serverless-tracing[use {DTProductName} with {ServerlessProductName}], you must install and configure {DTProductName} before you install Knative Serving or Knative Eventing. +If you want to xref:../../serverless/observability/tracing/serverless-tracing.adoc#serverless-tracing[use {DTProductName} with {ServerlessProductName}], you must install and configure {DTProductName} before you install Knative Serving or Knative Eventing. ==== include::modules/serverless-install-cli.adoc[leveloffset=+1] [IMPORTANT] ==== -If you want to xref:../../serverless/serverless-tracing.adoc#serverless-tracing[use {DTProductName} with {ServerlessProductName}], you must install and configure {DTProductName} before you install Knative Serving or Knative Eventing. +If you want to xref:../../serverless/observability/tracing/serverless-tracing.adoc#serverless-tracing[use {DTProductName} with {ServerlessProductName}], you must install and configure {DTProductName} before you install Knative Serving or Knative Eventing. ==== [id="next-steps_install-serverless-operator"] diff --git a/serverless/install/installing-knative-eventing.adoc b/serverless/install/installing-knative-eventing.adoc index e03648dc39..1ebdc856aa 100644 --- a/serverless/install/installing-knative-eventing.adoc +++ b/serverless/install/installing-knative-eventing.adoc @@ -12,7 +12,7 @@ After you install the {ServerlessOperatorName}, you can install Knative Eventing [IMPORTANT] ==== -If you want to xref:../../serverless/serverless-tracing.adoc#serverless-tracing[use {DTProductName} with {ServerlessProductName}], you must install and configure {DTProductName} before you install Knative Eventing. +If you want to xref:../../serverless/observability/tracing/serverless-tracing.adoc#serverless-tracing[use {DTProductName} with {ServerlessProductName}], you must install and configure {DTProductName} before you install Knative Eventing. ==== include::modules/serverless-install-eventing-web-console.adoc[leveloffset=+1] diff --git a/serverless/install/installing-knative-serving.adoc b/serverless/install/installing-knative-serving.adoc index 0e75e1c67c..2c20ce3a39 100644 --- a/serverless/install/installing-knative-serving.adoc +++ b/serverless/install/installing-knative-serving.adoc @@ -12,7 +12,7 @@ After you install the {ServerlessOperatorName}, you can install Knative Serving [IMPORTANT] ==== -If you want to xref:../../serverless/serverless-tracing.adoc#serverless-tracing[use {DTProductName} with {ServerlessProductName}], you must install and configure {DTProductName} before you install Knative Serving. +If you want to xref:../../serverless/observability/tracing/serverless-tracing.adoc#serverless-tracing[use {DTProductName} with {ServerlessProductName}], you must install and configure {DTProductName} before you install Knative Serving. ==== include::modules/serverless-install-serving-web-console.adoc[leveloffset=+1] diff --git a/serverless/install/preparing-serverless-install.adoc b/serverless/install/preparing-serverless-install.adoc index d76a46be99..66710bf4d2 100644 --- a/serverless/install/preparing-serverless-install.adoc +++ b/serverless/install/preparing-serverless-install.adoc @@ -46,10 +46,6 @@ You can use the {product-title} `MachineSet` API to manually scale your cluster include::modules/serverless-cluster-sizing-req-additional.adoc[leveloffset=+2] -[id="additional-resources_serverless-cluster-sizing-req-additional"] -.Additional resources -xref:../../serverless/admin_guide/serverless-ha.adoc#serverless-ha[Configuring high availability replicas on {ServerlessProductName}]. - // TODO: Add OSD specific docs for auto scaling compute machine sets? These docs aren't available for OSD so we need to look into what's required to doc here. // QE thread related: https://coreos.slack.com/archives/CD87JDUB0/p1643986092796179 endif::[] diff --git a/serverless/monitor/serverless-developer-metrics.adoc b/serverless/monitor/serverless-developer-metrics.adoc deleted file mode 100644 index 16ff603962..0000000000 --- a/serverless/monitor/serverless-developer-metrics.adoc +++ /dev/null @@ -1,49 +0,0 @@ -:_content-type: ASSEMBLY -[id="serverless-developer-metrics"] -= {ServerlessProductShortName} developer metrics -include::_attributes/common-attributes.adoc[] -:context: serverless-developer-metrics - -toc::[] - -Metrics enable developers to monitor how Knative services are performing. You can use the {product-title} monitoring stack to record and view health checks and metrics for your Knative services. - -ifdef::openshift-enterprise[] -You can view different metrics for {ServerlessProductName} by navigating to xref:../../monitoring/reviewing-monitoring-dashboards.adoc#reviewing-monitoring-dashboards-developer_reviewing-monitoring-dashboards[*Dashboards*] in the {product-title} web console *Developer* perspective. -endif::[] - -ifdef::openshift-dedicated,openshift-rosa[] -You can view different metrics for {ServerlessProductName} by navigating to *Dashboards* in the {product-title} web console *Developer* perspective. -endif::[] - -[WARNING] -==== -If {SMProductShortName} is enabled with mTLS, metrics for Knative Serving are disabled by default because Service Mesh prevents Prometheus from scraping metrics. - -ifndef::openshift-dedicated[] -For information about resolving this issue, see xref:../../serverless/integrations/serverless-ossm-setup.adoc#serverless-ossm-enabling-serving-metrics_serverless-ossm-setup[Enabling Knative Serving metrics when using Service Mesh with mTLS]. -endif::[] - -Scraping the metrics does not affect autoscaling of a Knative service, because scraping requests do not go through the activator. Consequently, no scraping takes place if no pods are running. -==== - -include::modules/serverless-monitoring-services-default-metrics.adoc[leveloffset=+1] - -include::modules/serverless-monitoring-services-custom-metrics.adoc[leveloffset=+1] - -include::modules/serverless-monitoring-services-configuration-scraping.adoc[leveloffset=+1] - -include::modules/serverless-monitoring-services-examining-metrics.adoc[leveloffset=+1] - -include::modules/serverless-queue-proxy-metrics.adoc[leveloffset=+2] - -include::modules/serverless-monitoring-services-examining-metrics-dashboard.adoc[leveloffset=+1] - -ifdef::openshift-enterprise[] -[id="additional-resources_serverless-service-monitoring"] -[role="_additional-resources"] -== Additional resources -* xref:../../monitoring/monitoring-overview.adoc#monitoring-overview[Monitoring overview] -* xref:../../monitoring/managing-metrics.adoc#specifying-how-a-service-is-monitored[Enabling monitoring for user-defined projects] -* xref:../../monitoring/enabling-monitoring-for-user-defined-projects.adoc#enabling-monitoring-for-user-defined-projects[Specifying how a service is monitored] -endif::[] diff --git a/serverless/observability/_attributes b/serverless/observability/_attributes new file mode 120000 index 0000000000..20cc1dcb77 --- /dev/null +++ b/serverless/observability/_attributes @@ -0,0 +1 @@ +../../_attributes/ \ No newline at end of file diff --git a/serverless/observability/admin-metrics/_attributes b/serverless/observability/admin-metrics/_attributes new file mode 120000 index 0000000000..bf7c2529fd --- /dev/null +++ b/serverless/observability/admin-metrics/_attributes @@ -0,0 +1 @@ +../../../_attributes/ \ No newline at end of file diff --git a/serverless/observability/admin-metrics/images b/serverless/observability/admin-metrics/images new file mode 120000 index 0000000000..4399cbb3c0 --- /dev/null +++ b/serverless/observability/admin-metrics/images @@ -0,0 +1 @@ +../../../images/ \ No newline at end of file diff --git a/serverless/observability/admin-metrics/modules b/serverless/observability/admin-metrics/modules new file mode 120000 index 0000000000..7e8b50bee7 --- /dev/null +++ b/serverless/observability/admin-metrics/modules @@ -0,0 +1 @@ +../../../modules/ \ No newline at end of file diff --git a/serverless/observability/admin-metrics/serverless-admin-metrics-eventing.adoc b/serverless/observability/admin-metrics/serverless-admin-metrics-eventing.adoc new file mode 100644 index 0000000000..dce3cb0f2d --- /dev/null +++ b/serverless/observability/admin-metrics/serverless-admin-metrics-eventing.adoc @@ -0,0 +1,16 @@ +:_content-type: ASSEMBLY +include::_attributes/common-attributes.adoc[] +[id="serverless-admin-metrics-eventing"] += Knative Eventing metrics +:context: serverless-admin-metrics-eventing + +toc::[] + +Cluster administrators can view the following metrics for Knative Eventing components. + +By aggregating the metrics from HTTP code, events can be separated into two categories; successful events (2xx) and failed events (5xx). + +include::modules/serverless-broker-ingress-metrics.adoc[leveloffset=+1] +include::modules/serverless-broker-filter-metrics.adoc[leveloffset=+1] +include::modules/serverless-inmemory-dispatch-metrics.adoc[leveloffset=+1] +include::modules/serverless-event-source-metrics.adoc[leveloffset=+1] \ No newline at end of file diff --git a/serverless/observability/admin-metrics/serverless-admin-metrics-serving.adoc b/serverless/observability/admin-metrics/serverless-admin-metrics-serving.adoc new file mode 100644 index 0000000000..f0bf0b6223 --- /dev/null +++ b/serverless/observability/admin-metrics/serverless-admin-metrics-serving.adoc @@ -0,0 +1,14 @@ +:_content-type: ASSEMBLY +include::_attributes/common-attributes.adoc[] +[id="serverless-admin-metrics-serving"] += Knative Serving metrics +:context: serverless-admin-metrics-serving + +toc::[] + +Cluster administrators can view the following metrics for Knative Serving components. + +include::modules/serverless-activator-metrics.adoc[leveloffset=+1] +include::modules/serverless-autoscaler-metrics.adoc[leveloffset=+1] +include::modules/serverless-go-metrics.adoc[leveloffset=+1] + diff --git a/serverless/observability/admin-metrics/serverless-admin-metrics.adoc b/serverless/observability/admin-metrics/serverless-admin-metrics.adoc new file mode 100644 index 0000000000..82d32b8a43 --- /dev/null +++ b/serverless/observability/admin-metrics/serverless-admin-metrics.adoc @@ -0,0 +1,43 @@ +:_content-type: ASSEMBLY +include::_attributes/common-attributes.adoc[] +[id="serverless-admin-metrics"] += {ServerlessProductShortName} administrator metrics +:context: serverless-admin-metrics + +toc::[] + +Metrics enable cluster administrators to monitor how {ServerlessProductName} cluster components and workloads are performing. + +ifdef::openshift-enterprise[] +You can view different metrics for {ServerlessProductName} by navigating to xref:../../../monitoring/reviewing-monitoring-dashboards.adoc#reviewing-monitoring-dashboards-admin_reviewing-monitoring-dashboards[*Dashboards*] in the {product-title} web console *Administrator* perspective. +endif::[] + +ifdef::openshift-dedicated,openshift-rosa[] +You can view different metrics for {ServerlessProductName} by navigating to *Dashboards* in the {product-title} web console *Administrator* perspective. +endif::[] + +[id="prerequisites_serverless-admin-metrics"] +== Prerequisites + +ifdef::openshift-enterprise[] +* See the {product-title} documentation on xref:../../../monitoring/managing-metrics.adoc#managing-metrics[Managing metrics] for information about enabling metrics for your cluster. + +* You have access to an {product-title} account with cluster administrator access. +endif::[] + +ifdef::openshift-dedicated,openshift-rosa[] +* You have access to an {product-title} account with cluster or dedicated administrator access. +endif::[] + +* You have access to the *Administrator* perspective in the {product-title} web console. + +[WARNING] +==== +If {SMProductShortName} is enabled with mTLS, metrics for Knative Serving are disabled by default because Service Mesh prevents Prometheus from scraping metrics. + +ifndef::openshift-dedicated[] +For information about resolving this issue, see xref:../../../serverless/integrations/serverless-ossm-setup.adoc#serverless-ossm-enabling-serving-metrics_serverless-ossm-setup[Enabling Knative Serving metrics when using Service Mesh with mTLS]. +endif::[] + +Scraping the metrics does not affect autoscaling of a Knative service, because scraping requests do not go through the activator. Consequently, no scraping takes place if no pods are running. +==== diff --git a/modules/serverless-controller-metrics.adoc b/serverless/observability/admin-metrics/serverless-controller-metrics.adoc similarity index 87% rename from modules/serverless-controller-metrics.adoc rename to serverless/observability/admin-metrics/serverless-controller-metrics.adoc index f8fddb1503..96c46351bd 100644 --- a/modules/serverless-controller-metrics.adoc +++ b/serverless/observability/admin-metrics/serverless-controller-metrics.adoc @@ -1,10 +1,8 @@ -// Module included in the following assemblies: -// -// * serverless/admin_guide/serverless-admin-metrics.adoc - -:_content-type: REFERENCE -[id="serverless-controller-metrics_{context}"] -= Controller metrics +:_content-type: ASSEMBLY +include::_attributes/common-attributes.adoc[] +[id="serverless-controller-metrics"] += {ServerlessProductShortName} controller metrics +:context: serverless-controller-metrics The following metrics are emitted by any component that implements a controller logic. These metrics show details about reconciliation operations and the work queue behavior upon which reconciliation requests are added to the work queue. diff --git a/modules/serverless-webhook-metrics.adoc b/serverless/observability/admin-metrics/serverless-webhook-metrics.adoc similarity index 81% rename from modules/serverless-webhook-metrics.adoc rename to serverless/observability/admin-metrics/serverless-webhook-metrics.adoc index 561531ed5b..1707ba81af 100644 --- a/modules/serverless-webhook-metrics.adoc +++ b/serverless/observability/admin-metrics/serverless-webhook-metrics.adoc @@ -1,10 +1,8 @@ -// Module included in the following assemblies: -// -// * serverless/admin_guide/serverless-admin-metrics.adoc - -:_content-type: REFERENCE -[id="serverless-webhook-metrics_{context}"] +:_content-type: ASSEMBLY +include::_attributes/common-attributes.adoc[] +[id="serverless-webhook-metrics"] = Webhook metrics +:context: serverless-webhook-metrics Webhook metrics report useful information about operations. For example, if a large number of operations fail, this might indicate an issue with a user-created resource. diff --git a/serverless/observability/admin-metrics/snippets b/serverless/observability/admin-metrics/snippets new file mode 120000 index 0000000000..ce62fd7c41 --- /dev/null +++ b/serverless/observability/admin-metrics/snippets @@ -0,0 +1 @@ +../../../snippets/ \ No newline at end of file diff --git a/serverless/observability/cluster-logging/_attributes b/serverless/observability/cluster-logging/_attributes new file mode 120000 index 0000000000..bf7c2529fd --- /dev/null +++ b/serverless/observability/cluster-logging/_attributes @@ -0,0 +1 @@ +../../../_attributes/ \ No newline at end of file diff --git a/serverless/monitor/cluster-logging-serverless.adoc b/serverless/observability/cluster-logging/cluster-logging-serverless.adoc similarity index 59% rename from serverless/monitor/cluster-logging-serverless.adoc rename to serverless/observability/cluster-logging/cluster-logging-serverless.adoc index 259606f887..3d9dc2799a 100644 --- a/serverless/monitor/cluster-logging-serverless.adoc +++ b/serverless/observability/cluster-logging/cluster-logging-serverless.adoc @@ -8,6 +8,3 @@ toc::[] include::modules/cluster-logging-about.adoc[leveloffset=+1] include::modules/cluster-logging-deploying-about.adoc[leveloffset=+1] -// serverless specific -include::modules/serverless-using-cluster-logging-find-logs-knative-serving-components.adoc[leveloffset=+1] -include::modules/serverless-using-cluster-logging-find-logs-services-deployed.adoc[leveloffset=+1] diff --git a/serverless/observability/cluster-logging/finding-serving-logs-components.adoc b/serverless/observability/cluster-logging/finding-serving-logs-components.adoc new file mode 100644 index 0000000000..5cb8407e32 --- /dev/null +++ b/serverless/observability/cluster-logging/finding-serving-logs-components.adoc @@ -0,0 +1,10 @@ +:_content-type: ASSEMBLY +include::_attributes/common-attributes.adoc[] +[id="finding-serving-logs-components"] += Finding logs for Knative Serving components +:context: finding-serving-logs-components + +You can find the logs for Knative Serving components using the following procedure. + +include::modules/serverless-using-cluster-logging-find-logs-knative-serving-components.adoc[leveloffset=+1] + diff --git a/serverless/observability/cluster-logging/finding-serving-logs-services.adoc b/serverless/observability/cluster-logging/finding-serving-logs-services.adoc new file mode 100644 index 0000000000..f79bff873f --- /dev/null +++ b/serverless/observability/cluster-logging/finding-serving-logs-services.adoc @@ -0,0 +1,9 @@ +:_content-type: ASSEMBLY +include::_attributes/common-attributes.adoc[] +[id="finding-serving-logs-services"] += Finding logs for Knative Serving services +:context: finding-serving-logs-services + +You can find the logs for Knative Serving services using the following procedure. + +include::modules/serverless-using-cluster-logging-find-logs-services-deployed.adoc[leveloffset=+1] \ No newline at end of file diff --git a/serverless/observability/cluster-logging/images b/serverless/observability/cluster-logging/images new file mode 120000 index 0000000000..4399cbb3c0 --- /dev/null +++ b/serverless/observability/cluster-logging/images @@ -0,0 +1 @@ +../../../images/ \ No newline at end of file diff --git a/serverless/observability/cluster-logging/modules b/serverless/observability/cluster-logging/modules new file mode 120000 index 0000000000..7e8b50bee7 --- /dev/null +++ b/serverless/observability/cluster-logging/modules @@ -0,0 +1 @@ +../../../modules/ \ No newline at end of file diff --git a/serverless/observability/cluster-logging/snippets b/serverless/observability/cluster-logging/snippets new file mode 120000 index 0000000000..ce62fd7c41 --- /dev/null +++ b/serverless/observability/cluster-logging/snippets @@ -0,0 +1 @@ +../../../snippets/ \ No newline at end of file diff --git a/serverless/observability/developer-metrics/_attributes b/serverless/observability/developer-metrics/_attributes new file mode 120000 index 0000000000..20cc1dcb77 --- /dev/null +++ b/serverless/observability/developer-metrics/_attributes @@ -0,0 +1 @@ +../../_attributes/ \ No newline at end of file diff --git a/serverless/observability/developer-metrics/images b/serverless/observability/developer-metrics/images new file mode 120000 index 0000000000..4399cbb3c0 --- /dev/null +++ b/serverless/observability/developer-metrics/images @@ -0,0 +1 @@ +../../../images/ \ No newline at end of file diff --git a/serverless/observability/developer-metrics/modules b/serverless/observability/developer-metrics/modules new file mode 120000 index 0000000000..7e8b50bee7 --- /dev/null +++ b/serverless/observability/developer-metrics/modules @@ -0,0 +1 @@ +../../../modules/ \ No newline at end of file diff --git a/serverless/observability/developer-metrics/serverless-developer-metrics-dashboard.adoc b/serverless/observability/developer-metrics/serverless-developer-metrics-dashboard.adoc new file mode 100644 index 0000000000..f712c43561 --- /dev/null +++ b/serverless/observability/developer-metrics/serverless-developer-metrics-dashboard.adoc @@ -0,0 +1,9 @@ +:_content-type: ASSEMBLY +include::_attributes/common-attributes.adoc[] +[id="serverless-developer-metrics-dashboard"] += Dashboard for service metrics +:context: serverless-developer-metrics-dashboard + +You can examine the metrics using a dedicated dashboard that aggregates queue proxy metrics by namespace. + +include::modules/serverless-monitoring-services-examining-metrics-dashboard.adoc[leveloffset=+1] diff --git a/serverless/observability/developer-metrics/serverless-developer-metrics.adoc b/serverless/observability/developer-metrics/serverless-developer-metrics.adoc new file mode 100644 index 0000000000..88e5d96faa --- /dev/null +++ b/serverless/observability/developer-metrics/serverless-developer-metrics.adoc @@ -0,0 +1,38 @@ +:_content-type: ASSEMBLY +include::_attributes/common-attributes.adoc[] +[id="serverless-developer-metrics"] += {ServerlessProductShortName} developer metrics overview +:context: serverless-developer-metrics + +toc::[] + +Metrics enable developers to monitor how Knative services are performing. You can use the {product-title} monitoring stack to record and view health checks and metrics for your Knative services. + +ifdef::openshift-enterprise[] +You can view different metrics for {ServerlessProductName} by navigating to xref:../../../monitoring/reviewing-monitoring-dashboards.adoc#reviewing-monitoring-dashboards-developer_reviewing-monitoring-dashboards[*Dashboards*] in the {product-title} web console *Developer* perspective. +endif::[] + +ifdef::openshift-dedicated,openshift-rosa[] +You can view different metrics for {ServerlessProductName} by navigating to *Dashboards* in the {product-title} web console *Developer* perspective. +endif::[] + +[WARNING] +==== +If {SMProductShortName} is enabled with mTLS, metrics for Knative Serving are disabled by default because Service Mesh prevents Prometheus from scraping metrics. + +ifndef::openshift-dedicated[] +For information about resolving this issue, see xref:../../../serverless/integrations/serverless-ossm-setup.adoc#serverless-ossm-enabling-serving-metrics_serverless-ossm-setup[Enabling Knative Serving metrics when using Service Mesh with mTLS]. +endif::[] + +Scraping the metrics does not affect autoscaling of a Knative service, because scraping requests do not go through the activator. Consequently, no scraping takes place if no pods are running. +==== + + +ifdef::openshift-enterprise[] +[id="additional-resources_serverless-service-monitoring"] +[role="_additional-resources"] +== Additional resources +* xref:../../../monitoring/monitoring-overview.adoc#monitoring-overview[Monitoring overview] +* xref:../../../monitoring/managing-metrics.adoc#specifying-how-a-service-is-monitored[Enabling monitoring for user-defined projects] +* xref:../../../monitoring/enabling-monitoring-for-user-defined-projects.adoc#enabling-monitoring-for-user-defined-projects[Specifying how a service is monitored] +endif::[] diff --git a/modules/serverless-monitoring-services-configuration-scraping.adoc b/serverless/observability/developer-metrics/serverless-monitoring-services-configuration-scraping.adoc similarity index 89% rename from modules/serverless-monitoring-services-configuration-scraping.adoc rename to serverless/observability/developer-metrics/serverless-monitoring-services-configuration-scraping.adoc index 338af04f58..fc0d2a7053 100644 --- a/modules/serverless-monitoring-services-configuration-scraping.adoc +++ b/serverless/observability/developer-metrics/serverless-monitoring-services-configuration-scraping.adoc @@ -1,10 +1,8 @@ -// Module is included in the following assemblies: -// -// * /serverless/monitor/serverless-developer-metrics.adoc - -:_content-type: REFERENCE -[id="serverless-monitoring-services-configuration-scraping_{context}"] +:_content-type: ASSEMBLY +include::_attributes/common-attributes.adoc[] +[id="serverless-monitoring-services-configuration-scraping"] = Configuration for scraping custom metrics +:context: serverless-monitoring-services-configuration-scraping Custom metrics scraping is performed by an instance of Prometheus purposed for user workload monitoring. After you enable user workload monitoring and create the application, you need a configuration that defines how the monitoring stack will scrape the metrics. diff --git a/modules/serverless-monitoring-services-custom-metrics.adoc b/serverless/observability/developer-metrics/serverless-monitoring-services-custom-metrics.adoc similarity index 90% rename from modules/serverless-monitoring-services-custom-metrics.adoc rename to serverless/observability/developer-metrics/serverless-monitoring-services-custom-metrics.adoc index a140aa84bc..c637269462 100644 --- a/modules/serverless-monitoring-services-custom-metrics.adoc +++ b/serverless/observability/developer-metrics/serverless-monitoring-services-custom-metrics.adoc @@ -1,10 +1,8 @@ -// Module is included in the following assemblies: -// -// * /serverless/monitor/serverless-developer-metrics.adoc - -:_content-type: REFERENCE -[id="serverless-monitoring-services-custom-metrics_{context}"] +:_content-type: ASSEMBLY +include::_attributes/common-attributes.adoc[] +[id="serverless-monitoring-services-custom-metrics"] = Knative service with custom application metrics +:context: serverless-monitoring-services-custom-metrics You can extend the set of metrics exported by a Knative service. The exact implementation depends on your application and the language used. diff --git a/modules/serverless-monitoring-services-default-metrics.adoc b/serverless/observability/developer-metrics/serverless-monitoring-services-default-metrics.adoc similarity index 96% rename from modules/serverless-monitoring-services-default-metrics.adoc rename to serverless/observability/developer-metrics/serverless-monitoring-services-default-metrics.adoc index 26c1e278cd..5620190ede 100644 --- a/modules/serverless-monitoring-services-default-metrics.adoc +++ b/serverless/observability/developer-metrics/serverless-monitoring-services-default-metrics.adoc @@ -1,10 +1,9 @@ -// Module is included in the following assemblies: -// -// * /serverless/monitor/serverless-developer-metrics.adoc - -:_content-type: REFERENCE -[id="serverless-monitoring-services-default-metrics_{context}"] +:_content-type: ASSEMBLY +include::_attributes/common-attributes.adoc[] +[id="serverless-monitoring-services-default-metrics"] = Knative service metrics exposed by default +:context: serverless-monitoring-services-default-metrics + .Metrics exposed by default for each Knative service on port 9090 [options=header] diff --git a/modules/serverless-queue-proxy-metrics.adoc b/serverless/observability/developer-metrics/serverless-monitoring-services-examining-metrics.adoc similarity index 55% rename from modules/serverless-queue-proxy-metrics.adoc rename to serverless/observability/developer-metrics/serverless-monitoring-services-examining-metrics.adoc index ad32643ac5..32d2b77252 100644 --- a/modules/serverless-queue-proxy-metrics.adoc +++ b/serverless/observability/developer-metrics/serverless-monitoring-services-examining-metrics.adoc @@ -1,10 +1,60 @@ -// Module is included in the following assemblies: -// -// * serverless/monitor/serverless-serving-metrics.adoc +:_content-type: ASSEMBLY +include::_attributes/common-attributes.adoc[] +[id="serverless-monitoring-services-examining-metrics"] += Examining metrics of a service +:context: serverless-monitoring-services-examining-metrics + + + +After you have configured the application to export the metrics and the monitoring stack to scrape them, you can examine the metrics in the web console. + +.Prerequisites + +* You have logged in to the {product-title} web console. +* You have installed the {ServerlessOperatorName} and Knative Serving. + +.Procedure + +. Optional: Run requests against your application that you will be able to see in the metrics: ++ +[source,terminal] +---- +$ hello_route=$(oc get ksvc helloworld-go -n ns1 -o jsonpath='{.status.url}') && \ + curl $hello_route +---- ++ +.Example output +[source,terminal] +---- +Hello Go Sample v1! +---- + +. In the web console, navigate to the *Observe* -> *Metrics* interface. + +. In the input field, enter the query for the metric you want to observe, for example: ++ +[source] +---- +revision_app_request_count{namespace="ns1", job="helloworld-go-sm"} +---- ++ +Another example: ++ +[source] +---- +myapp_processed_ops_total{namespace="ns1", job="helloworld-go-sm"} +---- + +. Observe the visualized metrics: ++ +image::serverless-monitoring-service-example1.png[Observing metrics of a service] ++ +image::serverless-monitoring-service-example2.png[Observing metrics of a service] + -:_content-type: REFERENCE [id="serverless-queue-proxy-metrics_{context}"] -= Queue proxy metrics +== Queue proxy metrics +:context: serverless-queue-proxy-metrics Each Knative service has a proxy container that proxies the connections to the application container. A number of metrics are reported for the queue proxy performance. diff --git a/serverless/observability/developer-metrics/snippets b/serverless/observability/developer-metrics/snippets new file mode 120000 index 0000000000..ce62fd7c41 --- /dev/null +++ b/serverless/observability/developer-metrics/snippets @@ -0,0 +1 @@ +../../../snippets/ \ No newline at end of file diff --git a/serverless/observability/images b/serverless/observability/images new file mode 120000 index 0000000000..847b03ed05 --- /dev/null +++ b/serverless/observability/images @@ -0,0 +1 @@ +../../images/ \ No newline at end of file diff --git a/serverless/observability/modules b/serverless/observability/modules new file mode 120000 index 0000000000..36719b9de7 --- /dev/null +++ b/serverless/observability/modules @@ -0,0 +1 @@ +../../modules/ \ No newline at end of file diff --git a/serverless/observability/snippets b/serverless/observability/snippets new file mode 120000 index 0000000000..5a3f5add14 --- /dev/null +++ b/serverless/observability/snippets @@ -0,0 +1 @@ +../../snippets/ \ No newline at end of file diff --git a/serverless/observability/tracing/_attributes b/serverless/observability/tracing/_attributes new file mode 120000 index 0000000000..bf7c2529fd --- /dev/null +++ b/serverless/observability/tracing/_attributes @@ -0,0 +1 @@ +../../../_attributes/ \ No newline at end of file diff --git a/serverless/observability/tracing/images b/serverless/observability/tracing/images new file mode 120000 index 0000000000..4399cbb3c0 --- /dev/null +++ b/serverless/observability/tracing/images @@ -0,0 +1 @@ +../../../images/ \ No newline at end of file diff --git a/serverless/observability/tracing/modules b/serverless/observability/tracing/modules new file mode 120000 index 0000000000..7e8b50bee7 --- /dev/null +++ b/serverless/observability/tracing/modules @@ -0,0 +1 @@ +../../../modules/ \ No newline at end of file diff --git a/serverless/observability/tracing/serverless-tracing-jaeger.adoc b/serverless/observability/tracing/serverless-tracing-jaeger.adoc new file mode 100644 index 0000000000..de6575649b --- /dev/null +++ b/serverless/observability/tracing/serverless-tracing-jaeger.adoc @@ -0,0 +1,11 @@ +:_content-type: ASSEMBLY +include::_attributes/common-attributes.adoc[] +[id="serverless-tracing-jaeger"] += Using Jaeger distributed tracing +:context: serverless-tracing-jaeger + + +If you do not want to install all of the components of {DTProductName}, you can still use distributed tracing on {product-title} with {ServerlessProductName}. + +// standalone Jaeger only integration +include::modules/serverless-jaeger-config.adoc[leveloffset=+1] \ No newline at end of file diff --git a/serverless/observability/tracing/serverless-tracing-open-telemetry.adoc b/serverless/observability/tracing/serverless-tracing-open-telemetry.adoc new file mode 100644 index 0000000000..f3ad6da3d2 --- /dev/null +++ b/serverless/observability/tracing/serverless-tracing-open-telemetry.adoc @@ -0,0 +1,12 @@ +:_content-type: ASSEMBLY +include::_attributes/common-attributes.adoc[] +[id="serverless-tracing-open-telemetry"] += Using Red Hat OpenShift distributed tracing +:context: serverless-tracing-open-telemetry + +You can use {DTProductName} with {ServerlessProductName} to monitor and troubleshoot serverless applications. + +ifdef::openshift-enterprise[] +// we can only use this module for OCP until OSD docs have distributed tracing install docs available, since this is part of the prereqs +include::modules/serverless-open-telemetry.adoc[leveloffset=+1] +endif::[] diff --git a/serverless/serverless-tracing.adoc b/serverless/observability/tracing/serverless-tracing.adoc similarity index 55% rename from serverless/serverless-tracing.adoc rename to serverless/observability/tracing/serverless-tracing.adoc index 7ef7dcd077..4e1b5a5280 100644 --- a/serverless/serverless-tracing.adoc +++ b/serverless/observability/tracing/serverless-tracing.adoc @@ -1,8 +1,9 @@ :_content-type: ASSEMBLY +include::_attributes/common-attributes.adoc[] [id="serverless-tracing"] = Tracing requests :context: serverless-tracing -include::_attributes/common-attributes.adoc[] + toc::[] @@ -10,17 +11,12 @@ Distributed tracing records the path of a request through the various services t ifdef::openshift-enterprise[] include::modules/distr-tracing-product-overview.adoc[leveloffset=+1] -// we can only use this module for OCP until OSD docs have distributed tracing install docs available, since this is part of the prereqs -include::modules/serverless-open-telemetry.adoc[leveloffset=+1] endif::[] -// standalone Jaeger only integration -include::modules/serverless-jaeger-config.adoc[leveloffset=+1] - ifdef::openshift-enterprise[] [id="additional-resources_serverless-tracing"] [role="_additional-resources"] == Additional resources -* xref:../distr_tracing/distr_tracing_arch/distr-tracing-architecture.adoc#distr-tracing-architecture[{DTProductName} architecture] -* xref:../distr_tracing/distr_tracing_install/distr-tracing-installing.adoc#installing-distributed-tracing[Installing distributed tracing] +* xref:../../../distr_tracing/distr_tracing_arch/distr-tracing-architecture.adoc#distr-tracing-architecture[{DTProductName} architecture] +* xref:../../../distr_tracing/distr_tracing_install/distr-tracing-installing.adoc#installing-distributed-tracing[Installing distributed tracing] endif::[] diff --git a/serverless/observability/tracing/snippets b/serverless/observability/tracing/snippets new file mode 120000 index 0000000000..ce62fd7c41 --- /dev/null +++ b/serverless/observability/tracing/snippets @@ -0,0 +1 @@ +../../../snippets/ \ No newline at end of file