DeepFlow Agent注册失败、协议解析、资源识别与配置方式如何排查?

摘要:目录 1. 前言 2. 部署问题排查 3. 通用排查案例 4. 其余常见问题 1. 前言 1.1 适用范围 本文档适用于 DeepFlow Agent v6.6 及以上版本。 1.2 运行权限及内核要求 确保环境满足运行权限及内核要求。 1
目录 1. 前言 2. 部署问题排查 3. 通用排查案例 4. 其余常见问题 1. 前言 1.1 适用范围 本文档适用于 DeepFlow Agent v6.6 及以上版本。 1.2 运行权限及内核要求 确保环境满足运行权限及内核要求。 1.3 排查前检查 检查项 要求 版本 Agent/Server 为 LTS 版本,且 Agent ≤ Server 版本 部署方式 主机进程部署 或 K8s Pod 部署 工具 已安装与 Server 同版本的 deepflow-ctl 等待时间 Agent 部署后等待 5 分钟以上再排查(初始化需要时间) 网段 Agent IP 在 Server 的 local_ip_ranges 网段内 2. 部署问题排查 2.1 主机进程部署 主机进程部署通过 deepflow-agent 二进制直接运行在主机上,默认使用 38086 端口。 Agent 注册失败排查 按以下顺序检查: 检查 Domain 与 Agent Group Config 配置 检查 Server 网段配置 检查主机名是否重名 检查是否通过 LB 连接 Server 2.1.1 检查 Domain 与 Agent Group Config 配置 主机进程部署需要完成两个步骤: 创建 Host Domain(类型为 agent_sync) 创建 Agent Group Config(采集器组配置) 这两个步骤缺一不可。agent_sync 类型 Domain 只能创建一个,多了会导致注册异常。 排查步骤: 检查 Host Domain 是否已创建: # 确认列表中存在类型为 agent_sync 的 Domain deepflow-ctl domain list 检查 Agent Group Config 是否已创建: deepflow-ctl agent-group-config list 解决方案: 如果缺少 Host Domain: unset DOMAIN_NAME DOMAIN_NAME="legacy-host" # 自定义 domain 名称 cat << EOF | deepflow-ctl domain create -f - name: $DOMAIN_NAME type: agent_sync EOF Domain 用于让 deepflow-agent 以自同步方式将服务器网络信息发送至 deepflow-server,类似于监控 K8s 集群时创建 K8s Domain。 如果缺少 Agent Group Config,通过 deepflow-ctl 创建: inputs: resources: workload_resource_sync_enabled: true 采集器组配置用于在无法通过云平台 API 同步资源的场景下,同步物理服务器或虚拟机的资源信息。 注意事项: Domain 只需创建一个,创建多个会导致 Agent 注册异常 两步操作缺一不可 2.1.2 检查 Server 网段配置 DeepFlow Server 通过 local_ip_ranges 配置识别局域网网段。如果 Agent 的 IP 不在该配置范围内,会导致: Agent 无法正常注册 某些 IP 在 metrics 中被聚合为 0.0.0.0(广域网 IP) 排查步骤: 获取 Agent 的 IP 地址 检查 Server 配置中的 local_ip_ranges: # kubectl edit cm -n deepflow deepflow # 默认配置: local_ip_ranges: - 10.0.0.0/8 - 172.16.0.0/12 - 192.168.0.0/16 - 169.254.0.0/15 - 224.0.0.0-240.255.255.255 确认 Agent IP 是否在配置的网段范围内。 解决方案: 更新 Server 配置,将 Agent 所在网段添加到 local_ip_ranges: 更新 Server 配置文档 关于 0.0.0.0 广域网 IP 在 DeepFlow 中,0.0.0.0 代表广域网 IP。
阅读全文