修改 httpd.conf 文件中:LoadModule proxy_module modules/mod_proxy.soLoadModule proxy_connect_module modules/mod_p"> ATS 5.3.0日志字段分析(续) - 11GX
首页 > ATS 5.3.0日志字段分析(续)

ATS 5.3.0日志字段分析(续)

自定义日志域Custom Logging Fields

下面的字段描述了ATS支持的自定义日志域

{HTTP header field name}cqh

{HTTP header field name}pqh

{HTTP header field name}psh

{HTTP header field name}ssh

{HTTP header field name}cssh

参见下面的示意图:



这里UA表示user-agent,也就是client,P/C表示Proxy/Cache,如果Cache中就直接返回,如果没有就回源;OS表示original server,也就是源站。



下面是ATS 5.3.0源码中支持的日志字段及其含义

// client -> proxy fields

chi    client_host_ip

chp    client_host_port

chih   client_host_ip_hex

caun   client_auth_user_name

piid   plugin_identity_id

pitag  plugin_identity_tag

cqts   client_req_timestamp_sec

cqth   client_req_timestamp_hex_sec

cqtq   client_req_timestamp_squid

cqtn   client_req_timestamp_netscape

cqtd   client_req_timestamp_date

cqtt   client_req_timestamp_time

cqtx   client_req_text

cqhm   client_req_http_method

cqu    client_req_url

cquuc   client_req_unmapped_url_canonical

cquup  client_req_unmapped_url_path

cquuh  client_req_unmapped_url_host

cqus   client_req_url_scheme

cqup   client_req_url_path

cqhv   client_req_http_version

cqhl   client_req_header_len

cqbl   client_req_body_len

cfsc   client_finish_status_code



// proxy -> client fields

psct    proxy_resp_content_type

psql    proxy_resp_squid_len

pscl    proxy_resp_content_len

psch    proxy_resp_content_len_hex

pshl    proxy_resp_header_len

pssc    proxy_resp_status_code

pfsc    proxy_finish_status_code

crc     cache_result_code

chm     cache_hit_miss



// proxy -> server fields

pqhl    proxy_req_header_len

pqbl    proxy_req_body_len

pqsn    proxy_req_server_name

pqsi    proxy_req_server_ip

phr     proxy_hierarchy_route

phn     proxy_host_name

phi     proxy_host_ip

php     proxy_host_port



// server -> proxy fields

shi     server_host_ip

shn     server_host_name

sssc    server_resp_status_code

sscl    server_resp_content_len

sshl    server_resp_header_len

sshv    server_resp_http_version

stms    server_resp_time

stmsh   server_resp_time_hex

stmsf   server_resp_time_fractional

sts     server_resp_time_sec



// cache -> client

csssc   cached_resp_status_code

csscl   cached_resp_content_len

csshl   cached_resp_header_len

csshv   cached_resp_http_version

crat    client_retry_after_time

cwr     cache_write_result

cwtr    cache_write_transform_result



// other fields

ttms    transfer_time_ms

ttmh    transfer_time_ms_hex

ttmsf   transfer_time_ms_fractional

tts     transfer_time_sec

fsiz    file_size

LogField切片(Slicing)

有时候想切割一个LogField去限制给定LogField的输出长度。

LogField切片有如下规范:

普通类型 % 

容器类型 %<{field}container[start:end]>

如果忽略切片符号,就是默认取整个log field

切片符号只能应用于string类型的log field,不能应用于ip/timestamp类型,虽然它们能从整数转换为字符串类型



下面是允许的切片规范

[start:end]  取log field的值,从start到end-1

[start:]   取log field的值,从start到余下的字符串

[:end]   去log field的值,从开头到end-1

[:]   默认取整个log field



下面是一些例子

'%'       //the whole characters of .

'%[:]'    //the whole characters of .

'%' //the first 30 characters of .

'%' //the last 10 characters of .

'%'  //everything except the last 5 characters of .

参考文献

[1].http://trafficserver.readthedocs.org/en/latest/admin/event-logging-formats.en.html

[2].proxy/logging/Log.h/cc源码

更多相关:

  •   最近用Yii2.0框架做了个小项目,虽然项目本身业务逻辑不复杂,但是由于本身业务逻辑的特殊性,在上午9点到12点之间系统访问量会突然上升(浏览量和用户上传文件量)。导致系统单纯的部署在Apache下,支撑不了这么多的并发数;单独部署Nginx又由于用户频繁的提交数据,出现大量的502错误。然后又由于各方面的原因,就想通过Nginx...

  • 软件包如下:nginx-1.10.0.tar.gznginx-http-concat-master.zipngx_cache_purge-2.3.tar.gzopenssl-1.0.2h.tar.gzpcre-8.39.tar.gzzlib-1.2.8.tar.gz ngin部署方法:上面的安装包都存放在/apps/svr/soft目...

  • 知识点:   server的语法:   upstream语法:     upstream中192.168.100.1不是ip只是个标识,只要和下面的proxy_pass 对应即可。   基于IP的虚拟主机:     listen和server_name中多加上端口也没问题     listen可以监听在虚拟ip上面   代码: ups...

  • 编译Apache时要进行的设置./configure --enable-mods-shared="all proxy"1>修改 httpd.conf 文件中:LoadModule proxy_module modules/mod_proxy.soLoadModule proxy_connect_module modules/mod_p...