Observabilidade
Campos de Status
SUSE® Rancher Prime Continuous Delivery relata a maior parte das informações por meio de campos de status em seus recursos personalizados. Esses campos também são usados pela interface do Rancher para exibir informações sobre o estado dos recursos.
Veja referência de campos de status para mais informações sobre campos de status e condições.
Eventos do K8s
SUSE® Rancher Prime Continuous Delivery irá gerar eventos do K8s aos quais um usuário pode se inscrever. Esta é a lista de eventos:
-
Created- um novo trabalho de clonagem git é criado -
GotNewCommit- um repositório git tem um novo commit -
JobDeleted- um trabalho de clonagem git bem-sucedido é removido -
FailedValidatingSecret- um trabalho de clonagem git não pode ser criado, porque um segredo necessário está faltando -
FailedToApplyRestrictions- o recurso GitRepo viola as regras do recurso GitRepoRestriction -
FailedToCheckCommit- não é possível obter o último commit do servidor git -
FailedToGetGitJob- não é possível recuperar informações do trabalho de clonagem git -
Failed- a verificação periódica está desativada, acionada via webhook, mas não é possível obter o último commit do servidor git
Métricas
SUSE® Rancher Prime Continuous Delivery publica métricas do Prometheus. Elas podem ser recuperadas desses serviços:
-
monitoring-fleet-controller.cattle-fleet-system.svc.cluster.local:8080/metrics -
monitoring-gitjob.cattle-fleet-system.svc.cluster.local:8081/metrics
A coleção de métricas exportadas inclui todas as informações do controller-runtime, como o número de recursos reconciliados, o número de erros e o tempo que levou para reconciliar.
Grafana
Ao usar Grafana e Prometheus (por exemplo, a partir de https://github.com/prometheus-community/helm-charts),), é necessária alguma configuração para acessar SUSE® Rancher Prime Continuous Delivery métricas.
-
Crie um recurso
ServiceMonitorpara coletar métricas SUSE® Rancher Prime Continuous Delivery. Veja um exemplo: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: 30sE aplique o manifesto no namespace de SUSE® Rancher Prime Continuous Delivery, por exemplo, em cattle-fleet-system:
kubectl create -f servicemonitor.yaml -n cattle-fleet-system -
Construa os painéis do Grafana e importe-os para o Grafana. Você pode encontrar os painéis no repositório fleet-dashboards. Siga as instruções do README para construí-los.