如何查找Nginx中所有与gRPC相关的内置变量索引?
Nginx的gRPC专属变量全部由ngx_http_grpc_module模块提供,并未集中收录在官方全局变量索引页中,目前开源版Nginx公开的gRPC相关变量完整列表如下:
$grpc_status:gRPC响应的状态码,和gRPC官方定义的状态码一一对应,比如0代表请求成功,1代表请求被取消,2代表未知错误$grpc_method:客户端请求调用的gRPC方法完整标识,格式为包名.服务名/方法名$grpc_service:客户端请求的gRPC服务完整标识,格式为包名.服务名$grpc_request_type:gRPC请求的流类型,可选值为unary(普通一元请求)、client_stream(客户端流)、server_stream(服务端流)、bidirectional_stream(双向流)$grpc_message:gRPC响应返回的自定义错误信息,仅当状态码非0时存在有效内容$grpc_status_text:gRPC状态码对应的官方标准化文本描述
如果你使用的是商业版Nginx Plus,还额外支持以下gRPC相关统计变量:
$grpc_connect_time:Nginx和gRPC上游建立连接消耗的时间$grpc_header_time:Nginx从gRPC上游收到完整响应头消耗的时间$grpc_response_time:Nginx从gRPC上游收到完整响应包消耗的时间
你可以参考如下示例将gRPC变量加入自定义日志格式:
log_format grpc_custom '$remote_addr - $remote_user [$time_local] ' '"$grpc_service/$grpc_method" $grpc_status $body_bytes_sent ' 'rt=$request_time grpc_message="$grpc_message" "$http_user_agent"';
内容的提问来源于stack exchange,提问作者StayTherapy Keep
相关产品推荐
相关产品推荐

