文档中心 CDN Pro 使用内容代码(CP Code)自定义标记用量

使用内容代码(CP Code)自定义标记用量

更新时间:2023-09-20 14:15:59

什么是内容代码(CP Code)

CDN Pro提供了内容代码(CP Code, Content Provider codes)功能,供您对经过CDN Pro的流量进行标记。借助内容代码执行标签化管理,可提升日志事务、报表统计、监控告警等功能的灵活性,快速满足您的业务定制需求。

您可以根据您的业务特征自定义创建内容代码,并将其记录到请求参数或者日志字段中,以执行更精细化的业务处理与统计分析。例如:您可按照如下维度定义并使用CP Code:

  • 对加速项目标记CP Code,以实现对加速项目/加速域名的分组管理;
  • 根据不同的业务特征标记CP Code。例如:针对请求的特定HTTP Header/URI/Query String/UA/客户端IP/客户端区域等等信息记录不同的CP Code值,来管理您的业务分组,比如API分类管理、终端及其版本分类管理、重点访问来源IP监控管理等等;
  • 可将CP Code记录到请求中,用于对业务参数进行端到端的传输。例如,提取不同URI的请求,标记不同的值到某个HTTP标头中,将其携带回源站,以供源站根据标头执行下一步的逻辑处理。
  • 可将CP Code记录到日志打印字段中,以自定义扩展日志报表统计维度、监控告警指标维度等。例如,在访问日志/实时日志/离线日志中记录CP Code,并统计分析不同CP Code的用量指标。

如何使用内容代码标签

步骤1:在加速项目下创建CP Code

您需要在加速项目的边缘逻辑(Edge Logic)负载均衡逻辑(LB Logic)下创建CP Code,以标记内容分类:可以使用setproxy_set指令来为$content_code变量赋值。其中需要注意的是:

  • $content_code变量值只能写入文本字符串,不允许写入变量;同时,限制不允许使用eval_func指令来修改变量值。
  • 当 Edge Logic 和 LB Logic 里同时定义了$content_code,则LB7 具有更高的优先级。

配置示例1:

为不同的加速项目指定不同的CP Code,以实现对加速项目/加速域名的分组。下面的示例展示了将加速项目A和B绑定到domainGroup1组,将加速项目C绑定到domainGroup2组。

# loadBalancerLogic for property A
set $content_code domainGroup1;
# loadBalancerLogic for property B
set $content_code domainGroup1;
# loadBalancerLogic for property C
set $content_code domainGroup2;

配置示例2:

为不同的URL指定不同的CP Code,以实现对URL的分组。下面的示例展示了将/abc路径的请求绑定到apiGroup1组,将非/xyz路径的请求绑定到apiGroup2组。

# loadBalancerLogic
 
if ($uri ~ ^/abc(/|$)) {
     set $content_code "apiGroup1";
    }
elseif ($uri ~ ^/xyz(/|$)) {
     set $content_code "apiGroup2";
}

步骤2:日志上报CP Code

可以在实时日志中使用$content_code变量,以将包含CP Code内容代码的日志条目实时投递到您的日志服务器中。

我们即将在日志下载中支持使用$content_code变量,敬请期待。

步骤3:查询管理CP Code

CP Code可视化定制报表。您可以在【应用与服务】【服务报告】模块查询我们预置的CP Code统计图表。了解如何配置查看这些图表以及目前支持的CP Code图表类型,可查阅:定制服务报表

image.png

我们也即将开放OpenAPI接口支持按照CP Code过滤和分组进行报表统计,敬请期待。

本篇文档内容对您是否有帮助?
有帮助
我要反馈
提交成功!非常感谢您的反馈,我们会继续努力做到更好!