流日志

转发路由器(TR)流日志可捕获网络实例连接的流量信息,并支持投递到NIS流量分析器SLS日志服务进行分析,帮助您监控网络性能、排查网络故障或优化流量成本。

工作原理

TR流日志功能通过旁路方式捕获网络流量信息,对网络性能无影响。其工作流程如下:

  1. 流量捕获:在指定的资源(如VPC连接、跨地域连接或整个转发路由器实例)上,监控流经的IP流量。

  2. 数据聚合:在一个预设的捕获窗口(1分钟或10分钟)内,系统会根据流量的五元组(源/目的IP、源/目的端口、协议)对数据包信息进行聚合,累加其字节数和包数。

  3. 日志投递:捕获窗口结束后,聚合后的流量统计信息将作为一条日志记录,投递到您指定的NIS流量分析器,或SLS日志服务中。

  4. 分析与查询:在NISSLS控制台,查询或分析流日志。

    以投递到SLS为例,您可以了解各个网络实例连接的流量传输明细、分析未匹配到路由的流量、分析匹配到黑洞路由的流量。

image

选择投递目标

  • 选型建议:

    • 针对快速上手分析的场景,建议选择投递到NIS流量分析器

    • 针对自定义SQL查询、报表定制、原始日志查询等深度分析场景,建议选择投递到SLS日志服务

  • 两者区别:

    对比项

    NIS流量分析器

    SLS日志服务

    技术门槛

    低(操作简单,界面友好,上手快)

    高(需熟悉SQL查询语句

    灵活性

    有限,通过预置的界面分析

    高,可自定义SQL语句分析

    报表定制

    不支持

    支持对查询结果自定义统计图表

    成本

    较低,NIS产品会收取流日志处理费和存储费

    较高,SLS产品会收取写入和存储等费用

捕获方向

针对不同的资源,流量信息的捕获方向如下:

  1. 跨地域连接:仅支持采集从当前转发路由器流出的单向流量信息(direction 字段为 out)。若需采集双向流量信息,需在对端转发路由器上也针对跨地域连接开启流日志。

  2. VPC连接、VPN连接、ECR连接、VBR连接:均支持采集流入(direction字段为in)和流出(direction字段为out)转发路由器的双向流量信息。

  3. TR:采集在该 TR 上创建的所有网络实例连接的流量,具体捕获方向与上述规则一致。

字段说明

流日志会尽力帮您捕获流量信息。创建流日志后,如果日志中某些字段的值为空,可能原因包括:资源本身不支持该字段,或该字段在当前流量中无相关信息。

单击查看流日志字段说明

流日志版本为3的字段,从202411月之后开始支持。如果您的流日志没有对应字段,请删除当前流日志实例重新创建。

字段

说明

引入该字段的流日志版本

account-id

云企业网实例所属阿里云账号ID。

2

attachment-id

网络实例连接ID。

2

bytes

字节数。

2

cen-id

云企业网实例ID。

2

direction

流量的方向。

  • in:流量进入转发路由器的方向。

  • out:流量流出转发路由器的方向。

2

dscp

数据包携带的DSCP值。

在流日志捕获跨地域连接的流量时,该字段将记录流量标记策略修改过后的DSCP值。

3

dst-region-id

网络实例连接所属地域ID。

当捕获跨地域连接的流量时,该字段为目的转发路由器所属地域ID。

2

dstaddr

目的IP地址。

2

dstport

目的端口。

2

end

流日志捕获窗口结束的时间戳。

时间戳的格式采用Unix时间戳,表示从格林威治时间19700101000000秒至当前流日志捕获窗口结束时的总时长。

2

flowlog-resource-type

开启流日志的资源类型。取值:

  • TransitRouterAttachment:网络实例连接。

  • TransitRouter:转发路由器实例。

3

packets

数据包个数。

2

packets-lost-blackhole

因匹配到黑洞路由而被丢弃的数据包的数量。

3

packets-lost-mtu-exceeded

MTU过大而被丢弃的数据包的数量。

3

packets-lost-no-route

因未匹配到路由而被丢弃的数据包的数量。

3

packets-lost-ttl-expired

TTL超时而被丢弃的数据包的数量。

说明

出现该类数据包的原因通常是网络产生了环路。

3

protocol

数据包协议。

2

src-region-id

网络实例连接所属地域ID。

当捕获跨地域连接的流量时,该字段为源转发路由器所属地域ID。

2

srcaddr

源地址。

2

srcport

源端口。

2

start

流日志捕获窗口开始的时间戳。

时间戳的格式采用Unix时间戳,表示从格林威治时间19700101000000秒至当前流日志捕获窗口开始时的总时长。

2

tr-dst-az-id

目的转发路由器ENI所属可用区ID。

仅捕获去往同地域VPC实例的流量信息时会记录该字段。

3

tr-dst-eni

目的转发路由器ENI ID。

仅捕获去往同地域VPC实例的流量信息时会记录该字段。

3

tr-dst-resource-account-id

目的网络实例所属阿里云账号ID。

3

tr-dst-resource-id

目的网络实例ID。

如果流量的目的资源与当前转发路由器属于不同地域,该字段将记录对端转发路由器实例ID。

3

tr-dst-vsw-id

目的转发路由器ENI所属交换机ID。

仅捕获去往同地域VPC实例的流量信息时会记录该字段。

3

tr-id

流日志所属的转发路由器实例ID。

3

tr-pair-attachment-id

根据流量的方向,记录入口网络实例连接ID或出口网络实例连接ID:

  • 如果流量方向为in,该字段记录出口网络实例连接ID。

  • 如果流量方向为out,该字段记录入口网络实例连接ID。

    在流日志捕获VPC连接、VPN连接、ECR连接、VBR连接的流量信息时,如果该流量为跨地域的流量,则该字段为空。

    说明

    当捕获的流量是被丢弃的流量时,该字段也为空。若捕获到被丢弃的流量,packets-lost-blackhole、packets-lost-mtu-exceeded、packets-lost-no-routepackets-lost-ttl-expired字段的值不为0。

3

tr-src-az-id

源转发路由器ENI所属可用区ID。

仅捕获来自同地域VPC实例的流量信息时会记录该字段。

3

tr-src-eni

源转发路由器ENI ID。

仅捕获来自同地域VPC实例的流量信息时会记录该字段。

3

tr-src-resource-account-id

源网络实例所属阿里云账号ID。

3

tr-src-resource-id

源网络实例ID。

3

tr-src-vsw-id

源转发路由器ENI所属交换机ID。

仅捕获来自同地域VPC实例的流量信息时会记录该字段。

3

type

流量类型。取值:

  • v4,表示IPv4流量。

  • v6,表示IPv6流量。

3

version

流日志的版本。

3

使用限制

  • 企业版转发路由器支持流日志。针对基础版,请先升级

  • 不支持采集组播流量信息。

  • 为避免TCP扫描攻击产生大量流日志,对于仅包含连接建立、连接重置或连接关闭的TCP连接,流日志不记录。

    例如,一个TCP连接未完成三次握手过程,或客户端的连接请求被防火墙重置,则该连接不会被写入流日志。

  • 已创建的流日志无法自动升级以支持新版本的字段。如需使用新字段,必须删除旧的流日志实例并重新创建。新建的流日志默认为最新版本,兼容之前版本的所有字段。可以在云企业网管理控制台查看流日志的版本。

    2024-06-06_11-19-02

创建流日志

控制台

  1. 前往云企业网管理控制台,在目标转发路由器的详情页面,单击流日志页签。

  2. 单击创建流日志,在打开的创建流日志对话框中进行配置:

    1. 采集配置

      • 实例:选择要采集的目标资源,不同资源的捕获方向有区别

      • 采样间隔:聚合流量信息的采集窗口长度,可选1分钟或10分钟。窗口越小,流日志生成越频繁和及时,有助于更快发现和定位问题。窗口越大时效性越低,但日志条目数也会下降从而节省费用成本。

        重要

        若后续选择投递到流量分析器,则流日志的采样间隔需小于或等于目标流量分析器的采样间隔,否则无法投递。

    2. 分析和投递配置

      • 选择模式:选择投递目标。至少选择1个模式,支持多选。

        • 开启NIS流量分析:需选择NIS流量分析器

          部分地域支持将TR流日志投递到NIS流量分析器。
        • 投递至日志服务:需选择目标日志服务 Project日志服务 Logstore,可直接新建。

      • 日志格式:选择流日志记录的字段

        • 默认格式:使用系统默认选择的字段。

        • 自定义格式:自定义选择字段,支持的字段比默认格式更多。选择较少的字段可简化日志信息,从而节省费用成本。srcaddrdstaddrbytes三个字段为必选。

          选择日志格式后,系统会自动在下方文本框中生成字符串形式的日志格式,单击复制已选格式按钮,可在调用API时批量创建相同格式的流日志。

API

调用CreateFlowlog创建流日志。

分析流日志

流日志创建后默认为启动状态,可开始进行分析:

  • NIS流量分析器中分析流日志

    在目标流日志实例的NIS流量分析器列下,单击流量分析器ID跳转至NIS控制台进行查询分析

  • SLS日志服务中分析流日志

    流日志创建完成后,SLS日志服务需要几分钟进行初始化,初始化完成后会自动开始记录流量信息。可在目标流日志实例的日志服务列下,单击ProjectLogstore名称跳转至SLS控制台进行查询分析。分析方法参考:

修改/停止/删除流日志

控制台

  • 修改流日志

    • 修改流日志的采样间隔:在目标流日志的采样间隔(分钟)列,单击修改

    • 修改流日志的投递目标:不支持直接修改,需要先删除已有流日志后重新创建。

  • 停止流日志:停止后,系统会停止向NISSLS投递流日志。

    在目标流日志的操作列,单击停止。停止后可再次启动

  • 删除流日志:删除流日志只是删除对应的采集任务,已投递到NISSLS、且在存储时长内的流量信息不会删除。删除流日志前,需确保NIS流量分析器已移除该数据源。

    在目标流日志的操作列,单击删除

API

  • 修改流日志

    • 修改流日志的采样间隔:调用ModifyFlowLogAttribute修改

    • 修改流日志的投递目标:不支持直接修改,需要先删除已有流日志后重新创建。

  • 停止流日志:调用DeactiveFlowLog停止流日志。停止后调用ActiveFlowLog启动流日志。

  • 删除流日志:调用DeleteFlowlog删除流日志。

计费说明

使用TR流日志会产生两部分费用:

  • 网络日志提取费:转发路由器采集流日志产生的费用。当前此项费用暂不收取,正式收费前会另行通知。

  • 投递目标计费:流日志投递到目标后,由目标产品计费。

    • NIS流量分析器:流日志投递到NIS流量分析器之后产生,由NIS产品计费,收取处理费和存储费

    • SLS日志服务:流日志投递到SLS之后产生,由SLS产品计费,收取写入和存储等费用

      SLS提供2种计费模式:“按写入数据量计费”和“按使用功能计费”。在云企业网控制台创建流日志并选择新建Logstore时,默认使用“按使用功能计费”模式。

支持的地域

  • 支持将TR流日志投递到NIS流量分析器的地域

    华东1(杭州)、华东2(上海)、华南1(深圳)、华南3(广州)、华北1(青岛)、华北2(北京)、华北3(张家口)、华北5(呼和浩特)、华北6(乌兰察布)、西南1(成都)、新加坡、中国香港、马来西亚(吉隆坡)、印度尼西亚(雅加达)、日本(东京)、韩国(首尔)、泰国(曼谷)、德国(法兰克福)、英国(伦敦)、美国(弗吉尼亚)、美国(硅谷)。

  • 支持将TR流日志投递到SLS日志服务的地域

    所有支持创建企业版TR的地域

应用于生产环境

  • 成本与粒度权衡:在生产初期或故障排查时,建议使用1分钟采样间隔获取细粒度数据;在日常监控中,可使用10分钟间隔以降低日志量和成本。

  • 精细化监控:针对关键业务的VPC连接单独创建流日志,而不是为整个TR实例开启,以减少不必要的日志数据并降低成本。

  • 投递点选择:为节省成本,建议NISSLS两个投递点只选其一

常见问题

为什么在我的转发路由器详情页找不到“流日志”页签?

此功能仅限企业版转发路由器。请首先确认您的转发路由器实例版本,如果是基础版,需要先升级到企业版才能使用该功能。

我已经创建了流日志,为什么在日志服务里看不到任何数据?

请按以下步骤排查:

  1. 检查流日志状态:确保流日志实例处于“运行中”状态。

  2. 等待初始化:新创建的流日志需要几分钟时间进行初始化才能开始记录数据。

  3. 确认网络流量:检查您监控的资源上是否有实际的IP流量通过。无流量则不会产生日志。

  4. 检查查询范围:在日志服务控制台,确保您查询的时间范围正确,并考虑日志投递可能存在的分钟级延迟。

如何升级流日志以使用最新的字段?

针对存量的旧版本流日志,不支持直接升级使用最新字段。您必须删除现有的流日志实例,然后重新创建。新建的实例将自动采用最新版本,并包含所有字段。