跳到主要内容

四层监控

四层转发实时与排行监控。

📄️查询四层访问日志

按时间范围查询 Elasticsearch stream_access 索引中的四层会话结束日志,默认按 time 倒序分页。支持按四层转发、国家、省份、城市和运营商精确筛选。传入 stream_id 时会校验转发存在性、普通用户归属和监听端口归属,并按日志 stream_id 精确隔离;未传时保持原有查询范围。普通用户始终只查询自身 uid 的日志,传入 uid、upid 或 node_id 不会改变其数据范围;管理员可查看全部日志,并按用户、套餐或节点筛选。单页最多 100 条,仅支持检索匹配结果的前 1000 条。stream_id 与地理信息仅由 6.1.0 及以后新产生的日志写入,不回填历史日志,因此携带 stream_id 的查询不会返回缺少该字段的旧日志;响应会将缺失或空的国家、省份、城市、运营商归一化为连字符,将历史日志中的 Nginx 十六进制转义地理文本解码为 UTF-8,将缺失或无效的经纬度归一化为 0,并将历史索引中可能为字符串的收发字节数和会话时长归一化为数值。

📄️查询四层实时连接

查询指定四层转发当前活动的 TCP、UDP 会话。主控并发查询已部署的在线物理节点,整体等待不超过 2 秒,并对相同查询缓存 30 秒;sampled_at 表示快照采样时间。默认 clients 视图按客户端 IP 汇总,sessions 视图用于查询某一客户端 IP 的会话明细,并返回处理会话的节点 IP。部分节点失败或连接跟踪空间不足时仍返回可用数据,并通过 complete、failed_nodes 和 untracked_connections 标识完整性。普通用户只能查询自己的转发;失败节点的内部 IP 和原始错误仍仅管理员可见。

📄️查询四层转发实时指标时间序列

在指定时间范围内聚合四层转发的周期增量流量。活跃长连接无需断开,每 60 秒也会产生增量记录;会话结束或 worker 正常退出时会补齐尾差。可用 stream_id 精确限定一条四层转发;普通用户只能查询自己的转发,管理员可查询任意转发。stream_id 与 port 同时提供时,全部端口必须属于该转发。未传 stream_id 时保持原有按用户和监听端口筛选的行为。type、start、end 均必填,时间跨度不得超过 48 小时,并按 1、2 或 5 分钟分桶返回出站和入站两组序列。stream-bandwidth 分别为查询桶内 bytes_sent、bytes_received 总和除以桶秒数,stream-traffic 分别为这两个字段的桶内总和。

📄️查询四层数据分析

在最近 10、30、60 分钟或最长 90 分钟的自定义时间内,按监听端口、客户端 IP、国家、省份、城市或运营商聚合四层转发数据。支持按新建连接数、出站流量或入站流量升降序排序,默认按出站流量降序,并在排序后返回系统配置 res_rank_size 限制的结果;活跃连接数仅展示,不支持作为排序指标。活跃连接数先汇总同一分钟内所有节点和 worker 的采样值,再取窗口内峰值;新建连接数、出站流量和入站流量为窗口内求和。可用 stream_id 精确限定一条四层转发,并可同时使用 port 和 addr 继续筛选;stream_id 与 port 同时提供时,端口必须属于该转发。普通用户只能查询自己的转发和数据,管理员可查询全部。端口维度可包含升级前的历史数据,客户端 IP 与地域维度只包含支持这些字段的 agent 升级后产生的数据。排序使用 Elasticsearch terms 聚合;时间窗口跨越多个 rollover 索引时,子聚合排序可能存在 Elasticsearch 固有的近似误差。