Skip to content

Commit 46fe945

Browse files
authored
Merge pull request #290 from splunk/conf24
Hide Node Dependencies in S4R ... changed to automatic discovery and configuration
2 parents c5e749f + a6b31f3 commit 46fe945

File tree

16 files changed

+39
-39
lines changed

16 files changed

+39
-39
lines changed

content/en/conf24/1-zero-config-k8s/1-architecture/_index.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,11 @@ weight: 2
55
time: 5 minutes
66
---
77

8-
The diagram below details the architecture of the Spring PetClinic Java application running in Kubernetes with the Splunk OpenTelemetry Operator and Auto Instrumentation enabled.
8+
The diagram below details the architecture of the Spring PetClinic Java application running in Kubernetes with the Splunk OpenTelemetry Operator and automatic discovery and configuration enabled.
99

1010
The Spring PetClinic Java application is a simple microservices application that consists of a frontend and backend services. The frontend service is a Spring Boot application that serves a web interface to interact with the backend services. The backend services are Spring Boot applications that serve RESTful API's to interact with a MySQL database.
1111

12-
By the end of this workshop, you will have a better understanding of how to enable **Splunk OpenTelemetry Zero Configuration Auto Instrumentation** for your Java-based applications running in Kubernetes.
12+
By the end of this workshop, you will have a better understanding of how to enable **Splunk OpenTelemetry automatic discovery and configuration** for your Java-based applications running in Kubernetes.
1313

1414
![Splunk Otel Architecture](../images/auto-instrumentation-java-diagram.png)
1515

content/en/conf24/1-zero-config-k8s/2-preparation/1-otel.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,9 +32,9 @@ Update Complete. ⎈Happy Helming!⎈
3232
{{% /tab %}}
3333
{{< /tabs >}}
3434

35-
**Splunk Observability Cloud** offers wizards in the UI to walk you through the setup of the OpenTelemetry Collector on Kubernetes, but in the interest of time, we will use the Helm command below. Some additional parameters are set to enable the operator and Zero Configuration Auto Instrumentation.
35+
**Splunk Observability Cloud** offers wizards in the UI to walk you through the setup of the OpenTelemetry Collector on Kubernetes, but in the interest of time, we will use the Helm command below. Some additional parameters are set to enable the operator and automatic discovery and configuration.
3636

37-
* `--set="operator.enabled=true"` - this will install the Opentelemetry operator that will be used to handle Auto Instrumentation.
37+
* `--set="operator.enabled=true"` - this will install the Opentelemetry operator that will be used to handle automatic discovery and configuration.
3838
* `--set="certmanager.enabled=true"` - this will install the required certificate manager for the operator.
3939
* `--set="splunkObservability.profilingEnabled=true"` - this enables Code Profiling via the operator.
4040

content/en/conf24/1-zero-config-k8s/2-preparation/2-petclinic.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -84,7 +84,7 @@ Once they are running, the application will take a few minutes to fully start up
8484

8585
#### Verify the local Private Registry
8686

87-
Later on, when we test our **Zero Configuration Auto Instrumentation** we are going to build new containers to highlight some of the additional features of Splunk Observability Cloud.
87+
Later on, when we test our **automatic discovery and configuration** we are going to build new containers to highlight some of the additional features of Splunk Observability Cloud.
8888

8989
As configuration files and source code will be changed, the containers will need to be built and stored in a local private registry (which has already been enabled for you).
9090

content/en/conf24/1-zero-config-k8s/4-zero-config/1-zero-config.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
---
2-
title: Zero Configuration Setup
3-
linkTitle: 1. Zero Configuration Setup
2+
title: Automatic Discovery and Configuration
3+
linkTitle: 1. Automatic Discovery and Configuration
44
weight: 1
55
---
66

7-
To see how Zero Configuration works with a single pod we will patch the `api-gateway`. Once patched, the OpenTelemetry Collector will inject the Auto Instrumentation library and the Pod will be restarted in order to start sending traces and profiling data. To show what happens when you enable Auto Instrumentation, let's do a *before and after* of the configuration:
7+
To see how automatic discovery and configuration works with a single pod we will patch the `api-gateway`. Once patched, the OpenTelemetry Collector will inject the automatic discovery and configuration library and the Pod will be restarted in order to start sending traces and profiling data. To show what happens when you enable automatic discovery and configuration, let's do a *before and after* of the configuration:
88

99
{{< tabs >}}
1010
{P}{{% tab title="Describe api-gateway" %}}
@@ -23,7 +23,7 @@ Image: quay.io/phagen/spring-petclinic-api-gateway:0.0.2
2323
{{% /tab %}}
2424
{{< /tabs >}}
2525

26-
This container was pulled from a remote repository `quay.io` and was not built to send traces to **Splunk Observability Cloud**. To enable the Java auto instrumentation on the api-gateway service add the `inject-java` annotation to Kubernetes with the `kubectl patch deployment` command.
26+
This container was pulled from a remote repository `quay.io` and was not built to send traces to **Splunk Observability Cloud**. To enable the Java automatic discovery and configuration on the api-gateway service add the `inject-java` annotation to Kubernetes with the `kubectl patch deployment` command.
2727

2828
{{< tabs >}}
2929
{{% tab title="Patch api-gateway" %}}
@@ -90,6 +90,6 @@ deployment.apps/api-gateway patched (no change)
9090
{{% /tab %}}
9191
{{< /tabs >}}
9292

93-
Navigate back to the Kubernetes Navigator in **Splunk Observability Cloud**. After a couple of minutes you will see that the Pods are being restarted by the operator and the Zero config container will be added. This will look similar to the screenshot below:
93+
Navigate back to the Kubernetes Navigator in **Splunk Observability Cloud**. After a couple of minutes you will see that the Pods are being restarted by the operator and the automatic discovery and configuration container will be added. This will look similar to the screenshot below:
9494

9595
![restart](../../images/k8s-navigator-restarted-pods.png)

content/en/conf24/1-zero-config-k8s/4-zero-config/_index.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,15 @@
11
---
2-
title: Setting up Zero configuration Auto instrumentation for APM
3-
linkTitle: 4. Auto Instrumentation & Metrics
2+
title: Setting up automatic discovery and configuration for APM
3+
linkTitle: 4. automatic discovery and configuration & Metrics
44
weight: 5
55
time: 10 minutes
66
---
77

8-
In this section we will enable **Zero Configuration Auto Instrumentation** for the Java services running in Kubernetes. This means that the OpenTelemetry Collector will look for Pod annotations that indicate that the Java application should be instrumented with the Splunk OpenTelemetry Java agent. This will allow us to get traces, spans, and profiling data from the Java services running on the cluster.
8+
In this section we will enable **automatic discovery and configuration** for the Java services running in Kubernetes. This means that the OpenTelemetry Collector will look for Pod annotations that indicate that the Java application should be instrumented with the Splunk OpenTelemetry Java agent. This will allow us to get traces, spans, and profiling data from the Java services running on the cluster.
99

10-
{{% notice title="Zero Configuration Auto Instrumentation" style="note" %}}
10+
{{% notice title="automatic discovery and configuration" style="note" %}}
1111

12-
It is important to understand that Zero Configuration Auto Instrumentation is designed to get **trace, span & profiling** data out of your application, without requiring code changes or recompilation.
12+
It is important to understand that automatic discovery and configuration is designed to get **trace, span & profiling** data out of your application, without requiring code changes or recompilation.
1313

1414
This is a great way to get started with APM, but it is **not** a replacement for manual instrumentation. Manual instrumentation allows you to add custom spans, tags, and logs to your application, which can provide more context and detail to your traces.
1515

content/en/conf24/1-zero-config-k8s/5-traces/2-spans.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ linkTitle: 2. APM Spans
44
weight: 2
55
---
66

7-
While we examine our spans, let's look at several features that you get out of the box without code modifications when using **Zero Configuration Auto Instrumentation** on top of tracing:
7+
While we examine our spans, let's look at several features that you get out of the box without code modifications when using **automatic discovery and configuration** on top of tracing:
88

99
Due to the fact there are several different routes
1010
First, in the Waterfall Pane, make sure the `customers-service:SELECT petclinic.owners` or similar span is selected as shown in the screenshot below:
@@ -14,7 +14,7 @@ First, in the Waterfall Pane, make sure the `customers-service:SELECT petclinic.
1414
* The basic latency information is shown as a bar for the instrumented function or call, in our example, it took 6.3 Milliseconds.
1515
* Several similar Spans **(1**)**, are only visible if the span is repeated multiple times. In this case, there are 10 repeats in our example. (You can show/hide them all by clicking on the `10x` and all spans will show in order)
1616
* Inferred Services, Calls done to external systems that are not instrumented, show up as a gray 'inferred' span. The Inferred Service or span in our case here is a call to the Mysql Database `mysql:petclinic SELECT petclinic` **(2)** as shown below our selected span.
17-
* Span Tags in the Tag Pane, standard tags produced by the auto instrumentation agent. In this case, the span is calling a Database, so it includes the `db.statement` tag **(3)**. This tag will hold the DB query statement and is used by the Database call performed during this span. This will be used by the DB-Query Performance feature. We look at DB-Query Performance in the next section.
17+
* Span Tags in the Tag Pane, standard tags produced by the automatic discovery and configuration. In this case, the span is calling a Database, so it includes the `db.statement` tag **(3)**. This tag will hold the DB query statement and is used by the Database call performed during this span. This will be used by the DB-Query Performance feature. We look at DB-Query Performance in the next section.
1818
* Always-on Profiling, **IF** the system is configured to, and has captured Profiling data during a Spans life cycle, it will show the number of Call Stacks captured in the Spans timeline. (15 Call Stacks for the `customers-service:SELECT petclinic.`owners` Span shown above). We will look at Profiling in the next section.
1919

2020
<!--

content/en/conf24/1-zero-config-k8s/5-traces/3-red-metrics.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ This dashboard, which is available for each of your instrumented services, offer
1717
As the dashboards allow you to go back in time with the *Time picker* window **(1)**, it's the perfect spot to identify the behavior you wish to be alerted on, and with a click on one of the bell icons **(2)** available in each chart, you can set up an alert to do just that.
1818

1919
If you scroll down the page, you get host and Kubernetes metrics related to your service as well.
20-
Let's move on to look at some of the traces generated by the Zero Config Auto instrumentation.
20+
Let's move on to look at some of the traces generated by the automatic discovery and configuration.
2121
<!--
2222
{{< tabs >}}
2323
{{% tab title="Tail Log" %}}

content/en/conf24/1-zero-config-k8s/5-traces/_index.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ archetype: chapter
66
time: 15 minutes
77
---
88

9-
As we have seen in the previous section, once you enable **Zero Configuration Auto Instrumentation** on your services traces are sent to **Splunk Observability Cloud**.
9+
As we have seen in the previous section, once you enable **automatic discovery and configuration** on your services, traces are sent to **Splunk Observability Cloud**.
1010

1111
With these traces, Splunk will automatically generate **Service Maps** and **RED Metrics**. These are the first steps in understanding the behavior of your services and how they interact with each other.
1212

content/en/conf24/1-zero-config-k8s/6-profiling-db-query/1-profiling.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ When we installed the Splunk Distribution of the OpenTelemetry Collector using t
88

99
When you deploy the PetClinic application and set the annotation, the collector automatically detects the application and instruments it for traces and profiling. We can verify this by examining the startup logs of one of the Java containers we are instrumenting by running the following script:
1010

11-
The logs should show what flags were picked up by the Java Auto instrumentation agent:
11+
The logs should show what flags were picked up by the Java automatic discovery and configuration:
1212

1313
{{< tabs >}}
1414
{{% tab title="Run the script" %}}

content/en/conf24/1-zero-config-k8s/6-profiling-db-query/_index.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ time: 15 minutes
88

99
As we have seen in the previous chapter, you can trace your interactions between the various services using APM without touching your code, which will allow you to identify issues faster.
1010

11-
However, besides tracing **Splunk Zero Configuration Auto Instrumentation** offers additional features out of the box that can help you find issues even faster. In this section we are going to look at two of them:
11+
However, besides tracing **automatic discovery and configuration** offers additional features out of the box that can help you find issues even faster. In this section we are going to look at two of them:
1212

1313
- **Always-on Profiling and Java Metrics**
1414
- **Database Query Performance**

0 commit comments

Comments
 (0)