创建日志配置

更新时间:2023-04-04 20:33:35

适用产品

CDN Pro

接口描述

创建日志配置,用于定义访问日志的输出格式。同一个日志配置可适用于一个或多个域名。每个域名必须有指定的日志配置,才能获取到该域名的日志。

调用频率

单用户调用频率:300/5min

推荐使用 Open API在线调试

Open API在线调试功能提供可视化界面在线调试API、支持生成代码示例、快速检索查看API文档等能力。前往调试

请求参数

Body 参数

参数名称描述
descriptionString
日志配置描述。
*hostnamesList
适用该日志配置的域名列表。每个域名必须是完整的FQDN域名如domain.com,或者是带星号的泛域名如*.domain.com。如果该日志配置适用于所有域名,则直接用星号*表示。每个域名有且只能有一个对应的日志配置。
logDownloadFormatString
默认值: %cltip %rmtuser [%utctime] '%method %url %protocol' %statuscode %rspsize '%referer' '%ua' %rsptime 日志格式。可使用以下变量来自定义日志输出格式:
变量变量说明
%cachestate缓存状态,取值为HIT,MISS 或者 REVALIDATE。
%cltip客户端IP地址。
%cltisp客户端所属运营商。
%cltport客户端端口号。
%cltregion客户端所属区域。
%cpu_ns此次请求所消耗的CPU时间,以纳秒计算。
%custom1如果您在加速项目中自定义了日志字段,可以用该变量来获取自定义日志字段1的值。自定义日志字段属于高级功能,如需使用请联系我们的技术支持。
%custom2如果您在加速项目中自定义了日志字段,可以用该变量来获取自定义日志字段2的值。自定义日志字段属于高级功能,如需使用请联系我们的技术支持。
%hostnameHost 请求头。
%methodHTTP请求方法,例如 GET。
%protocolHTTP/1.0,HTTP/1.1 或者 HTTP2.0协议。
%querystr查询参数字符串。
%refererReferer 请求头。
%reqhdrsize请求头大小,单位为bytes。
%reqrange客户端请求所携带的Range请求头。
%reqsize请求的大小,单位为bytes。包括请求行,请求头和请求体。
%rmtuser从Authorization请求头解析出的用户名。当您使用HTTP basic对用户请求进行鉴权时,可通过该变量获取用户名。
%rspsizeHTTP响应的大小,单位为bytes。包括响应头和响应体,但不包括TCP/IP/MAC头部开销。
%rsptime响应时间,单位为毫秒。
%samplerate采样率,即每几次请求输出一条日志。
%shemehttp或https协议。
%statuscode响应状态码,例如200。
%srvip处理此次请求的CDN服务器的IP地址。
%svrnodeCDN服务器所在的节点名称。
%tcprtt服务器与客户端之间的RTT时长,单位为毫秒。
%uaUser-Agent 请求头。
%uniqueid此次请求的唯一标识,字符串类型。
%url完整的URL,包括查询参数字符串。
%utctime响应时间,以RFC 3339格式表示,例如 2021-10-05T12:34:56Z。
变量如果包含了不可打印的字符(ASCII码<=0x1F 或 >=0x7F的字符),双引号或者反斜杆,则这些字符会被转义,用'\xXX'的格式表示。例如,双引号以'\x22'表示,反斜杆以'\x5C'表示。需要注意的是,空格不会被转义。如果变量包含空格,则必须加上双引号,才能被正确解析。
logDownloadStorageDaysInteger
默认值: 14 取值范围: [ 1 .. 30 ] 日志保存天数。
logDownloadFileSpanMinutesInteger
取值范围: 5,15,30,60,120,240,480,1440 默认值: 30 每几分钟生成日志文件。为避免单个日志文件过大,当日志条目增长过快时,同一个时间段内的日志可能被分割为多个文件。当日志入库发生显著延迟时,延迟入库的部分会被写入单独的日志文件。

返回参数

响应头

参数名称描述
LocationString
通过Location响应头返回新建的日志配置的URL。URL中包含日志配置的ID,可使用该ID调用'查询日志配置详情'接口来查看日志配置的详细信息。URL示例:Location: http://open.chinanetcenter.com/cdn/report/logConfigs/4427

错误码

错误代码(code)描述(message)HTTP状态码语义
InvalidHostnameDuplicated hostname "testdomain.domain.info".400存在重复的域名。
InvalidStorageDaysThe log download storage days must be 1 - 30.400日志存储天数必须在1-30的范围。
InvalidFormatInvalid variable name: %referer12. It supports: referer, rmtuser, scheme, cltport, ua, cltregion, statuscode, reqsize, protocol, hostname, custom1, cachestate, custom2, reqhdrsize, svrip, uniqueid, samplerate, querystr, cltisp, method, utctime, tcprtt, cpu_ns, url, rspsize, svrnode, cltip, rsptime, reqrange.400指定的变量中存在无效的变量。
AccessDeniedYou are not allowed to perform this action.403无操作权限。

示例

400
403
400
请求示例
复制代码 复制成功
#!/bin/bash
username="example_username"
apiKey="example_apiKey"
date=`env LANG="en_US.UTF-8" date -u "+%a, %d %b %Y %H:%M:%S GMT"`
password=`echo -en "$date" | openssl dgst -sha1 -hmac $apiKey -binary | openssl enc -base64`
curl -i --url "https://open.chinanetcenter.com/cdn/report/logConfigs" \
-X "POST" \
-u "$username:$password" \
-H "Date: $date" \
-H "Accept: application/json" \
-d '{"description": "Our log configuration", "hostnames": ["domain.com"], "logDownloadFormat": "%cltip %rmtuser  [%utctime] "%method %url %protocol" %statuscode %rspsize "%referer" "%ua" %rsptime", "logDownloadStorageDays": 14, "logDownloadFileSpanMinutes": 30}'
返回示例
复制代码 复制成功
{
    "code": "InvalidHostname",
    "message": "Duplicated hostname \"testdomain.domain.info\"."
}
本篇文档内容对您是否有帮助?
有帮助
我要反馈
提交成功!非常感谢您的反馈,我们会继续努力做到更好!