Observabilidad
Campos de Estado
SUSE® Rancher Prime Continuous Delivery informa la mayor parte de la información a través de campos de estado en sus recursos personalizados. Estos campos también son utilizados por la interfaz de usuario de Rancher para mostrar información sobre el estado de los recursos.
Consulta referencia de campos de estado para más información sobre los campos de estado y condiciones.
Eventos de K8s
SUSE® Rancher Prime Continuous Delivery generará eventos de K8s a los que un usuario puede suscribirse. Esta es la lista de eventos:
-
Created- se crea un nuevo trabajo de clonación de git -
GotNewCommit- un repositorio de git tiene un nuevo commit -
JobDeleted- se elimina un trabajo de clonación de git exitoso -
FailedValidatingSecret- no se puede crear un trabajo de clonación de git, porque falta un secreto requerido -
FailedToApplyRestrictions- el recurso GitRepo viola las reglas del recurso GitRepoRestriction -
FailedToCheckCommit- no se puede obtener el último commit del servidor de git -
FailedToGetGitJob- no se puede recuperar información del trabajo de clonación de git -
Failed- el sondeo está deshabilitado, se activa a través de webhook, pero no se puede obtener el último commit del servidor de git
Métricas
SUSE® Rancher Prime Continuous Delivery publica métricas de Prometheus. Se pueden recuperar de estos servicios:
-
monitoring-fleet-controller.cattle-fleet-system.svc.cluster.local:8080/metrics -
monitoring-gitjob.cattle-fleet-system.svc.cluster.local:8081/metrics
La colección de métricas exportadas incluye toda la información de controller-runtime, como el número de recursos reconciliados, el número de errores y el tiempo que tomó reconciliar.
Grafana
Al usar Grafana y Prometheus (por ejemplo, desde https://github.com/prometheus-community/helm-charts), se necesita una configuración para acceder a SUSE® Rancher Prime Continuous Delivery métricas.
-
Crea un recurso
ServiceMonitorpara extraer métricas SUSE® Rancher Prime Continuous Delivery. A continuación se muestra un ejemplo:apiVersion: monitoring.coreos.com/v1 kind: ServiceMonitor metadata: # Create this in the same namespace as your application namespace: cattle-fleet-system name: fleet-controller-monitor labels: # This label makes the ServiceMonitor discoverable by the Prometheus Operator release: monitoring # <-- ADD THIS LABEL! spec: selector: matchLabels: # This label must exist on the service you want to scrape app: fleet-controller # Assumed label, verify this namespaceSelector: matchNames: # We are only looking for the service in its own namespace - cattle-fleet-system endpoints: - port: metrics path: /metrics interval: 30s --- apiVersion: monitoring.coreos.com/v1 kind: ServiceMonitor metadata: # Create this in the same namespace as your application namespace: cattle-fleet-system name: fleet-gitjob-monitor labels: # This label makes the ServiceMonitor discoverable by the Prometheus Operator release: monitoring # <-- ADD THIS LABEL! spec: selector: matchLabels: # This label must exist on the service you want to scrape app: gitjob namespaceSelector: matchNames: # We are only looking for the service in its own namespace - cattle-fleet-system endpoints: - port: metrics path: /metrics interval: 30sY aplica el manifiesto en el espacio de nombres de SUSE® Rancher Prime Continuous Delivery, por ejemplo en cattle-fleet-system:
kubectl create -f servicemonitor.yaml -n cattle-fleet-system -
Construye los paneles de Grafana e impórtalos en Grafana. Puedes encontrar los paneles en el repositorio fleet-dashboards. Sigue las instrucciones del README para construirlos.