Skip to content

Commit 2e0432e

Browse files
Add observability configs to 0.5.x
1 parent 310531f commit 2e0432e

File tree

2 files changed

+117
-1
lines changed

2 files changed

+117
-1
lines changed

versioned_docs/version-v0.5.x/getting-started/multi-cluster.mdx

Lines changed: 88 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -275,6 +275,51 @@ Verify that all pods are ready:
275275
kubectl wait --for=condition=Ready pod --all -n openchoreo-observability-plane --timeout=600s --context k3d-openchoreo-op
276276
```
277277

278+
#### Configure Cross-Cluster Observability
279+
280+
Configure the build plane and data plane to send logs to the observability plane. The host and port should be accessible from the data/build plane clusters:
281+
282+
<CodeBlock language="bash">
283+
{`# Configure Build Plane FluentBit
284+
helm upgrade build-plane oci://ghcr.io/openchoreo/helm-charts/openchoreo-build-plane \\
285+
--version ${versions.helmChart} \\
286+
--namespace openchoreo-build-plane \\
287+
--set fluentBit.config.opensearch.host="openchoreo-op-control-plane" \\
288+
--set fluentBit.config.opensearch.port=30920 \\
289+
--kube-context kind-openchoreo-bp \\
290+
--set fluentBit.enabled=true \\
291+
--set global.defaultResources.registry.local.pushEndpoint="openchoreo-dp-control-plane:30003" \\
292+
--set global.defaultResources.registry.local.pullEndpoint="localhost:30003"`}
293+
</CodeBlock>
294+
295+
<CodeBlock language="bash">
296+
{`# Configure Data Plane FluentBit
297+
helm upgrade data-plane oci://ghcr.io/openchoreo/helm-charts/openchoreo-data-plane \\
298+
--version ${versions.helmChart} \\
299+
--namespace openchoreo-data-plane \\
300+
--set fluentBit.config.opensearch.host="openchoreo-op-control-plane" \\
301+
--set fluentBit.config.opensearch.port=30920 \\
302+
--set cert-manager.enabled=false \\
303+
--set cert-manager.crds.enabled=false \\
304+
--kube-context kind-openchoreo-dp`}
305+
</CodeBlock>
306+
307+
**Important Security Note**: The observability plane collects data from outside clusters without encryption in this setup. For production environments, we recommend implementing proper TLS encryption and network security measures.
308+
309+
After updating the FluentBit configuration, restart the FluentBit pods to apply the new settings:
310+
311+
```bash
312+
# Restart FluentBit pods in Build Plane
313+
kubectl rollout restart daemonset/fluent-bit -n openchoreo-build-plane --context kind-openchoreo-bp
314+
315+
# Restart FluentBit pods in Data Plane
316+
kubectl rollout restart daemonset/fluent-bit -n openchoreo-data-plane --context kind-openchoreo-dp
317+
318+
# Verify FluentBit pods are running
319+
kubectl get pods -n openchoreo-build-plane --context kind-openchoreo-bp | grep fluent
320+
kubectl get pods -n openchoreo-data-plane --context kind-openchoreo-dp | grep fluent
321+
```
322+
278323
Verify FluentBit is sending logs to OpenSearch:
279324

280325
```bash
@@ -287,6 +332,49 @@ kubectl exec -n openchoreo-observability-plane opensearch-master-0 --context k3d
287332

288333
If the indices exist and the count is greater than 0, FluentBit is successfully collecting and storing logs.
289334

335+
#### Configure Observer Integration
336+
337+
Configure the DataPlane and BuildPlane to use the observer service. For multi-cluster setup, we need to expose the observer service via NodePort for cross-cluster communication.
338+
339+
First, expose the observer service with a NodePort:
340+
341+
```bash
342+
# Patch the observer service to use NodePort
343+
kubectl patch svc observer -n openchoreo-observability-plane --type='json' \
344+
-p='[{"op": "replace", "path": "/spec/type", "value": "NodePort"}, {"op": "add", "path": "/spec/ports/0/nodePort", "value": 30880}]' \
345+
--context kind-openchoreo-op
346+
```
347+
348+
Then configure the DataPlane and BuildPlane to use the observer service via NodePort:
349+
350+
```bash
351+
# Configure DataPlane to use observer service via NodePort
352+
kubectl patch dataplane default -n default --type merge \
353+
-p '{"spec":{"observer":{"url":"http://openchoreo-op-control-plane:30880","authentication":{"basicAuth":{"username":"dummy","password":"dummy"}}}}}' \
354+
--context kind-openchoreo-cp
355+
356+
# Configure BuildPlane to use observer service via NodePort
357+
kubectl patch buildplane default -n default --type merge \
358+
-p '{"spec":{"observer":{"url":"http://openchoreo-op-control-plane:30880","authentication":{"basicAuth":{"username":"dummy","password":"dummy"}}}}}' \
359+
--context kind-openchoreo-cp
360+
```
361+
362+
This configuration enables:
363+
- Application logs to appear in Backstage portal
364+
- Enhanced logging and monitoring across build and data planes
365+
- Integration with the observability plane for comprehensive platform monitoring
366+
- Centralized log publishing and access through the observer service
367+
368+
Verify the observer configuration:
369+
370+
```bash
371+
# Check DataPlane observer config
372+
kubectl get dataplane default -n default -o jsonpath='{.spec.observer}' --context kind-openchoreo-cp | jq '.'
373+
374+
# Check BuildPlane observer config
375+
kubectl get buildplane default -n default -o jsonpath='{.spec.observer}' --context kind-openchoreo-cp | jq '.'
376+
```
377+
290378
## Verification
291379

292380
### Switch to Control Plane Context

versioned_docs/version-v0.5.x/getting-started/single-cluster.mdx

Lines changed: 29 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ If you're using **Colima**, set the `K3D_FIX_DNS=0` environment variable when cr
5050

5151
## Quick Setup
5252

53-
This setup uses pre-built images and Helm charts from the OpenChoreo registry.
53+
This setup uses pre-built images and Helm charts from the OpenChoreo registry.
5454

5555

5656
### 1. Create OpenChoreo k3d Cluster
@@ -236,6 +236,34 @@ kubectl exec -n openchoreo-observability-plane opensearch-master-0 -- curl -s "h
236236

237237
If the indices exist and the count is greater than 0, FluentBit is successfully collecting and storing logs.
238238

239+
#### Configure Observer Integration
240+
Configure the DataPlane and BuildPlane to use the observer service.
241+
242+
```bash
243+
# Configure DataPlane to use observer service
244+
kubectl patch dataplane default -n default --type merge -p '{"spec":{"observer":{"url":"http://observer.openchoreo-observability-plane:8080","authentication":{"basicAuth":{"username":"dummy","password":"dummy"}}}}}'
245+
246+
# Configure BuildPlane to use observer service
247+
kubectl patch buildplane default -n default --type merge -p '{"spec":{"observer":{"url":"http://observer.openchoreo-observability-plane:8080","authentication":{"basicAuth":{"username":"dummy","password":"dummy"}}}}}'
248+
```
249+
250+
**Important**: Without this configuration, build logs will not be pushed to the observability plane and application logs will not be visible in the Backstage portal, significantly impacting the developer experience.
251+
252+
This configuration enables:
253+
- Application logs to appear in Backstage portal
254+
- Enhanced logging and monitoring across build and data planes
255+
- Integration with the observability plane for comprehensive platform monitoring
256+
- Centralized log publishing and access through the observer service
257+
258+
Verify the observer configuration:
259+
260+
```bash
261+
# Check DataPlane observer config
262+
kubectl get dataplane default -n default -o jsonpath='{.spec.observer}' | jq '.'
263+
264+
# Check BuildPlane observer config
265+
kubectl get buildplane default -n default -o jsonpath='{.spec.observer}' | jq '.'
266+
```
239267
### 7. Verify OpenChoreo Installation
240268

241269
#### Check that default OpenChoreo resources were created:

0 commit comments

Comments
 (0)