Skip to content

Commit 51385d0

Browse files
committed
chore(doc): promote Camel Dashboard
1 parent 0c19dfb commit 51385d0

File tree

9 files changed

+116
-116
lines changed

9 files changed

+116
-116
lines changed

.github/actions/build/action.yml

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -73,13 +73,13 @@ runs:
7373
if: github.event_name == 'pull_request'
7474
shell: bash
7575
run: |
76-
COVERAGE_OPTS="-covermode=count -coverprofile=coverage.out -coverpkg=./..." make build
76+
COVERAGE_OPTS="-covermode=count -coverprofile=oldcoverage.out -coverpkg=./..." make build
7777
# Remove mock and generated code from account
78-
grep -v "github.com/apache/camel-k/v2/pkg/client" coverage.out \
78+
grep -v "github.com/apache/camel-k/v2/pkg/client" oldcoverage.out \
7979
| grep -v "zz_generated" \
80-
| grep -v "github.com/apache/camel-k/v2/cmd/util" > coverage.mod.out
81-
go tool cover -func=coverage.mod.out -o=coverage.mod.out
82-
grep -o -P '(?<=\(statements\))(.+)(?=%)' coverage.mod.out | xargs > /tmp/${{ inputs.artifact-name }}/coverage_old
80+
| grep -v "github.com/apache/camel-k/v2/cmd/util" > oldcoverage.mod.out
81+
go tool cover -func=oldcoverage.mod.out -o=oldcoverage.mod.out
82+
grep -o -P '(?<=\(statements\))(.+)(?=%)' oldcoverage.mod.out | xargs > /tmp/${{ inputs.artifact-name }}/coverage_old
8383
8484
- uses: actions/upload-artifact@v4
8585
if: github.event_name == 'pull_request'

docs/antora.yml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,6 @@
1515
# limitations under the License.
1616
#
1717

18-
# Another part of this distributed component is in camel-k-runtime docs
1918
name: camel-k
2019
title: Camel K
2120
version: next

docs/modules/ROOT/nav.adoc

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -91,13 +91,12 @@
9191
** xref:scaling/integration.adoc[Integrations]
9292
** xref:scaling/pipe.adoc[Pipes]
9393
* Observability
94-
** xref:observability/logging.adoc[Logging]
95-
*** xref:observability/logging/operator.adoc[Operator]
96-
*** xref:observability/logging/integration.adoc[Integration]
94+
** xref:observability/dashboard.adoc[Camel Dashboard]
95+
*** xref:observability/operator-logging.adoc[Operator logging]
9796
** xref:observability/monitoring.adoc[Monitoring]
9897
*** xref:observability/monitoring/operator.adoc[Operator]
9998
*** xref:observability/monitoring/integration.adoc[Integration]
100-
*** xref:observability/monitoring/operator-sops.adoc[Standard Operating Procedures]
99+
*** xref:observability/monitoring/operator-sops.adoc[S.O.P.s]
101100
* xref:troubleshooting/troubleshooting.adoc[Troubleshooting]
102101
** xref:troubleshooting/debugging.adoc[Debugging]
103102
* xref:architecture/architecture.adoc[Architecture]
Lines changed: 104 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,104 @@
1+
= Camel Dashboard
2+
3+
https://camel-tooling.github.io/camel-dashboard/[Camel Dashboard] is a Kubernetes operator that you can use to monitor your fleet of Camel applications deployed in the cloud. Whether you use Camel K to deploy or not, the Dashboard is a great tool that you can use to monitor your Camel fleet.
4+
5+
NOTE: the project is in developer preview mode.
6+
7+
The Camel Dashboard was originally born as a spin off from Camel K Synthetic Integrations features and matured into a brand new operator whose goal is to provide a meaningful set of information about typical KPIs of your fleet of Camel workloads running on the cloud.
8+
9+
From Camel K version 2.10.0 onward, the applications deployed by the operator will be automatically instructed with the labels required by the Dashboard to discover and monitor. This is controlled via a Kubernetes label injected to the Deployments (or CronJob or KnativeService) configured on the operator side with the environment variable `CAMEL_DASHBOARD_APP_LABEL` (set by default to `camel.apache.org/app`).
10+
11+
On the Camel Dashboard side, any application containing the label will be watched and monitored providing a set of useful Camel metrics (for example, health, number of exchanges succeeded, failed, ...).
12+
13+
You will need to include the `camel-observability-services` component into your application in order to get the full power of this monitoring tool. As an example:
14+
15+
```yaml
16+
apiVersion: camel.apache.org/v1
17+
kind: Integration
18+
metadata:
19+
name: sample-it
20+
spec:
21+
dependencies:
22+
- mvn:org.apache.camel.quarkus:camel-quarkus-observability-services
23+
flows:
24+
- route:
25+
id: send-5-messages
26+
from:
27+
uri: "timer:tick?repeatCount=5"
28+
steps:
29+
- setBody:
30+
simple: "Hello!"
31+
- to: "log:myLogger"
32+
traits:
33+
# We need a provide any version supporting camel-observability-services
34+
camel:
35+
runtimeProvider: plain-quarkus
36+
runtimeVersion: 3.30.8
37+
```
38+
39+
The information will be stored in a Custom Resource provided by the Camel Dashboard installation procedure: `CamelApp`. Here a basic example:
40+
41+
```bash
42+
$ kubectl get camelapp -w
43+
44+
NAME IMAGE PHASE REPLICAS HEALTHY MONITORED INFO EXCHANGE SLI LAST EXCHANGE
45+
camel-sample 10.104.35.69/camel-k/camel-k-kit-d67egl6snmec... Running 1 True True Quarkus - 3.30.8 (4.16.0) 4m3s
46+
```
47+
48+
More in detail, the specific info are stored in the custom resource status:
49+
50+
```bash
51+
$ kubectl get camelapp -o yaml
52+
apiVersion: v1
53+
items:
54+
- apiVersion: camel.apache.org/v1alpha1
55+
kind: CamelApp
56+
metadata:
57+
annotations:
58+
camel.apache.org/imported-from-kind: Deployment
59+
camel.apache.org/imported-from-name: sample-it
60+
...
61+
status:
62+
conditions:
63+
- lastTransitionTime: "2026-02-18T08:32:59Z"
64+
message: Success
65+
reason: MonitoringComplete
66+
status: "True"
67+
type: Monitored
68+
- lastTransitionTime: "2026-02-18T08:32:59Z"
69+
message: All pods are reported as healthy.
70+
reason: HealthCheckCompleted
71+
status: "True"
72+
type: Healthy
73+
image: 10.104.35.69/camel-k/camel-k-kit-d67egl6snmec73e6oqgg@sha256:0ba2fdcc091c62e2a121ebe795d59cb42e34af176b84398e40862bf2fb09c3d1
74+
info: Quarkus - 3.30.8 (4.16.0)
75+
phase: Running
76+
pods:
77+
- internalIp: 10.244.0.225
78+
name: sample-it-75c5fd6c6f-wfbc7
79+
observe:
80+
healthEndpoint: observe/health
81+
healthPort: 9876
82+
metricsEndpoint: observe/metrics
83+
metricsPort: 9876
84+
ready: true
85+
runtime:
86+
camelVersion: 4.16.0
87+
exchange:
88+
lastTimestamp: "2026-02-18T08:27:28Z"
89+
succeed: 5
90+
total: 5
91+
runtimeProvider: Quarkus
92+
runtimeVersion: 3.30.8
93+
status: UP
94+
status: Running
95+
uptimeTimestamp: "2026-02-18T08:26:57Z"
96+
replicas: 1
97+
sliExchangeSuccessRate:
98+
lastTimestamp: "2026-02-18T08:27:28Z"
99+
samplingInterval: 60000000000
100+
```
101+
102+
NOTE: Camel K won't require the availability of Camel Dashboard to work, neither Camel Dashboard would require Camel K, they are independent projects which can cooperate to provide a Build and Monitoring tool.
103+
104+
Learn more by reading the official https://camel-tooling.github.io/camel-dashboard/[Camel Dashboard documentation].

docs/modules/ROOT/pages/observability/logging.adoc

Lines changed: 0 additions & 7 deletions
This file was deleted.

docs/modules/ROOT/pages/observability/logging/integration.adoc

Lines changed: 0 additions & 48 deletions
This file was deleted.

docs/modules/ROOT/pages/observability/monitoring.adoc

Lines changed: 0 additions & 48 deletions
Original file line numberDiff line numberDiff line change
@@ -43,54 +43,6 @@ EOF
4343

4444
By default, the Prometheus instance discovers applications to be monitored in the same namespace. You can use the `podMonitorNamespaceSelector` field from the `Prometheus` resource to enable cross-namespace monitoring. You may also need to specify a ServiceAccount with the `serviceAccountName` field, that's bound to a Role with the necessary permissions.
4545

46-
[[openshift]]
47-
=== OpenShift
48-
49-
Starting OpenShift 4.3, the Prometheus Operator, that's already deployed as part of the monitoring stack, can be used to https://docs.openshift.com/container-platform/4.3/monitoring/monitoring-your-own-services.html[monitor application services].
50-
This needs to be enabled by following these instructions:
51-
52-
. Check whether the `cluster-monitoring-config` ConfigMap object exists in the `openshift-monitoring` project:
53-
54-
$ oc -n openshift-monitoring edit configmap cluster-monitoring-config
55-
56-
. If it does not exist, create it:
57-
58-
$ oc -n openshift-monitoring create configmap cluster-monitoring-config
59-
60-
. Start editing the cluster-monitoring-config ConfigMap:
61-
62-
$ oc -n openshift-monitoring edit configmap cluster-monitoring-config
63-
64-
. Set the `enableUserWorkload` setting to `true` under `data/config.yaml`:
65-
+
66-
[source,yaml]
67-
----
68-
apiVersion: v1
69-
kind: ConfigMap
70-
metadata:
71-
name: cluster-monitoring-config
72-
namespace: openshift-monitoring
73-
data:
74-
config.yaml: |
75-
enableUserWorkload: true
76-
----
77-
Note that, in OpenShift versions from 4.3 to 4.5, the configuration is as following:
78-
+
79-
[source,yaml]
80-
----
81-
apiVersion: v1
82-
kind: ConfigMap
83-
metadata:
84-
name: cluster-monitoring-config
85-
namespace: openshift-monitoring
86-
data:
87-
config.yaml: |
88-
techPreviewUserWorkload:
89-
enabled: true
90-
----
91-
92-
On OpenShift versions prior to 4.3, or if you do not want to change your cluster monitoring stack configuration, you can refer to the <<Kubernetes>> section in order to deploy a separate Prometheus Operator instance.
93-
9446
=== What's Next
9547

9648
- xref:observability/monitoring/operator.adoc[Camel K operator monitoring]

docs/modules/ROOT/pages/observability/monitoring/operator.adoc

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,9 +10,10 @@ You need to create the resources required to let Prometheus to interact with the
1010

1111
We have prepared a base configuration you can quickly apply executing:
1212

13-
```
14-
kubectl apply -k github.com/apache/camel-k/install/base/config/prometheus?ref=v2.4.0
15-
```
13+
[subs=attributes+]
14+
----
15+
kubectl apply -k github.com/apache/camel-k/install/base/config/prometheus?ref=v{last-released-version}
16+
----
1617

1718
NOTE: change the ref value with the installation version tag you want to install.
1819

docs/modules/ROOT/pages/observability/logging/operator.adoc renamed to docs/modules/ROOT/pages/observability/operator-logging.adoc

File renamed without changes.

0 commit comments

Comments
 (0)