AKS应用Dynatrace服务流图无法正常工作问题咨询
解决AKS中Dynatrace Classic FullStack部署无服务追踪数据的问题
你当前通过Dynatrace Operator的classicFullStack模式完成AKS监控部署后,仅能获取节点、进程和工作负载数据,但无法查看服务流图、调用链等追踪信息,可从以下几个方面排查修复:
1. 修正DynaKube配置的语法错误
你的配置中oneAgent:g是明显笔误,会导致Operator无法正确解析OneAgent的配置项,直接影响功能启用。修正后的核心配置片段如下:
apiVersion: dynatrace.com/v1beta1 kind: DynaKube metadata: name: myaks namespace: dynatrace spec: tokens: mytoken skipCertCheck: false networkZone: azurezone oneAgent: classicFullStack: image: "" tolerations: - effect: NoSchedule key: node-role.kubernetes.io/master operator: Exists - effect: NoSchedule key: node-role.kubernetes.io/control-plane operator: Exists # 保持ActiveGate原有配置不变 activeGate: capabilities: - routing - kubernetes-monitoring - dynatrace-api image: "" resources: requests: cpu: 500m memory: 512Mi limits: cpu: 1000m memory: 1.5Gi
2. 确保OneAgent具备容器访问权限
Classic FullStack模式的OneAgent以DaemonSet运行在节点上,需要访问容器运行时(如AKS默认的containerd)来检测和注入应用容器:
- 检查OneAgent Pod的
securityContext,确认它拥有privileged: true或足够的权限挂载节点文件系统(Operator默认会配置,但可通过kubectl describe pod <oneagent-pod-name> -n dynatrace验证)。
3. 确认应用满足自动注入条件
服务追踪依赖OneAgent对应用的自动Instrumentation,需满足:
- 应用属于Dynatrace支持的技术栈:Java、.NET Core/Framework、Node.js、Python、Go(需额外配置)、PHP等。
- 应用容器未配置阻止注入的限制:比如未设置
readOnlyRootFilesystem: true(若设置需挂载/tmp等临时目录供OneAgent注入),未禁用PID namespace共享等。
4. 显式启用服务追踪相关特性
若上述条件都满足,可在DynaKube的oneAgent字段下添加特性配置,确保追踪功能开启:
oneAgent: classicFullStack: # ... 现有配置 features: autoInstrumentation: true kubernetesMonitoring: true processMonitoring: true
5. 验证部署与功能状态
- 检查DynaKube状态:执行
kubectl describe dynakube myaks -n dynatrace,确认所有组件(OneAgent DaemonSet、ActiveGate)处于Running状态,无配置错误。 - 查看OneAgent日志:执行
kubectl logs -l dynatrace.com/oneagent=classic-full-stack -n dynatrace,排查是否存在应用注入失败、权限不足等错误信息。 - 在Dynatrace控制台,先进入Kubernetes页面确认工作负载已被发现,再切换到Services页面查看是否生成服务追踪数据。
内容的提问来源于stack exchange,提问作者Vowneee
相关产品推荐
相关产品推荐

