观测流量
本页介绍「活动」分区(「活动」与「系统状态」)及「观测」分区(「连接」、「分流」、「DNS」、「日志」与「事件」)。每个页面依次说明显示的内容、可执行的操作,以及链接前往的位置。
活动
doona 默认打开「活动」页。部分卡片链接到存放详细数据的页面;「出站模式」与「全局模式出站」卡片则提供操作控件。
出站模式
- 在「出站模式」卡片选择「规则」、「直连」或「全局」。
- 选择「全局」时,在「全局模式出站」卡片选择一个策略组。选定策略组前,「应用」按钮不可用,卡片显示「全局模式须指定出站」。选择策略组也会同时选中「全局」。
- 点击「应用」。doona 将模式写入主配置并重载,完成后以提示消息显示新模式。只选择模式而不点击「应用」,不会更改任何设置。
卡片显示「只读」时,doona 无法写入主配置。点击「只读」可查看原因,处理方法见只读的配置文件。卡片显示「此后端不提供」时,表示后端没有提供此卡片可编辑的配置。
卡片
- 状态卡片显示引擎状态。有功能未开启时,点击功能数量链接(例如「2 项功能未开启」)可前往「系统状态」的「未开启的功能」。点击「查看详情」前往「系统状态」。
- 点击「下载」或「上传」卡片,前往「连接」的「流量」标签页。点击「活动连接」卡片,前往连接列表。
- 在「延迟」卡片的「节点」菜单选择节点。这只更改卡片显示的延迟,不会更改路由。点击延迟数值可在「节点」页打开该节点。
- 点击「CPU 使用率」数值前往「系统状态」。
- 在「流量」卡片选择「实时」、「10 分钟」、「1 小时」、「6 小时」、「24 小时」或「7 天」。
- 在「出站下载量」点击出站,打开按该出站筛选的「连接」。此图表统计标题旁所示时间以来的下载量,不表示当前的传输速率。
- 在「流量排行」切换「设备」与「域名」。点击设备会打开按该设备筛选的「连接」;点击域名会以该域名搜索「连接」。排行只涵盖可见连接;显示「已截断」表示连接列表不完整。
- 「内存」卡片显示进程内存的变化。卡片上的「查看详情」同样前往「系统状态」。
- 「通知与问题」列出近期通知,连续相同的通知合并为一行并标明次数。点击「查看全部」前往「事件」。
系统状态
从导航栏打开「系统状态」,或在「活动」页点击「查看详情」或「CPU 使用率」数值。页首显示引擎状态、「配置版本」、「运行时间」、「CPU 使用率」与「上次重载」。「配置版本」标识当前生效的配置修订,不是 generation 编号。
- 「引擎」显示引擎版本、「API」、「构建」、「实例」、「启动时间」与「配置生效」。标签显示后端的能力等级:「基本」或「完整可观测」。
- 「流量计数」显示「TCP 连接」、「UDP 连接」、「连接总数」、「上传」、「下载」与「速率统计间隔」。下方一行显示计数起始时间,以及计数涵盖「全部流量」或「可见流量」。
- 「内存」显示后端报告的「常驻内存」、cgroup 数值与「OOM 次数」。已知 cgroup 上限时,另显示「cgroup 使用率」进度条。
- 「数据路径」显示内核中 eBPF 程序、挂钩和映射表的检查结果,以及「挂载点」表格。数据路径错误与运行时降级以警告显示在卡片下方。
- 「后端能力」列出后端提供的功能。点击功能可前往使用该功能的页面。
- 只有部分功能未开启时才会显示「未开启的功能」。每行列出原因与受影响的功能。「开启方法」显示须添加的设置;「可能原因」说明原因;其他行链接到「设置」页的「后端选项」或「地理数据」,或链接到本指南。
- 点击「导出状态 JSON」下载后端报告的状态。「重载」、「暂停」与「恢复」只在后端允许时显示,每次操作的结果以提示消息显示。
连接
「连接」默认打开「流量」标签页。从筛选列表或选中连接的链接进入时,改为打开「连接」标签页。
流量标签页
- 「连接流量」以点表示每条连接:横轴为上传量,纵轴为下载量。点击数据点会在「连接」标签页打开该连接。
- 「节点延迟」按「节点」页显示的 TCP 延迟放置每个节点,并区分「使用中」与「未使用」的节点。
连接标签页
- 默认列为「目标」、「设备」、「节点」、「规则」、「状态」、「下载」、「下载速率」与「开始」。使用「列」菜单显示或隐藏列。点击可排序的列标题即可排序。
- 在「筛选」输入域名、IP、设备或进程。输入的文本也会匹配出站、链与规则。使用「网络协议」、「出站」或「选择」(设备或规则)缩小列表范围。在窄屏上,这些条件集中在「筛选条件」菜单。
- 使用「分组」选择「按设备」、「出站」或「不分组」。「全部展开」与「全部折叠」一次展开或折叠所有分组。「清除筛选」移除所有筛选条件。
- 列表被截断时会显示提示。显示「仅部分连接可见」或「无连接可见」时,列表为空不代表该设备没有连接。
- 点击「导出 CSV」下载筛选后的列表。
- 点击一行打开详情面板,其中显示状态、目标、设备、进程、观测来源、「出站」、「链」与「规则」。
- 面板的主要操作是「新建规则」。工具栏的「新建规则」对选中的行执行相同操作。对话框说明见新建规则。
- 「更多操作」视情况提供:
- 点击「全部关闭」并确认。只筛选设备与网络协议时,doona 会关闭所有匹配的连接,包括对话框打开后才建立的连接。使用其他筛选条件或列表被截断时,doona 会逐条关闭列表中的连接。内核直连的连接会被跳过,提示消息显示已关闭与跳过的数量。
分流
「分流」显示 honk 如何路由已记录的流程,包含「总览」与「记录」两个标签页。
总览
- 「连接拓扑」卡片绘出从规则或设备到出站与节点的路径,以及保留的流程数。可切换「按规则」与「按设备」。
- 点击图中的项目可固定其路径。
- 点击「查看此路径的 N 条流程」,打开按该路径筛选的「记录」。点击「清除路径筛选」取消固定。
记录
- 按「网络协议」(「全部」、「TCP」或「UDP」)与「状态」筛选。路径或连接筛选以标签显示(「路径:…」或「连接:…」),点击标签即可移除。部分流量未完整观测时,会显示「观测覆盖范围」。
- 列为「目标」、「节点」、「规则」、「协议」、「状态」与「开始」。
- 点击一条流程打开详情面板,其中显示追踪为「完整」或「不完整」、配置修订、「状态」、「出站」、「节点」、「规则」,追踪不完整时另显示「不完整原因」。下方按顺序列出追踪步骤。
- 点击「查看连接」打开仍存在的实时连接。点击「为此目标新建规则」打开规则对话框,说明见新建规则。
- 「记录设置」打开「设置」页的「后端选项」,流程记录在此设置,说明见后端选项。
DNS
「DNS」最多有四个标签页,依次为「统计」、「解析记录」、「缓存」与「查询」。只显示后端支持的标签页。
- 「统计」汇总最新一页解析记录:「中位数」、「P95」、「缓存命中率」与「失败率」,以及上游查询延迟、「响应结果」、「缓存状态」与「查询排行」。
- 「打开 DNS 配置」在「配置」页打开配置的
dns段落。 - 「查看缓存」打开「缓存」标签页。
- 在「查询排行」切换「设备」与「域名」。点击条目会打开按该条目筛选的「解析记录」。
- 「打开 DNS 配置」在「配置」页打开配置的
- 「解析记录」列出近期解析,列为「时间」、「域名」、「类型」、「设备」、「结果」、「上游」与「耗时」。
- 可按「域名」、「类型」或「设备」筛选。
- 点击一行可查看应答、缓存状态与路由。点击「新建规则」为该记录打开规则对话框。
- 「刷新」加载最新记录。有较新的记录等待加载时会显示提示;「刷新」会替换当前已加载的记录。
- 「加载较早记录」扩展列表。「导出 CSV」只涵盖已加载的记录。
- 「缓存」列出缓存条目,列为「域名」、「类型」、「状态」、「到期时间」与「过期后仍可用至」。
- 选中条目后点击「新建规则」,为该条目打开规则对话框。
- 后端支持时,「删除」移除单个条目。
- 后端支持时,「清除全部缓存」经确认后移除所有条目。此操作无法撤销。
- 「查询」通过 honk 的 DNS 路由发出 DNS 查询。
- 输入域名、选择「类型」,再点击「查询」。
- 结果显示「缓存命中」或「缓存未命中」、「状态」、「上游」、「路由来源」、「路由规则」、「耗时」与应答。
- 这类查询属于诊断用途,不会出现在「解析记录」。
- 「新建规则」为查询的域名或应答地址打开规则对话框。「查看缓存」打开匹配的缓存条目。
日志
「日志」显示引擎的实时日志流。
- 在「级别」选择要显示的最低严重程度。旁边的「引擎记录:…及以上」显示引擎实际记录的级别;低于此级别的选项会标明须先在「设置」页调低日志级别。
- 在「模块」输入模块前缀,按模块筛选。
- 「日志时间分布」按级别绘出已接收的记录。点击图中的级别,将其设为最低级别。
- 打开「暂停」可冻结列表。状态会显示已到达的新记录数,关闭「暂停」后这些记录才会出现。暂停期间只保留最新的记录。
- 「清空」移除此页已显示的记录。「导出」将已接收的记录下载为文本文件。
- 「记录设置」打开「设置」页的「后端选项」,日志记录与日志级别在此设置。
- 点击一行可查看完整消息。状态显示「流式接收中」、「重新连接中」或「已断开连接」。重新连接后会补回仍保留的记录;无法补回时,列表会标明缺失的位置。
列表显示「配置禁止日志记录」时,须修改 honk 配置,说明见配置。列表显示「请先在设置页开启日志记录」时,在「记录设置」开启日志记录。
事件
「事件」显示后端的事件流,新事件在前。
- 「种类」默认为「排除运行状态更新」。可改选「所有种类」,或后端提供的单一种类。
- 列表的列为「时间」、「种类」与「摘要」。工具栏显示连接状态、保留的事件数,以及可续传时的「可从上次位置续传」。
- 点击事件可查看完整摘要。「配置生效」事件提供「查看配置」链接。「流程记录丢失」事件提供「查看流程记录」与「记录设置」链接。
- 点击「导出 JSON」下载当前显示的事件。
页面重新连接后会补回仍保留的事件。若续传位置已失效,列表会以一行标明丢失的事件。