Skip to content

Commit 134d4ad

Browse files
committed
Improvements to cloud-init template for Otel Demo
1 parent 280f2d2 commit 134d4ad

File tree

4 files changed

+1808
-0
lines changed

4 files changed

+1808
-0
lines changed

workshop/oteldemo/README.md

Lines changed: 90 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,90 @@
1+
# OpenTelemetry Astronomy Shop Demo Instructions
2+
3+
## Features available
4+
5+
- Kubernetes Navigator
6+
- APM
7+
- Network Explorer
8+
- DB Query Performance (Redis & PostgreSQL)
9+
- Logs (using OTel Log Engine via Log Observer)
10+
- Synthetics (no Synthetics to APM due to no `Server-Timing` header support in upstream)
11+
- Redis Dashboard
12+
- Kafka Dashboard (Partial)
13+
- PostgreSQL Dashboard (Partial)
14+
15+
## Missing features
16+
17+
- Code Profiling
18+
- RUM
19+
20+
## Splunk OpenTelemety Collector Configuration
21+
22+
The following configuration can be applied to a standard O11y workshop instance (EC2 or multipass).
23+
24+
**otel-demo-collector.yaml**
25+
26+
https://github.com/splunk/observability-workshop/blob/f5521963d9c4bb4a63745013f133c23db1b8ae2a/oteldemo/otel-demo-collector.yaml#L1-L82
27+
28+
### Deploy the OTel Collector via Helm chart
29+
30+
``` bash
31+
helm repo add splunk-otel-collector-chart https://signalfx.github.io/splunk-otel-collector-chart && helm repo update
32+
```
33+
34+
``` text
35+
helm install splunk-otel-collector \
36+
--set="splunkObservability.realm=$REALM" \
37+
--set="splunkObservability.accessToken=$ACCESS_TOKEN" \
38+
--set="clusterName=$(hostname)-k3s-cluster" \
39+
--set="splunkObservability.logsEnabled=true" \
40+
--set="logsEngine=otel" \
41+
--set="splunkObservability.profilingEnabled=true" \
42+
--set="splunkObservability.infrastructureMonitoringEventsEnabled=true" \
43+
--set="networkExplorer.enabled=true" \
44+
--set="networkExplorer.podSecurityPolicy.enabled=false" \
45+
--set="agent.enabled=true" \
46+
--set="gateway.replicaCount=1" \
47+
--set="gateway.resources.limits.cpu=500m" \
48+
--set="gateway.resources.limits.memory=1Gi" \
49+
--set="clusterReceiver.enabled=true" \
50+
--set="environment=$(hostname)-apm-env" \
51+
splunk-otel-collector-chart/splunk-otel-collector \
52+
-f otel-demo-collector.yaml
53+
```
54+
55+
## OpenTelemetry Astronomy Shop configuration
56+
57+
Create `otel-demo.yaml`, this will be applied to the Helm chart and changes the default behaviour of a default install:
58+
59+
- Set `OTEL_COLLECTOR_NAME` to the host IP Address for Metrics, Traces and Logs
60+
- Configure a load balancer for the `frontendProxy` server
61+
- Customise Kafka configuration to expose metrics via JMX on port 5555
62+
- Disable native OTel Collector, Jaeger, Prometheus & Grafana
63+
64+
**otel-demo.yaml**
65+
66+
https://github.com/splunk/observability-workshop/blob/a1e291e5d511a85c71f7d795945aea22059668d7/oteldemo/otel-demo.yaml#L1-L51
67+
68+
### Deploy the OpenTelemetry Astronomy Shop
69+
70+
``` text
71+
helm repo add open-telemetry https://open-telemetry.github.io/opentelemetry-helm-charts
72+
```
73+
74+
``` text
75+
helm install my-otel-demo open-telemetry/opentelemetry-demo --values otel-demo.yaml
76+
```
77+
78+
## OpenTelemetry Receivers
79+
80+
**OpenTelemetry Redis receiver configuration**
81+
82+
At the time of writing there are no OOTB dashboards for OpenTelemetry receivers. You can still use these receivers and build out custom dashboards using the existing SmartAgent OOTB dashboards as templates. You can import `dashboard_REDIS INSTANCES (OTEL).json` as an example.
83+
84+
``` yaml
85+
redis:
86+
rule: type == "pod" && name matches "redis"
87+
config:
88+
endpoint: '`endpoint`:6379'
89+
```
90+

0 commit comments

Comments
 (0)