Puede configurar el analizador Apache de formato de registro común (Common Log Format, CLF)FileLog
y WinLog
los recopiladores.
Analizador de formato de registro común (Apache)
El analizador CLF predeterminado define el siguiente orden y nombres de campos.
host ident authuser datetime request statuscode bytes
Nombre de analizador: clf
La opción específica al analizador CLF es format
.
Opción formato
La opción format
especifica el formato con el que se generan los registros de Apache. La opción no es obligatoria.
Si no se especifica un formato, se usa el siguiente formato de registro común predeterminado.
%h %l %u %t \"%r\" %s %b
La cadena de formato del analizador CLF no acepta expresiones regex. Por ejemplo, especifique un espacio en lugar de la expresión \s+.
Para analizar otros formatos de registro, especifique el formato en la configuración del agente. Los campos analizados aparecen en el lado del servidor con los siguientes nombres.
{VARNAME}
no se proporciona en la configuración, los campos se ignoran.
Campos | Valor | ||
---|---|---|---|
'%a': |
"remote_ip" | ||
'%A': |
"local_ip" | ||
'%B', '%b': |
"response_size" | ||
'%C': |
Depende del nombre de la variable especificada en el formato | ||
'%c': |
Depende del nombre de la variable especificada en el formato | ||
'%D': |
"request_time_mcs" | ||
'%E': |
"error_status" | ||
'%e': |
Depende del nombre de la variable especificada en el formato | ||
'%F', '%f': |
"file_name" | ||
'%h': |
"remote_host" | ||
'%H': |
"request_protocol" | ||
'%i': |
Depende del nombre de la variable especificada en el formato | ||
'%k': |
"keepalive_request_count" | ||
'%l': |
"remote_log_name" | ||
'%L' |
"request_log_id" | ||
'%M': |
"log_message" (el analizador detiene el análisis del registro de entradas después de alcanzar este especificador) | ||
'%m': |
"request_method" | ||
'%n': |
depende del nombre de la variable especificada en el formato | ||
'%o': |
depende del nombre de la variable especificada en el formato | ||
'%p': |
"server_port" Se pueden usar formatos adicionales con este especificador: %{format}p. Los formatos compatibles son "canonical", "local" o "remote". Si se usa el formato "canonical", el nombre del campo sigue siendo "server_port". En caso de usar el formato "local", el nombre del campo cambiará a "local_server_port" y cuando se usa el formato "remote", el nombre del campo será "remote_server_port". |
||
'%P': |
"process_id" Se pueden usar formatos adicionales con este especificador: %{format}P. Los formatos compatibles son "pid", "tid" y "hextid". Si se usa "pid" como formato, el nombre del campo será "process_id", mientras que los formatos "tid" y "hextid" generan campos con el nombre "thread_id". |
||
'%q': |
"query_string" | ||
'%r': |
"request" | ||
'%R': |
"response_handler" | ||
'%s': |
"status_code", que genera el estado final de la solicitud. | ||
'%t': |
"timestamp", que funciona como una marca de tiempo de evento en el consumo y usa el analizador de marca de tiempo. Para anular la detección automática de la marca de tiempo, el formato de fecha y hora puede especificarse entre llaves: %{%Y-%m-%d %H:%M:%S}t. Consulte Analizador de marca de tiempo para obtener más información. El formato de la marca de tiempo del analizador CLF puede comenzar con los prefijos
Los siguientes tokens de formato también son compatibles con el especificador de formato de marca de tiempo del analizador CLF:
Para analizar los registros donde la marca de tiempo se representa con tokens de formato, se pueden utilizar los siguientes formatos en la configuración:
format=%h %l %u %{sec}t \"%r\" %s %b format=%h %l %u %{msec}t \"%r\" %s %b format=%h %l %u %{usec}t \"%r\" %s %b Estos tokens no se pueden combinar unos con otros o con el analizador de la marca de tiempo que se encuentren en la misma cadena de formato. En su lugar, puede usar varios tokens %{format}t. Por ejemplo, para usar la marca de tiempo que incluye milisegundos, excepto al usar el especificador |
||
'%T': |
"request_time_sec" | ||
'%u': |
"remote_auth_user" | ||
'%U': |
"requested_url" | ||
'%v': |
"server_name" | ||
'%V': |
"self_referential_server_name" | ||
'%X': |
"connection_status", que depende del nombre de la variable especificada en el formato | ||
'%x': |
Depende del nombre de la variable especificada en el formato | ||
'%I': |
"received_bytes" | ||
'%O': |
"sent_bytes" | ||
'%S': |
"transferred_size" |
Por ejemplo, para analizar registros desde orígenes winlog o filelog con el analizador CLF, especifique la siguiente configuración:
[filelog|clflogs] directory=D:\Logs include=*.txt parser=myclf [parser|myclf] debug=yes ;Note: use this option only while debugging and set it to ‘no’ when used in production. base_parser=clf format=%h %l %u %b %t \"%r\" %s
Mediante esta configuración, los registros que se recopilan desde el origen clflogs, por ejemplo desde el directorio directory=D:\Logs, son analizados sintácticamente por myclf. El analizador myclf analiza únicamente aquellos registros que se generaron con el formato que se describe en la configuración.
El valor predeterminado para la depuración es debug=no para analizadores.
Analizar registros generados mediante CLF
Para analizar sintácticamente los registros que se generaron mediante CLF, deberá definir el formato correspondiente en la configuración. Por ejemplo,
format=%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User_Agent}i\"
Los campos que no están vacíos y que utilizan los especificadores %{Referer}i
y %{User_Agent}i
aparecen en el servidor VMware Aria Operations for Logs con los nombres referer
y user_agent
, respectivamente.
Integrar el analizador de marca de tiempo con el analizador de CLF
Puede analizar sintácticamente los registros Apache con un formato de hora personalizado.
Acceda a los registro con formato de hora personalizado de la siguiente manera.
format = %h %l %u %{%a, %d %b %Y %H:%M:%S}t \"%r\" %>s %b
Si no se especifica una hora personalizada, el analizador de CLF intenta deducir automáticamente el formato de hora ejecutando el analizador de marca de tiempo; de lo contrario, se utiliza el formato de hora personalizado.
Los formatos de hora personalizados compatibles que se admiten para registros de error son:
Formato de hora personalizado | Descripción | Formato de configuración |
---|---|---|
%{u}t |
Hora actual incluidos microsegundos | format=[%{u}t] [%l] [pid %P] [client %a] %M |
%{cu}t |
Hora actual en formato ISO 8601 compacto, incluidos microsegundos | format=[%{cu}t] [%l] [pid %P] [client %a] %M |
Para obtener una lista completa de los especificadores de marca de tiempo compatibles, consulte analizador de marca de tiempo.
Configuración de registros de acceso predeterminados Apache para Windows
Este ejemplo muestra el modo en que se pueden formatear las configuraciones de los registros de acceso Apache v2.4 para Windows.
;ACCESS LOG ;127.0.0.1 - - [13/May/2015:14:44:05 +0400] "GET /xampp/navi.php HTTP/1.1" 200 4023 "http://localhost/xampp/" "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:37.0) Gecko/20100101 Firefox/37.0" ;format=%h %l %u %{%d/%b/%Y:%H:%M:%S %z}t \"%r\" %>s %b \"%{Referer}i\" \"%{User_agent}i\" ; Section to collect Apache ACCESS logs [filelog|clflogs-access] directory=C:\xampp\apache\logs include=acc* parser=clfparser_apache_access enabled=yes ;Parser to parse Apache ACCESS logs [parser|clfparser_apache_access] debug=yes base_parser=clf format=%h %l %u %{%d/%b/%Y:%H:%M:%S %z}t \"%r\" %>s %b \"%{Referer}i\" \"%{User_agent}i\"
- Configure Apache para el formato de registro de acceso (httpd.conf):
LogFormat "%h %l %u %{%d-%b-%Y:%H:%M:%S}t \"%r\" %a %A %e %k %l %L %m %n %T %v %V %>s %b \"%{Referer}i\" \"%{User_Agent}i\"" combined
- Defina la configuración del analizador de CLF:
;ACCESS LOG ;127.0.0.1 unknown - 21-May-2015:13:59:35 "GET /xampp/navi.php HTTP/1.1" 127.0.0.1 127.0.0.1 - 0 unknown - GET - 1 localhost localhost 200 4023 "http://localhost/xampp/" "-" [filelog|clflogs-access] directory=C:\xampp\apache\logs include=acc*;_myAcc* parser=clfparser_apache_access enabled=yes ; Parser to parse Apache ACCESS logs [parser|clfparser_apache_access] debug=yes base_parser=clf format=%h %l %u %{%d-%b-%Y:%H:%M:%S}t \"%r\" %a %A %e %k %l %L %m %n %T %v %V %>s %b \"%{Referer}i\" \"%{User_Agent}i\"
remote_host=127.0.0.1 timestamp=2015-05-13T10:44:05 request=GET /xampp/navi.php HTTP/1.1 status_code=200 response_size=4023 referer=http://localhost/xampp/ user_agent=Mozilla/5.0 (Windows NT 6.1; WOW64; rv:37.0) Gecko/20100101 Firefox/37.0
Este ejemplo muestra el modo en que se pueden formatear las configuraciones de los registros de error Apache v2.4 para Windows.
;ERROR LOG ;[Wed May 13 14:37:17.042371 2015] [mpm_winnt:notice] [pid 4488:tid 272] AH00354: Child: Starting 150 worker threads. ;[Wed May 13 14:37:27.042371 2015] [mpm_winnt:notice] [pid 5288] AH00418: Parent: Created child process 3480 ;format=[%{%a %b %d %H:%M:%S%f %Y}t] [%m:%{severity}i] [pid %P:tid %{thread_id}i] %E: %M ;format=[%{%a %b %d %H:%M:%S%f %Y}t] [%m:%{severity}i] [pid %P] %E: %M ; Section to collect Apache ERROR logs [filelog|clflogs-error] directory=C:\xampp\apache\logs include=err* parser=clfparser_apache_error enabled=yes ;Parser to parse Apache ERROR logs [parser|clfparser_apache_error] debug=yes base_parser=clf format=[%{%a %b %d %H:%M:%S%f %Y}t] [%m:%{severity}i] [pid %P:tid %{thread_id}i] %E: %M next_parser=clfparser_apache_error2 ;Parser to parse Apache ERROR logs [parser|clfparser_apache_error2] debug=yes base_parser=clf format=[%{%a %b %d %H:%M:%S%f %Y}t] [%m:%{severity}i] [pid %P] %E: %M
- Configure Apache para el formato de registro de error (httpd.conf):
LogFormat "%h %l %u %{%d-%b-%Y:%H:%M:%S}t \"%r\" %a %A %e %k %l %L %m %n %T %v %V %>s %b \"%{Referer}i\" \"%{User_Agent}i\"" combined
- Defina la configuración del analizador de CLF:
;Parser to parse Apache ERROR logs [parser|clfparser_apache_error] debug=yes base_parser=clf format=[%{%a %b %d %H:%M:%S%f %Y}t] [%m:%{severity}i] [pid %P] %E: %M next_parser=clfparser_apache_error2 ;Parser to parse Apache ERROR logs [parser|clfparser_apache_error2] debug=yes base_parser=clf format=[%{%a %b %d %H:%M:%S%f %Y}t] [%m:%{severity}i] [pid %P:tid %{thread_id}i] %E: %M
Entrada de registro:
[Wed May 13 14:37:17.042371 2015] [mpm_winnt:notice] [pid 4488:tid 272] AH00354: Child: Starting 150 worker threads.
timestamp=2015-05-13T10:37:17.042371 request_method=mpm_winnt severity=notice process_id=4488 thread_id=272 error_status=AH00354 log_message=Child: Starting 150 worker threads.
Entrada de registro:
[Wed May 13 14:37:27.042371 2015] [mpm_winnt:notice] [pid 5288] AH00418: Parent: Created child process 3480
timestamp=2015-05-13T10:37:27.042371 request_method=mpm_winnt severity=notice process_id=5288 error_status=AH00418 log_message=Parent: Created child process 3480