|
| 1 | +--- |
| 2 | +title: Workshop Agenda |
| 3 | +weight: 10 |
| 4 | +--- |
| 5 | +The goal of this workshop is to make you famliar with the Splunk Observability Suite and its key features. |
| 6 | +For this we have provided you with a complete application that includes a Website and a number of back end services that make up the complete application. |
| 7 | + |
| 8 | +During this workshop you will expierince issues with this application. The goal of this excercise is to use several of the key features from the Splunk observability suite to detect the issue, locate the cause of the issue, allowing you developerers to very quickly resolve the issue. |
| 9 | + |
| 10 | +### 1. Inital Setup |
| 11 | +For attendees that are taking the **pre-configured workshop**, the application will already be deployed for you and your instructor will provide with a link to the Online Boutique application. |
| 12 | + |
| 13 | +For attendees taking the **interactive workshop**, you will need to install OpenTelemetry and deploy the application. Hit the {{% badge style=primary icon=user-ninja %}}**Ninja{{% /badge %}} button below to expand the instructions. |
| 14 | + |
| 15 | +--- |
| 16 | + |
| 17 | +{{% expand title="{{% badge style=primary icon=user-ninja %}}**Ninja:** Interactive workshop build steps{{% /badge %}}" %}} |
| 18 | + |
| 19 | +Install the OpenTelemetry Collector using the Splunk Helm chart. First, add the Splunk Helm chart repository to Helm and update. |
| 20 | + |
| 21 | +{{< tabs >}} |
| 22 | +{{% tab title="Helm Repo Add" %}} |
| 23 | + |
| 24 | +``` bash |
| 25 | +helm repo add splunk-otel-collector-chart https://signalfx.github.io/splunk-otel-collector-chart && helm repo update |
| 26 | +``` |
| 27 | + |
| 28 | +{{% /tab %}} |
| 29 | +{{% tab title="Helm Repo Add Output" %}} |
| 30 | +Using ACCESS_TOKEN={REDACTED} |
| 31 | +Using REALM=eu0 |
| 32 | +"splunk-otel-collector-chart" has been added to your repositories |
| 33 | +Using ACCESS_TOKEN={REDACTED} |
| 34 | +Using REALM=eu0 |
| 35 | +Hang tight while we grab the latest from your chart repositories... |
| 36 | +...Successfully got an update from the "splunk-otel-collector-chart" chart repository |
| 37 | +Update Complete. ⎈Happy Helming!⎈ |
| 38 | +{{% /tab %}} |
| 39 | +{{< /tabs >}} |
| 40 | + |
| 41 | +Install the OpenTelemetry Collector Helm chart with the following commands, do **NOT** edit this: |
| 42 | + |
| 43 | +{{< tabs >}} |
| 44 | +{{% tab title="Helm Install" %}} |
| 45 | + |
| 46 | +```bash |
| 47 | +helm install splunk-otel-collector \ |
| 48 | +--set="splunkObservability.realm=$REALM" \ |
| 49 | +--set="splunkObservability.accessToken=$ACCESS_TOKEN" \ |
| 50 | +--set="clusterName=$(hostname)-k3s-cluster" \ |
| 51 | +--set="splunkObservability.logsEnabled=true" \ |
| 52 | +--set="logsEngine=otel" \ |
| 53 | +--set="splunkObservability.profilingEnabled=true" \ |
| 54 | +--set="splunkObservability.infrastructureMonitoringEventsEnabled=true" \ |
| 55 | +--set="environment=$(hostname)-workshop" \ |
| 56 | +splunk-otel-collector-chart/splunk-otel-collector \ |
| 57 | +-f ~/workshop/k3s/otel-collector.yaml |
| 58 | +``` |
| 59 | + |
| 60 | +{{% /tab %}} |
| 61 | +{{% tab title="Helm Install Output" %}} |
| 62 | + |
| 63 | +``` text |
| 64 | +Using ACCESS_TOKEN={REDACTED} |
| 65 | +Using REALM=eu0 |
| 66 | +NAME: splunk-otel-collector |
| 67 | +LAST DEPLOYED: Fri May 7 11:19:01 2021 |
| 68 | +NAMESPACE: default |
| 69 | +STATUS: deployed |
| 70 | +REVISION: 1 |
| 71 | +TEST SUITE: None |
| 72 | +``` |
| 73 | + |
| 74 | +{{% /tab %}} |
| 75 | +{{< /tabs >}} |
| 76 | + |
| 77 | +You can monitor the progress of the deployment by running `kubectl get pods` which should typically report a new pod is up and running after about 30 seconds. |
| 78 | + |
| 79 | +Ensure the status is reported as Running before continuing. |
| 80 | + |
| 81 | +{{< tabs >}} |
| 82 | +{{% tab title="Kubectl Get Pods" %}} |
| 83 | + |
| 84 | +``` bash |
| 85 | +kubectl get pods |
| 86 | +``` |
| 87 | + |
| 88 | +{{% /tab %}} |
| 89 | +{{% tab title="Kubectl Get Pods Output" %}} |
| 90 | + |
| 91 | +``` text |
| 92 | +NAME READY STATUS RESTARTS AGE |
| 93 | +splunk-otel-collector-agent-2sk6k 0/1 Running 0 10s |
| 94 | +splunk-otel-collector-k8s-cluster-receiver-6956d4446f-gwnd7 0/1 Running 0 10s |
| 95 | +``` |
| 96 | + |
| 97 | +{{% /tab %}} |
| 98 | +{{< /tabs >}} |
| 99 | + |
| 100 | +To deploy the Online Boutique application into K3s apply the deployment: |
| 101 | + |
| 102 | +{{< tabs >}} |
| 103 | +{{% tab title="Deploy Online Boutique" %}} |
| 104 | + |
| 105 | +``` bash |
| 106 | +cd ~/workshop/apm |
| 107 | +kubectl apply -f deployment.yaml |
| 108 | +``` |
| 109 | + |
| 110 | +{{% /tab %}} |
| 111 | +{{% tab title="Deployment Output" %}} |
| 112 | + |
| 113 | +``` text |
| 114 | +APM Only Deployment |
| 115 | +deployment.apps/recommendationservice created |
| 116 | +service/recommendationservice created |
| 117 | +deployment.apps/productcatalogservice created |
| 118 | +service/productcatalogservice created |
| 119 | +deployment.apps/cartservice created |
| 120 | +service/cartservice created |
| 121 | +deployment.apps/adservice created |
| 122 | +service/adservice created |
| 123 | +deployment.apps/paymentservice created |
| 124 | +service/paymentservice created |
| 125 | +deployment.apps/loadgenerator created |
| 126 | +service/loadgenerator created |
| 127 | +deployment.apps/shippingservice created |
| 128 | +service/shippingservice created |
| 129 | +deployment.apps/currencyservice created |
| 130 | +service/currencyservice created |
| 131 | +deployment.apps/redis-cart created |
| 132 | +service/redis-cart created |
| 133 | +deployment.apps/checkoutservice created |
| 134 | +service/checkoutservice created |
| 135 | +deployment.apps/frontend created |
| 136 | +service/frontend created |
| 137 | +service/frontend-external created |
| 138 | +deployment.apps/emailservice created |
| 139 | +service/emailservice created |
| 140 | +deployment.apps/rum-loadgen-deployment created |
| 141 | +``` |
| 142 | + |
| 143 | +{{% /tab %}} |
| 144 | +{{< /tabs >}} |
| 145 | + |
| 146 | +To ensure the Online Boutique application is running: |
| 147 | + |
| 148 | +{{< tabs >}} |
| 149 | +{{% tab title="Get Pods" %}} |
| 150 | + |
| 151 | +``` bash |
| 152 | +kubectl get pods |
| 153 | +``` |
| 154 | + |
| 155 | +{{% /tab %}} |
| 156 | +{{% tab title="Get Pods Output" %}} |
| 157 | + |
| 158 | +``` text |
| 159 | +NAME READY STATUS RESTARTS AGE |
| 160 | +splunk-otel-collector-k8s-cluster-receiver-849cf595bf-l7mnq 1/1 Running 0 31m |
| 161 | +splunk-otel-collector-agent-pxrgp 2/2 Running 0 31m |
| 162 | +productcatalogservice-8464cd56d-n8f89 1/1 Running 0 1m |
| 163 | +redis-cart-bcf44df97-djv6z 1/1 Running 0 1m |
| 164 | +checkoutservice-8558fd7b95-b9pn8 1/1 Running 0 1m |
| 165 | +shippingservice-7cc4bdd6f4-xsvnx 1/1 Running 0 1m |
| 166 | +recommendationservice-647d57fd44-l7tkq 1/1 Running 0 1m |
| 167 | +frontend-66c5d589d-55vzb 1/1 Running 0 1m |
| 168 | +emailservice-6ff5bbd67d-pdcm2 1/1 Running 0 1m |
| 169 | +paymentservice-6866558995-8xmf2 1/1 Running 0 1m |
| 170 | +currencyservice-8668d75d6f-mr68h 1/1 Running 0 1m |
| 171 | +rum-loadgen-deployment-58ccf7bd8f-cr4pr 1/1 Running 0 1m |
| 172 | +rum-loadgen-deployment-58ccf7bd8f-qjr4b 1/1 Running 0 1m |
| 173 | +rum-loadgen-deployment-58ccf7bd8f-fvb4x 1/1 Running 0 1m |
| 174 | +cartservice-7b58c88c45-xvxhq 1/1 Running 0 1m |
| 175 | +loadgenerator-6bdc7b4857-9kxjd 1/1 Running 2 (49s ago) 1m |
| 176 | +adservice-7b68d5b969-89ft2 1/1 Running 0 1m |
| 177 | +``` |
| 178 | + |
| 179 | +{{% /tab %}} |
| 180 | +{{< /tabs >}} |
| 181 | + |
| 182 | +{{% notice title="Info" style="info" %}} |
| 183 | +Usually it should only take around 1min 30secs for the pods to transition into a Running state. |
| 184 | +{{% /notice %}} |
| 185 | + |
| 186 | +{{% /expand %}} |
| 187 | + |
| 188 | +--- |
| 189 | + |
| 190 | +### 2. A quick tour of the Splunk Observability User Interface |
| 191 | + |
| 192 | +To make finding your way in the Splunk Observability suite User interface, We will take you on a quick tour that will give you the highlights and is designed to make the rest of the workhop simpler as you are already fmailiar with the locations of various components. |
| 193 | + |
| 194 | +--- |
| 195 | + |
| 196 | +### 3. Using the Online Boutique Webshop to create traffic |
| 197 | +The next step in the workshop is to use the Web ui of the application we provided, We wil assk you to run several scenario's, and if possible repeat some of the actions on an other device, something like a mobile phone for example. |
| 198 | + |
| 199 | +This will generate traffic acorr our appliction and with that traffic comes the Open Telemetry signals, Metrics, Traces and logs, that we can use to find and indentify the cause of the underlying issues. |
| 200 | + |
| 201 | +--- |
| 202 | + |
| 203 | +### 4. Splunk Real User Monitoring |
| 204 | + |
| 205 | +During this session we will examine the Real User data that has been provided by the telemetry recieved from your website. The goal is to fidn and identify the activity you have created with your browser, and if possible from a different device like a mobile phone. This will show you some of the issues you can detect with Splunk RUM. It will also show you how we can folow intereactiosn from the front end website to the underlying dunctions in the back end services |
| 206 | + |
| 207 | +--- |
| 208 | + |
| 209 | +### 5 Splunk Application Perfomance Monitoring |
| 210 | + |
| 211 | +Follwing up form our finsing in the RUm session, we will follow theroute are request have takne though the underlying backend service.s for this we are using Application Monitoring or APM, all our services are sneding telemtry,or Traces and spans, that the Splunk observability suite can visualise, analyze and use to detect anomolise and errrors. |
| 212 | +In this session we show you several ways to find and detect errors mannually or with the support of our smart Analytics. |
| 213 | + |
| 214 | +--- |
| 215 | + |
| 216 | +### 6 Using Logs with Splunk Log Observer |
| 217 | +Generally, you use metrics and traces to detect and identify an issue, and use Logs with itch richer information pool, to indity the why, or the casue of the issue. Within this section we will examine the functionality of Log observer, our gateway in the logs generated by our apllications. |
| 218 | + |
| 219 | +--- |
| 220 | + |
| 221 | +### 7 Splunk Synthetics |
| 222 | +The next step is is to make sure we do not rely on manual testing of our application, and we will look at how you can create tests that can keep track of the performance and behaviour of your application that can run 24/7 from different location. |
| 223 | +We also look into how these test can alert you when ther is a deviation in behaviour of your site. |
| 224 | + |
| 225 | +--- |
| 226 | + |
| 227 | +### 8 Wrapping upp |
| 228 | + |
| 229 | +Last but not least we will show some of the other features that can be help full in finding problems befor clsoing the session. |
0 commit comments