Pular para conteúdo

Logs de acesso

Política de atualização

Quando uma nova informação for adicionada, ela será incluída no final do log. Essa mudança será indicada pelo campo vendor, com um incremento na versão (Ex. v5.0 -> v5.1). Podemos adicionar novos campos a qualquer momento, portanto, não espere que a linha termine no último campo (por exemplo, tratar logs com regex utilizando caractere $ no fim da linha).

Informações disponíveis

Os logs de acesso são os logs gerados para cada requisição direcionada ao seu domínio. Segue a lista de todas informações incluídas nesses logs:

Identificador Descrição
$remote_address Endereço de IP que enviou a requisicão
$remote_user Usuário usado na autenticação HTTP simples
$time_local Horário em que a requisição foi finalizada
$request Campo contendo método, URI e versão HTTP da requisição
$status Status code da resposta
$body_bytes_sent Quantidade de bytes enviados no corpo da resposta
$http_referer Cabeçalho Referer da requisição
$http_user_agent Cabeçalho User-Agent da requisição
$request_length Quantidade de bytes enviados na requisição
$bytes_sent Quantidade de bytes enviados na resposta
$request_time Duração da requisição em segundos
$sent_http_content_type Cabeçalho Content-Type enviado na resposta
$sent_http_content_length Cabeçalho Content-Length enviado na resposta
$connection Identificador da conexão da requisição
$connection_requests Quantidade de requisições enviadas em uma conexão
$host Cabeçalho Host da requisição
$realhost Domínio cadastrado na GoCache
$gzip Taxa de compressão GZIP da resposta
$cache_status Estado do cache da resposta
$http_x_forwarded_for Cabeçalho X-Forwarded-For da requisição
$backend Endereço de IP do backend (hospedagem) no qual a requisição será encaminhada
$device Dispositivo que encaminhou a requisição: bot, mobile, desktop ou na
$cache_key Chave de cache da requisição
$request_id ID da requisição
$asn Sistema autônomo do IP que originou a requisição
$geoip_continent_code Código do continente de onde se originou a requisição
$geoip_country_code Código do país de onde se originou a requisição no formato ISO 3166 Alfa 2
$geoip_state_name Nome do estado/província de onde se originou a requisição
$geoip_city_name Nome da cidade de onde se originou a requisição
$waf_status Estado do WAF à requisição
$waf_level Nível do WAF à requisição
$waf_mode Ação do WAF configurada à requisição
$cipher Cifra SSL usado no handshake SSL da requisição
$consumer_id Identificador do usuário realizando a requisição
$vendor Indicação que o log é da GoCache, junto da versão do log
$jwt_payload Payload do token JWT encaminhado na requisição

Versões do log

Observação

Cada log é enviado em somente uma linha. Esta documentação adiciona quebras de linhas para facilitar a leitura das informações.

V4 (JSON)

Nesta versão, as informações são enviadas em formato JSON. Nos logs de acesso, todos os valores do JSON são strings. Segue o formato do log:

{
  "date": "$time_local",
  "ip": "$remote_address",
  "remote_user": "$remote_user",
  "request": "$request",
  "status": "$status",
  "body_bytes_sent": "$body_bytes_sent",
  "referer": "$http_referer",
  "user_agent": "$http_user_agent",
  "request_length": "$request_length",
  "bytes_sent": "$bytes_sent",
  "request_time": "$request_time",
  "content_type": "$sent_http_content_type",
  "content_length": "$sent_http_content_length",
  "conn": "$connection",
  "conn_req": "$connection_requests",
  "host": "$host",
  "realhost": "$realhost",
  "gzip_ratio": "$gzip_ratio",
  "cache_status": "$cache_status",
  "x-forwarded-for": "$http_x_forwarded_for",
  "backend": "$backend",
  "device": "$device",
  "cache_key": "$cache_key",
  "request_id": "$request_id",
  "as": "$asn",
  "geoip": {
    "continent": "$geoip_continent_code",
    "country": "$geoip_country_code",
    "state": "$geoip_state_name",
    "city": "$geoip_city_name"
  },
  "waf_info": {
    "status": "$waf_status",
    "level": "$waf_level",
    "mode": "$waf_mode"
  },
  "cipher": "$cipher",
  "consumer_id": "$consumer_id",
  "vendor": "$vendor",
  "jwt_payload": "$jwt_payload"
}

V5 (Combined)

Nesta versão, as informações são enviadas em texto plano, sem seguir uma formatação estruturada. Segue o formato do log:

$remote_address "$remote_user" [$time_local] "$request" $status $body_bytes_sent
"$http_referer" "$http_user_agent" $request_length $bytes_sent $request_time
"$sent_http_content_type" "$sent_http_content_length" conn=$connection
conn_req=$connection_requests host="$host" [$realhost] gzip_=$gzip_ratio
cache_status="$cache_status" ff="$http_x_forwarded_for" backend=$backend device=$device
cache_key="$cache_key" request_id=$request_id as="$asn"
geoip="$geoip_continent_code/$geoip_country_code/$geoip_state_name/$geoip_city_name"
waf="$waf_status,$waf_level,$waf_mode" cipher="$cipher" consumer_id="$consumer_id" vendor="$vendor" jwt_payload="$jwt_payload"

V6 (CSV)

Nesta versão, as informações são enviadas em formato de CSV, separadas por vírgulas e aspas. Segue o formato do log:

"$remote_address","$time_local","$request","$status","$body_bytes_sent","$http_referer",
"$http_user_agent","$request_length","$bytes_sent","$request_time",
"$sent_http_content_type","$sent_http_content_length","$host","$realhost","$gzip_ratio",
"$cache_status","$http_x_forwarded_for","$backend","$device","$cache_key","$request_id",
"$asn","$geoip_continent_code/$geoip_country_code/$geoip_state_name/$geoip_city_name",
"$waf_status/$waf_level/$waf_mode","$cipher","$consumer_id","$vendor","$jwt_payload"