Observability Dashboards for Workbench Components¶
This document explains how to enable Grafana dashboards for various components in the Workbench, allowing you to monitor key metrics. The components covered include:
- Jenkins
- ArgoCD
- Argo Rollouts
- KubeVela
By default, metric collection is not enabled for these components and needs to be turned on manually. The methods for each component are described below.
Jenkins¶
Note
Jenkins version must be >= v0.4.7
You can enable metrics by updating the Helm chart parameters. Follow these steps:
- Go to Container Management , click Clusters, and find the cluster where Jenkins is deployed.
- Click Helm Apps , locate Jenkins in its namespace, and click Update
-
Choose to update via YAML, and modify the following fields:
-
Click Save , and wait for about 3 minutes.
- Go to Observability -> Dashboards, and search for the keyword
jenkins
to open the dashboard.
ArgoCD¶
ArgoCD metrics can also be enabled by updating Helm parameters. The update steps are the same as described in Jenkins setup. Search for argocd
in the dashboards. Modify the following YAML:
argo-cd:
controller:
metrics:
enabled: true
serviceMonitor:
enabled: true
additionalLabels:
operator.insight.io/managed-by: insight
dex:
metrics:
enabled: true
serviceMonitor:
enabled: true
additionalLabels:
operator.insight.io/managed-by: insight
redis:
metrics:
enabled: true
serviceMonitor:
enabled: true
additionalLabels:
operator.insight.io/managed-by: insight
server:
metrics:
enabled: true
serviceMonitor:
enabled: true
additionalLabels:
operator.insight.io/managed-by: insight
repoServer:
metrics:
enabled: true
serviceMonitor:
enabled: true
additionalLabels:
operator.insight.io/managed-by: insight
notifications:
metrics:
enabled: true
serviceMonitor:
enabled: true
additionalLabels:
operator.insight.io/managed-by: insight
applicationSet:
metrics:
enabled: true
serviceMonitor:
enabled: true
additionalLabels:
operator.insight.io/managed-by: insight
Argo Rollouts¶
Argo Rollouts metrics can be enabled similarly by updating Helm parameters, following the same steps as in Jenkins setup. Search with the keyword argo-rollouts
. Modify the following YAML:
argo-rollouts:
controller:
metrics:
enabled: true
serviceMonitor:
enabled: true
additionalLabels:
operator.insight.io/managed-by: insight
KubeVela¶
KubeVela does not support enabling metrics via Helm parameters. You will need to manually deploy the following resources:
-
Deploy the Service:
apiVersion: v1 kind: Service metadata: name: kubevela-controller-service namespace: < your kubevela namespace > # Replace with your namespace labels: component: kubevela-controller spec: ports: - name: http protocol: TCP port: 9443 targetPort: 9443 - name: metrics protocol: TCP port: 8080 targetPort: 8080 selector: < kubevela core pod label selector> # Replace with the actual selector
-
Deploy the ServiceMonitor:
apiVersion: monitoring.coreos.com/v1 kind: ServiceMonitor metadata: name: amamba-kubevela namespace: < your kubevela namespace > # Replace with your namespace labels: operator.insight.io/managed-by: insight spec: endpoints: - honorLabels: true interval: 10s path: /metrics port: metrics scheme: http namespaceSelector: matchNames: - < your kubevela namespace > # Replace with your namespace selector: matchLabels: component: kubevela-controller
Note
Make sure to replace the placeholders with your actual namespace and label selectors.
The method to open the dashboards is the same as for Jenkins, ArgoCD, and other components.