RousselTMLEARNING

Observabilité

Dynatrace Operator sur Kubernetes : DynaKube, modes de supervision et dépannage

Superviser Kubernetes avec le Dynatrace Operator : installation Helm, ressource DynaKube, modes cloudNativeFullStack, applicationMonitoring et hostMonitoring, ActiveGate de cluster, jetons et dépannage.

1. Architecture #

Un opérateur, une ressource.

Composants #

Composants déployés par le Dynatrace Operator
ModePrincipeQuand
cloudNativeFullStackOneAgent en DaemonSet pour l'hôte + injection dans les pods par webhookRecommandé : visibilité complète
applicationMonitoringInjection dans les pods seulement, sans agent d'hôteClusters gérés sans accès privilégié aux nœuds, ou supervision ciblée
hostMonitoringSupervision des nœuds seulementInfrastructure sans traces applicatives
classicFullStackAncien mode DaemonSet completExistant, à migrer

2. Installer #

Helm et DynaKube.

Installation #

helm install dynatrace-operator oci://public.ecr.aws/dynatrace/dynatrace-operator \
  --create-namespace --namespace dynatrace --atomic

kubectl -n dynatrace create secret generic dynakube \
  --from-literal=apiToken="$DT_OPERATOR_TOKEN" --from-literal=dataIngestToken="$DT_INGEST_TOKEN"
apiVersion: dynatrace.com/v1beta3
kind: DynaKube
metadata:
  name: dynakube
  namespace: dynatrace
spec:
  apiUrl: https://<environnement>.live.dynatrace.com/api
  oneAgent:
    cloudNativeFullStack: {}
  activeGate:
    capabilities: [kubernetes-monitoring, routing]
    replicas: 2
À savoir : La version de l'API DynaKube (v1beta3, v1beta4...) dépend de la version de l'Operator : générez le manifeste depuis Deploy Dynatrace > Kubernetes pour partir d'un exemple à jour.

3. Dépanner #

Les bons réflexes.

Commandes #

kubectl -n dynatrace get dynakube           # état (Running, Error) et versions
kubectl -n dynatrace get pods
kubectl -n dynatrace exec deploy/dynatrace-operator -- dynatrace-operator troubleshoot
kubectl -n dynatrace exec deploy/dynatrace-operator -- dynatrace-operator support-archive --stdout > archive.zip
SymptômeCause fréquente
Pods non instrumentésNamespace exclu par namespaceSelector, pod démarré avant l'Operator (redémarrer le pod)
DynaKube en erreur de jetonJeton sans les permissions requises ou expiré
Nœuds sans OneAgentTaints non tolérées : ajouter les tolerations dans la DynaKube
Bonne Pratique : Excluez explicitement les namespaces système et ceux des autres outils d'instrumentation : deux injecteurs dans un même pod donnent des traces dupliquées ou des plantages au démarrage.

Articles liés

ActiveGate et network zones : architecture, routage et haute disponibilité

Comprendre et déployer ActiveGate dans Dynatrace : rôles (routage, API, intégrations cloud, extensions, empla…

OpenTelemetry et Dynatrace : OTLP, collecteur et instrumentation

Intégrer OpenTelemetry à Dynatrace : endpoint OTLP et jetons, Dynatrace OTel Collector, traces, métriques (te…

Logs avancés avec OpenPipeline : traitement, masquage, buckets et rétention

Gérer les logs dans Dynatrace avec OpenPipeline : ingestion, routage, traitement DQL (parsing, enrichissement…

Pour aller plus loin