New Relic peut analyser les formats log courants selon des règles intégrées, de sorte que vous n'avez pas besoin de créer vos propres règles d'analyse. Voici les règles d'analyse des log , leurs modèles Grok et les champs analysés.
- Pour activer l'analyse intégrée des log , consultez notre documentation pour ajouter l'attribut
logtype
. - Pour gérer vos règles d'analyse par programmation, utilisez NerdGraph, notre API au format GraphQL, sur api.newrelic.com/graphiql. Pour plus d'informations, consultez le didacticiel NerdGraph pour créer, interroger et supprimer vos règles d'analyse.
Source: logtype = 'apache'
Grok:
%{IPORHOST:clientip} %{USER:ident} %{USER:auth} \[%{HTTPDATE:timestamp}\] "(?:%{WORD:verb} %{NOTSPACE:request}(?: HTTP/%{NUMBER:httpversion})?|%{DATA:rawrequest})" %{NUMBER:response} (?:%{NUMBER:bytes}|-) %{QS:referrer} %{QS:agent}
Results:
clientip
: L'adresse IP du client.verb
:Le verbe HTTPident
: L'identité de l'utilisateur du client effectuant la demanderesponse
: Le code d'état HTTP de la réponserequest
: L'URI et la demande en courshttpversion
:La version HTTP de la requêterawrequest
:La requête HTTP brute si les données sont publiéesbytes
: Le nombre d'octets envoyésreferrer
: Le référent HTTPagent
: L'agent utilisateur du client
Source: logtype = 'apache_error'
Grok:
\[%{DATA:apache_error.timestamp}\] \[%{WORD:apache_error.source}:%{DATA:level}\] \[pid %{NUMBER:apache_error.pid}(:tid %{NUMBER:apache_error.tid})?\] (%{DATA:apache_error.sourcecode}\(%{NUMBER:apache_error.linenum}\): )?(?:\[client %{IPORHOST:apache_error.clientip}:%{POSINT:apache_error.port}\] ){0,1}%{GREEDYDATA:apache_error.message}
Results:
apache_error.timestamp
: L'horodatage de l'instruction logapache_error.source
: Le module sourcelevel
: Le niveau de logapache_error.pid
:Le PID d'Apache (identifiant de processus)apache_error.tid
: L'identifiant de thread (TID) d'Apacheapache_error.sourcecode
: Le code source d'Apacheapache_error.linenum
: Le numéro de ligne du code sourceapache_error.clientip
: L'adresse IP du clientapache_error.port
: Le numéro de port IP du clientapache_error.message
:Le message d'erreur
Source: logtype = 'alb'
Grok:
^%{NOTSPACE:type} %{TIMESTAMP_ISO8601:time} %{NOTSPACE:elb} %{NOTSPACE:client_ip}:%{NOTSPACE:client_port} ((%{NOTSPACE:target_ip}:%{NOTSPACE:target_port})|-) %{NOTSPACE:request_processing_time} %{NOTSPACE:target_processing_time} %{NOTSPACE:response_processing_time} %{NOTSPACE:elb_status_code} %{NOTSPACE:target_status_code} %{NOTSPACE:received_bytes} %{NOTSPACE:sent_bytes} "%{DATA:request}" "%{DATA:user_agent}" %{NOTSPACE:ssl_cipher} %{NOTSPACE:ssl_protocol} %{NOTSPACE:target_group_arn} "%{DATA:trace_id}" "%{NOTSPACE:domain_name}" "%{NOTSPACE:chosen_cert_arn}" %{NOTSPACE:matched_rule_priority} %{TIMESTAMP_ISO8601:request_creation_time} "%{NOTSPACE:actions_executed}" "%{NOTSPACE:redirect_url}" "%{NOTSPACE:error_reason}" (?:"|)%{DATA:target_port_list}(?:"|) (?:"|)%{DATA:target_status_code_list}(?:"|) "%{NOTSPACE:classification}" "%{NOTSPACE:classification_reason}"
Results:
Champ | Définition |
---|---|
| Le type de demande ou de connexion. Les valeurs possibles sont :
|
| L'ID de ressource de l'équilibreur de charge. Si vous analysez les entrées log d'accès, notez que les ID de ressources peuvent contenir des barres obliques ( |
| L'adresse IP du client demandeur |
| Le port IP du client demandeur |
| L'adresse IP de la cible qui a traité cette demande.
|
| Le port IP de la cible qui a traité cette demande.
|
| L'adresse IP et le port de la cible qui a traité cette demande.
|
| Le temps total écoulé (en secondes, avec une précision de l'ordre de la milliseconde) depuis le moment où l'équilibreur de charge a reçu la demande jusqu'au moment où il l'a envoyée à une cible.
|
| Le temps total écoulé (en secondes, avec une précision de l'ordre de la milliseconde) depuis le moment où l'équilibreur de charge a envoyé la demande à une cible jusqu'à ce que la cible commence à envoyer les en-têtes de réponse.
|
| Le temps total écoulé (en secondes, avec une précision de l'ordre de la milliseconde) depuis le moment où l'équilibreur de charge a reçu l'en-tête de réponse de la cible jusqu'à ce qu'il commence à envoyer la réponse au client. Cela inclut à la fois le temps de mise en file d'attente au niveau de l'équilibreur de charge et le temps d'acquisition de la connexion de l'équilibreur de charge au client. Cette valeur est définie sur |
| Le code d'état de la réponse de l'équilibreur de charge |
| Le code d'état de la réponse de la cible. Cette valeur est enregistrée uniquement si une connexion a été établie avec la cible et que la cible a envoyé une réponse. Sinon, il est défini sur |
| La taille de la requête, en octets, reçue du client (demandeur). Pour requests HTTP, cela inclut les en-têtes. Pour les WebSockets, il s’agit du nombre total d’octets reçus du client sur la connexion. |
| La taille de la réponse, en octets, envoyée au client (demandeur). Pour requests HTTP, cela inclut les en-têtes. Pour les WebSockets, il s'agit du nombre total d'octets envoyés au client sur la connexion. |
| La requête HTTP |
| Chaîne d'agent utilisateur qui identifie le client à l'origine de la demande, entourée de guillemets. La chaîne se compose d'un ou plusieurs identifiants de produit, produit/version. Si la chaîne est plus longue que 8 Ko, elle est tronquée. |
| Le chiffrement SSL. Cette valeur est définie sur |
| Le protocole SSL. Cette valeur est définie sur |
| Le nom de ressource Amazon (ARN) du groupe cible |
| Le contenu du |
| Le domaine SNI fourni par le client lors de la négociation TLS, placé entre guillemets. Cette valeur est définie sur |
| L'ARN du certificat présenté au client, entre guillemets.
|
| La valeur de priorité de la règle qui correspond à la demande.
|
| L'heure à laquelle l'équilibreur de charge a reçu la demande du client, au format ISO 8601. |
| Les actions entreprises lors du traitement de la demande, entre guillemets. Cette valeur est une liste séparée par des virgules qui peut inclure les valeurs décrites dans |
| L'URL de la cible de redirection pour l'en-tête d'emplacement de la réponse HTTP, entourée de guillemets doubles. Si aucune action de redirection n'a été effectuée, cette valeur est définie sur |
| Le code de raison de l'erreur, placé entre guillemets.
|
| Classification. |
| La raison de la classification. |
Source: logtype = 'cassandra'
Grok
%{WORD:level}%{SPACE}\\[%{NOTSPACE:cassandra.thread}\\] %{TIMESTAMP_ISO8601:cassandra.timestamp} %{NOTSPACE:cassandra.source}:%{INT:cassandra.line.number} - %{GREEDYDATA:cassandra.message}
Résultats
level
: Le niveau de log du message (all, trace, debug, info, warn, error, off)cassandra.thread
: Le nom du thread émettant l'instruction logcassandra.timestamp
: L'horodatage de l'instruction logcassandra.source
: Le nom du fichier sourcecassandra.line.number
: Le numéro de ligne du messagecassandra.message
:Le message brut de Cassandre
Source: logtype = 'cloudfront-web'
Grok:
^%{NOTSPACE:date}%{SPACE}%{NOTSPACE:time}%{SPACE}%{NOTSPACE:x_edge_location}%{SPACE}%{NOTSPACE:sc_bytes}%{SPACE}%{NOTSPACE:c_ip}%{SPACE}%{NOTSPACE:cs_method}%{SPACE}%{NOTSPACE:cs_host}%{SPACE}%{NOTSPACE:cs_uri_stem}%{SPACE}%{NOTSPACE:sc_status}%{SPACE}%{NOTSPACE:cs_referer}%{SPACE}%{NOTSPACE:cs_user_agent}%{SPACE}%{NOTSPACE:cs_uri_query}%{SPACE}%{NOTSPACE:cs_Cookie}%{SPACE}%{NOTSPACE:x_edge_result_type}%{SPACE}%{NOTSPACE:x_edge_request_id}%{SPACE}%{NOTSPACE:x_host_header}%{SPACE}%{NOTSPACE:cs_protocol}%{SPACE}%{NOTSPACE:cs_bytes}%{SPACE}%{NOTSPACE:time_taken}%{SPACE}%{NOTSPACE:x_forwarded_for}%{SPACE}%{NOTSPACE:ssl_protocol}%{SPACE}%{NOTSPACE:ssl_cipher}%{SPACE}%{NOTSPACE:x_edge_response_result_type}%{SPACE}%{NOTSPACE:cs_protocol_version}%{SPACE}%{NOTSPACE:fle_status}%{SPACE}%{NOTSPACE:fle_encrypted_fields}%{SPACE}%{NOTSPACE:c_port}%{SPACE}%{NOTSPACE:time_to_first_byte}%{SPACE}%{NOTSPACE:x_edge_detailed_result_type}%{SPACE}%{NOTSPACE:sc_content_type}%{SPACE}%{NOTSPACE:sc_content_len}%{SPACE}%{NOTSPACE:sc_range_start}%{SPACE}%{NOTSPACE:sc_range_end}
Results:
Champ | Définition |
---|---|
| L'emplacement du bord qui a servi la requête. Chaque emplacement de bord est identifié par un code à trois lettres et un numéro attribué arbitrairement ; par exemple, Le code à trois lettres correspond généralement au code d'aéroport de l'Association du transport aérien international pour un aéroport proche de l'emplacement périphérique. (Ces abréviations pourraient changer à l'avenir.) |
| Le nombre total d'octets que CloudFront a servis au spectateur en réponse à la requête, y compris les en-têtes ; par exemple, |
| L'adresse IP du spectateur qui a effectué la demande, au format IPv4 ou IPv6. Si le spectateur a utilisé un proxy HTTP ou un équilibreur de charge pour envoyer la requête, la valeur de |
| La méthode de requête HTTP : |
| Le nom de domaine de la distribution CloudFront ; par exemple, |
| La partie de l'URI qui identifie le chemin et l'objet ; par exemple, |
| Un code d’état HTTP ; par exemple, |
| Le nom du domaine à l'origine de la demande. Les référents courants incluent les moteurs de recherche, d’autres sites Web qui renvoient directement vers vos objets et votre propre site Web. |
| La valeur de l'en-tête utilisateur-Agent dans la requête. L'en-tête utilisateur-Agent identifie la source de la demande, comme le type d'appareil et de navigateur qui a soumis la demande, ainsi que le moteur de recherche, le cas échéant. |
| La partie chaîne de requête de l'URI, le cas échéant. Lorsqu'un URI ne contient pas de chaîne de requête, la valeur de ce champ est un trait d'union ( |
| L'en-tête du cookie dans la demande, y compris les paires nom-valeur et l'attribut associé.
|
| Comment CloudFront classe la réponse après que le dernier octet a quitté l'emplacement périphérique. Dans certains cas, le type de résultat peut changer entre le moment où CloudFront est prêt à envoyer la réponse et le moment où CloudFront a terminé d'envoyer la réponse. |
| Une chaîne cryptée qui identifie de manière unique une demande. Dans l'en-tête de réponse, il s'agit |
| La valeur que le spectateur a incluse dans l'en-tête Hôte pour cette requête. Il s'agit du nom de domaine dans la demande.
|
| Le protocole que le spectateur a spécifié dans la requête : |
| Le nombre d'octets de données que le spectateur a inclus dans la demande, y compris les en-têtes. Pour les connexions WebSocket, il s'agit du nombre total d'octets envoyés du client au serveur sur la connexion. |
| Le nombre de secondes (au millième de seconde ; par exemple, 0,002) entre le moment où un serveur de périphérie CloudFront reçoit la demande d'un spectateur et le moment où CloudFront écrit le dernier octet de la réponse dans la file d'attente de sortie du serveur de périphérie, tel que mesuré sur le serveur. Du point de vue du spectateur, le temps total nécessaire pour obtenir l’objet complet sera plus long que cette valeur en raison de la latence du réseau et de la mise en mémoire tampon TCP. |
| Si le spectateur a utilisé un proxy HTTP ou un équilibreur de charge pour envoyer la requête, la valeur de Ce champ contient les adresses IPv4 et IPv6 selon le cas. Si le spectateur n'a pas utilisé de proxy HTTP ou d'équilibreur de charge, la valeur de |
| Lorsque
|
| Lorsque
|
| Comment CloudFront a classé la réponse juste avant de renvoyer la réponse au spectateur. Les valeurs possibles incluent :
|
| La version HTTP que le spectateur a spécifiée dans la requête. Les valeurs possibles incluent :
|
| Lorsque le chiffrement au niveau du champ est configuré pour une distribution, ce champ contient un code qui indique si le corps de la demande a été traité avec succès. Si le chiffrement au niveau du champ n'est pas configuré pour la distribution, la valeur est un tiret ( |
| Le nombre de champs que CloudFront a chiffrés et transmis à l'origine. CloudFront transmet la requête traitée à l'origine pendant qu'il crypte les données, de sorte que Si le chiffrement au niveau du champ n'est pas configuré pour la distribution, la valeur de |
| Le numéro de port de la demande du spectateur. |
| Le nombre de secondes entre la réception de la demande et l'écriture du premier octet de la réponse, tel que mesuré sur le serveur. |
| Lorsque |
| La valeur de l'en-tête HTTP Content-Type de la réponse. |
| La valeur de l'en-tête HTTP Content-Length de la réponse. |
| Lorsque la réponse contient l'en-tête HTTP Content-Range, ce champ contient la valeur de début de la plage. |
| Lorsque la réponse contient l'en-tête HTTP Content-Range, ce champ contient la valeur de fin de la plage. |
Source: logtype = 'cloudfront-rtl'
Grok:
^%{NOTSPACE:timestamp}.\d{3}%{SPACE}%{NOTSPACE:c_ip}%{SPACE}%{NOTSPACE:time_to_first_byte}%{SPACE}%{NOTSPACE:sc_status}%{SPACE}%{NOTSPACE:sc_bytes}%{SPACE}%{NOTSPACE:cs_method}%{SPACE}%{NOTSPACE:cs_protocol}%{SPACE}%{NOTSPACE:cs_host}%{SPACE}%{NOTSPACE:cs_uri_stem}%{SPACE}%{NOTSPACE:cs_bytes}%{SPACE}%{NOTSPACE:x_edge_location}%{SPACE}%{NOTSPACE:x_edge_request_id}%{SPACE}%{NOTSPACE:x_host_header}%{SPACE}%{NOTSPACE:time_taken}%{SPACE}%{NOTSPACE:cs_protocol_version}%{SPACE}%{NOTSPACE:cs_ip_version}%{SPACE}%{NOTSPACE:cs_user_agent}%{SPACE}%{NOTSPACE:cs_referer}%{SPACE}%{NOTSPACE:cs_cookie}%{SPACE}%{NOTSPACE:cs_uri_query}%{SPACE}%{NOTSPACE:x_edge_response_result_type}%{SPACE}%{NOTSPACE:x_forwarded_for}%{SPACE}%{NOTSPACE:ssl_protocol}%{SPACE}%{NOTSPACE:ssl_cipher}%{SPACE}%{NOTSPACE:x_edge_result_type}%{SPACE}%{NOTSPACE:fle_encrypted_fields}%{SPACE}%{NOTSPACE:fle_status}%{SPACE}%{NOTSPACE:sc_content_type}%{SPACE}%{NOTSPACE:sc_content_len}%{SPACE}%{NOTSPACE:sc_range_start}%{SPACE}%{NOTSPACE:sc_range_end}%{SPACE}%{NOTSPACE:c_port}%{SPACE}%{NOTSPACE:x_edge_detailed_result_type}%{SPACE}%{NOTSPACE:c_country}%{SPACE}%{NOTSPACE:cs_accept_encoding}%{SPACE}%{NOTSPACE:cs_accept}%{SPACE}%{NOTSPACE:cache_behavior_path_pattern}%{SPACE}%{NOTSPACE:cs_headers}%{SPACE}%{NOTSPACE:cs_header_names}%{SPACE}%{NOTSPACE:cs_headers_count}$
Results:
Champ | Définition |
---|---|
| La date et l’heure auxquelles le serveur Edge a fini de répondre à la demande. |
| L'adresse IP du spectateur qui a effectué la demande, par exemple, |
| Le nombre de secondes entre la réception de la demande et l'écriture du premier octet de la réponse, tel que mesuré sur le serveur. |
| Un code d’état HTTP ; par exemple, |
| Le nombre total d'octets que le serveur a envoyé au spectateur en réponse à la demande, y compris les en-têtes. Pour les connexions WebSocket, il s'agit du nombre total d'octets envoyés du serveur au client via la connexion. |
| La méthode de requête HTTP reçue du spectateur. |
| Le protocole de la demande du spectateur (http, https, ws ou wss). |
| La valeur que le spectateur a incluse dans l'en-tête Hôte de la requête. Si vous utilisez le nom de domaine CloudFront dans les URL de votre objet (par exemple, d111111abcdef8.cloudfront.net), ce champ contient ce nom de domaine. Si vous utilisez des noms de domaine alternatifs (CNAME) dans les URL de votre objet (tels que www.exemple.com), ce champ contient le nom de domaine alternatif. |
| L'URL de la demande complète, y compris la chaîne de requête (si elle existe), mais sans le nom de domaine. Par exemple, |
| Le nombre total d'octets de données que le spectateur a inclus dans la demande, y compris les en-têtes. Pour les connexions WebSocket, il s'agit du nombre total d'octets envoyés du client au serveur sur la connexion. |
| L'emplacement du bord qui a servi la requête. Chaque emplacement de bord est identifié par un code à trois lettres et un numéro attribué arbitrairement (par exemple, DFW3). Le code à trois lettres correspond généralement au code d'aéroport de l'Association du transport aérien international (IATA) pour un aéroport proche de l'emplacement géographique de l'emplacement périphérique. (Ces abréviations pourraient changer à l'avenir.) |
| Comment CloudFront classe la réponse après que le dernier octet a quitté l'emplacement périphérique. Dans certains cas, le type de résultat peut changer entre le moment où CloudFront est prêt à envoyer la réponse et le moment où CloudFront a terminé d'envoyer la réponse. |
| Une chaîne opaque qui identifie de manière unique une demande. CloudFront envoie également cette chaîne dans l'en-tête de réponse x-amz-cf-id. |
| Le nom de domaine de la distribution CloudFront (par exemple, |
| Le nombre de secondes (au millième de seconde, par exemple, 0,082) entre le moment où le serveur reçoit la demande du spectateur et le moment où le serveur écrit le dernier octet de la réponse dans la file d'attente de sortie, tel que mesuré sur le serveur. Du point de vue du spectateur, le temps total nécessaire pour obtenir la réponse complète sera plus long que cette valeur en raison de la latence du réseau et de la mise en mémoire tampon TCP. |
| La version HTTP que le spectateur a spécifiée dans la requête. Les valeurs possibles incluent |
| La version IP de la requête (IPv4 ou IPv6). |
| La valeur de l'en-tête utilisateur-Agent dans la requête. L'en-tête utilisateur-Agent identifie la source de la demande, comme le type d'appareil et de navigateur qui a soumis la demande ou, si la demande provient d'un moteur de recherche, quel moteur de recherche. |
| La valeur de l'en-tête Referer dans la requête. Il s’agit du nom du domaine à l’origine de la demande. Les référents courants incluent les moteurs de recherche, d’autres sites Web qui renvoient directement vers vos objets et votre propre site Web. |
| L'en-tête du cookie dans la demande, y compris les paires nom-valeur et l'attribut associé. |
| La partie chaîne de requête de l'URL de la demande, le cas échéant. |
| Comment le serveur a classé la réponse juste avant de renvoyer la réponse au spectateur. Voir également le champ x-edge-result-type. Les valeurs possibles incluent :
|
| Si le spectateur a utilisé un proxy HTTP ou un équilibreur de charge pour envoyer la requête, la valeur du champ c-ip est l'adresse IP du proxy ou de l'équilibreur de charge. Dans ce cas, ce champ est l'adresse IP du spectateur à l'origine de la demande. Ce champ contient une adresse IPv4 (par exemple, |
| Lorsque la requête utilise HTTPS, ce champ contient le protocole SSL/TLS que le visualiseur et le serveur ont négocié pour transmettre la requête et la réponse. |
| Lorsque la requête utilise HTTPS, ce champ contient le chiffrement SSL/TLS que le visualiseur et le serveur ont négocié pour crypter la requête et la réponse. |
| Comment le serveur a classé la réponse après que le dernier octet a quitté le serveur. Dans certains cas, le type de résultat peut changer entre le moment où le serveur est prêt à envoyer la réponse et le moment où il termine l'envoi de la réponse. Voir également le champ Les valeurs possibles incluent :
|
| Le nombre de champs de chiffrement au niveau du champ que le serveur a chiffrés et transmis à l'origine. Les serveurs CloudFront diffusent la demande traitée vers l'origine pendant qu'ils chiffrent les données. Ce champ peut donc avoir une valeur même si la valeur de |
| Lorsque le chiffrement au niveau du champ est configuré pour une distribution, ce champ contient un code qui indique si le corps de la demande a été traité avec succès. Lorsque le serveur traite avec succès le corps de la demande, crypte les valeurs dans les champs spécifiés et transmet la demande à l'origine, la valeur de ce champ est Traité. La valeur de Les valeurs possibles pour ce champ incluent : *
|
| La valeur de l'en-tête HTTP Content-Type de la réponse. |
| La valeur de l'en-tête HTTP Content-Length de la réponse. |
| Lorsque la réponse contient l'en-tête HTTP Content-Range, ce champ contient la valeur de début de la plage. |
| Lorsque la réponse contient l'en-tête HTTP Content-Range, ce champ contient la valeur de fin de la plage. |
| Le numéro de port de la demande du spectateur. |
| Lorsque la valeur du champ
|
| Un code de pays qui représente l'emplacement géographique du spectateur, tel que déterminé par l'adresse IP du spectateur. |
| La valeur de l'en-tête |
| La valeur de l'en-tête |
| Le modèle de chemin qui identifie le comportement du cache correspondant à la demande du visualiseur. |
| Les en-têtes HTTP (noms et valeurs) dans la demande du visualiseur. |
| Les noms des en-têtes HTTP (pas des valeurs) dans la demande du visualiseur. |
| Le nombre d'en-têtes HTTP dans la demande du visualiseur. |
Source: logtype = 'elb'
Grok:
^%{TIMESTAMP_ISO8601:time} %{NOTSPACE:elb} %{NOTSPACE:client_ip}:%{NOTSPACE:client_port} ((%{NOTSPACE:backend_ip}:%{NOTSPACE:backend_port})|-) %{NOTSPACE:request_processing_time} %{NOTSPACE:backend_processing_time} %{NOTSPACE:response_processing_time} %{NOTSPACE:elb_status_code} %{NOTSPACE:backend_status_code} %{NOTSPACE:received_bytes} %{NOTSPACE:sent_bytes} "%{DATA:request}" "%{DATA:user_agent}" %{NOTSPACE:ssl_cipher} %{NOTSPACE:ssl_protocol}
Results:
Champ | Définition |
---|---|
| L'emplacement du bord qui a servi la requête. Chaque emplacement de bord est identifié par un code à trois lettres et un numéro attribué arbitrairement ; par exemple, |
| Le nombre total d'octets que CloudFront a servis au spectateur en réponse à la requête, y compris les en-têtes ; par exemple, |
| L'adresse IP du spectateur qui a fait la demande. Si le spectateur a utilisé un proxy HTTP ou un équilibreur de charge pour envoyer la requête, la valeur de |
| La méthode de requête HTTP : |
| Le nom de domaine de la distribution CloudFront ; par exemple, |
| La partie de l'URI qui identifie le chemin et l'objet ; par exemple, |
| Un code d’état HTTP (par exemple, Si le visualiseur ferme la connexion après que CloudFront a commencé à envoyer la réponse, le log contient le code d'état HTTP applicable. |
| le nom du domaine à l'origine de la demande. Les référents courants incluent les moteurs de recherche, d’autres sites Web qui renvoient directement vers vos objets et votre propre site Web. |
| La valeur de l'en-tête utilisateur-Agent dans la requête. L'en-tête utilisateur-Agent identifie la source de la demande, comme le type d'appareil et de navigateur qui a soumis la demande et le moteur de recherche, le cas échéant. |
| La partie chaîne de requête de l'URI, le cas échéant. Lorsqu'un URI ne contient pas de chaîne de requête, la valeur de ce champ est un trait d'union ( |
| L'en-tête du cookie dans la demande, y compris les paires nom-valeur et l'attribut associé.
|
| Comment CloudFront classe la réponse après que le dernier octet a quitté l'emplacement périphérique. Dans certains cas, le type de résultat peut changer entre le moment où CloudFront est prêt à envoyer la réponse et le moment où CloudFront a terminé d'envoyer la réponse. |
| Une chaîne cryptée qui identifie de manière unique une demande. Dans l'en-tête de réponse, il s'agit |
| La valeur que le spectateur a incluse dans l'en-tête Hôte pour cette requête. Il s'agit du nom de domaine dans la demande.
|
| Le protocole que le spectateur a spécifié dans la requête : |
| Le nombre d'octets de données que le spectateur a inclus dans la demande, y compris les en-têtes. Pour les connexions WebSocket, il s'agit du nombre total d'octets envoyés du client au serveur sur la connexion. |
| Le nombre de secondes (au millième de seconde ; par exemple, 0,002) entre le moment où un serveur de périphérie CloudFront reçoit la demande d'un spectateur et le moment où CloudFront écrit le dernier octet de la réponse dans la file d'attente de sortie du serveur de périphérie, tel que mesuré sur le serveur. Du point de vue du spectateur, le temps total nécessaire pour obtenir l’objet complet sera plus long que cette valeur en raison de la latence du réseau et de la mise en mémoire tampon TCP. |
| Si le spectateur a utilisé un proxy HTTP ou un équilibreur de charge pour envoyer la requête, la valeur de Si le spectateur n'a pas utilisé de proxy HTTP ou d'équilibreur de charge, la valeur de |
| Lorsque
|
| Lorsque
|
| Comment CloudFront a classé la réponse juste avant de renvoyer la réponse au spectateur. Les valeurs possibles incluent :
|
| La version HTTP que le spectateur a spécifiée dans la requête. Les valeurs possibles incluent :
|
| Lorsque le chiffrement au niveau du champ est configuré pour une distribution, ce champ contient un code qui indique si le corps de la demande a été traité avec succès. Si le chiffrement au niveau du champ n'est pas configuré pour la distribution, la valeur de ce champ est un tiret ( Lorsque CloudFront traite avec succès le corps de la demande, crypte les valeurs dans les champs spécifiés et transmet la demande à l'origine, la valeur de ce champ est Si la demande dépasse une limite de chiffrement au niveau du champ, |
| Le nombre de champs que CloudFront a chiffrés et transmis à l'origine. CloudFront transmet la requête traitée à l'origine pendant qu'il crypte les données, de sorte que Si le chiffrement au niveau du champ n'est pas configuré pour la distribution, la valeur de |
| Le numéro de port de la demande du spectateur. |
| Le nombre de secondes entre la réception de la demande et l'écriture du premier octet de la réponse, tel que mesuré sur le serveur. |
| Lorsque |
| La valeur de l'en-tête HTTP Content-Type de la réponse. |
| La valeur de l'en-tête HTTP Content-Length de la réponse. |
| Lorsque la réponse contient l'en-tête HTTP Content-Range, ce champ contient la valeur de début de la plage. |
| Lorsque la réponse contient l'en-tête HTTP Content-Range, ce champ contient la valeur de fin de la plage. |
Source: logtype = 'haproxy_http'
Grok:
%{HOSTPORT:client} \\[%{NOTSPACE:haproxy_timestamp}\\] %{NOTSPACE:frontend_name} %{NOTSPACE:backend_name}/%{NOTSPACE:server_name} %{NUMBER:time_queue}/%{NUMBER:time_backend_connect}/%{NUMBER:time_duration} %{NUMBER:bytes_read} %{NOTSPACE:termination_state} %{NUMBER:actconn}/%{NUMBER:feconn}/%{NUMBER:beconn}/%{NUMBER:srvconn}/%{NUMBER:retries} %{NUMBER:srv_queue}/%{NUMBER:backend_queue}
%{HOSTPORT:client} \\[%{NOTSPACE:haproxy_timestamp}\\] %{NOTSPACE:frontend_name} %{NOTSPACE:backend_name}/%{NOTSPACE:server_name} %{NUMBER:time_client_req}/%{NUMBER:time_queue}/%{NUMBER:time_backend_connect}/%{NUMBER:time_server_response}/%{NUMBER:time_duration} %{NUMBER:status_code} %{NUMBER:bytes_read} %{NOTSPACE:captured_request_cookie} %{NOTSPACE:captured_response_cookie} %{NOTSPACE:termination_state_with_cookie_status} %{NUMBER:actconn}/%{NUMBER:feconn}/%{NUMBER:beconn}/%{NUMBER:srvconn}/%{NUMBER:retries} %{NUMBER:srv_queue}/%{NUMBER:backend_queue}?( \\\"%{GREEDYDATA:full_http_request}\\\")?( %{NOTSPACE:captured_response_headers})?
Results:
client
: IP/Port source de cette requêtehaproxy_timestamp
: horaire lorsque cette demande a été acceptéefrontend_name
: Nom du frontend utilisé dans cette requêtebackend_name
: Nom du backend utilisé dans cette requêteserver_name
: Nom du serveur dans le groupe backend utilisé dans cette requêtetime_client_req
: Temps d'attente pour la demande complète du client (ms)time_queue
: Temps d'attente dans les files d'attente (ms)time_backend_connect
:Temps nécessaire pour établir la connexion au serveur de destination (ms)time_server_response
:Temps nécessaire au serveur de destination pour envoyer la réponse (ms)time_duration
: Temps total de requête active dans HAProxy (ms)status_code
:Code de réponse HTTPbytes_read
: Nombre total d'octets lus dans cette requêtecaptured_request_cookie
:Cookie capturé à partir de la requêtecaptured_response_cookie
:Cookie capturé à partir de la réponsetermination_state
: État de la session à la déconnexiontermination_state_with_cookie_status
: État de la session, y compris l'état des cookies, lors de la déconnexionactconn
:Connexions activesfeconn
:Connexions frontalesbeconn
:Connexions backendsrvconn
: Connexions au serveurretries
:Réessaissrv_queue
: Taille de la file d'attente du serveurbackend_queue
: Taille de la file d'attente du backendfull_http_request
:La ligne de requête HTTP complètecaptured_response_headers
: En-tête capturé de la réponse
Source: logtype = 'ktranslate-health'
Grok:
%{NOTSPACE:timestamp} ktranslate(/)?(%{GREEDYDATA:container_service})? \[%{NOTSPACE:severity}] %{GREEDYDATA:message}
Results:
timestamp
: L'heure du logcontainer_service
: L'identifiant unique utilisé pour distinguer le conteneur dans ktranslate. Ceci est défini pendant l'exécution de Docker avec l'indicateur facultatif--service_name
severity
:La gravité de la ligne de logmessage
:Le champ de message contient un message de forme libre qui fournit des informations sur l'événement
Source: logtype = 'linux_cron'
Grok:
%{SYSLOGTIMESTAMP:linux_cron.timestamp} %{NOTSPACE:linux_cron.hostname} %{DATA:linux_cron.process}(\[%{NUMBER:linux_cron.pid:integer}\])?: (\(%{DATA:linux_cron.user}\))?%{GREEDYDATA:linux_cron.message}
Results:
linux_cron.timestamp
: L'heure du loglinux_cron.hostname
: Le serveur Linux nom d'hôtelinux_cron.process
: Le nom du processus cron Linuxlinux_cron.pid
:Le PID cron Linux (identifiant de processus)linux_cron.user
: L'utilisateur Linux qui a exécuté le cronlinux_cron.message
: Le message de log
Source: logtype = 'linux_messages'
Grok:
%{SYSLOGTIMESTAMP:linux_messages.timestamp} %{NOTSPACE:linux_messages.hostname} %{DATA:linux_messages.process}(\[%{NUMBER:linux_messages.pid:integer}\])?: %{GREEDYDATA:linux_messages.message}
Results:
linux_messages.timestamp
: L'heure du loglinux_messages.hostname
: Le serveur Linux nom d'hôtelinux_messages.process
: Le nom du processus Linuxlinux_messages.pid
:Le PID Linux (identifiant de processus)linux_messages.message
: Le message de log
Source: logtype = 'iis_w3c'
Grok:
%{TIMESTAMP_ISO8601:log_timestamp} %{NOTSPACE:server_ip} %{WORD:method} %{NOTSPACE:uri} %{NOTSPACE:uri_query} %{NOTSPACE:server_port} %{NOTSPACE:username} %{NOTSPACE:client_ip} %{NOTSPACE:user_agent} %{NOTSPACE:referer} %{NOTSPACE:status} %{NOTSPACE:substatus} %{NOTSPACE:win32_status} %{NOTSPACE:time_taken}
Results:
IIS permet plusieurs options de configuration. Si vous avez configuré des options en dehors de la valeur par défaut, notre modèle Grok n'analysera pas votre log. Dans ce cas, nous vous recommandons d’utiliser une analyse personnalisée.
Source: logtype = 'mongodb'
Grok:
%{TIMESTAMP_ISO8601:mongodb.timestamp} %{WORD:mongodb.severity} %{WORD:mongodb.component} *\[%{WORD:mongodb.context}\] %{GREEDYDATA:mongodb.message}
Results:
mongodb.timestamp
: L'horodatage de l'instruction logmongodb.severity
:Le niveau de gravité de l'instruction log (F=Fatal, E=Erreur, W=Avertissement, I=Informationnel, D1-5=Débogage)mongodb.component
: La catégorie du thread émettant l'instruction logmongodb.context
: Le nom du thread émettant l'instruction logmongodb.message
:Le message brut de MongoDB
Source: logtype = 'monit'
Grok:
\\[%{NOTSPACE:tz} %{SYSLOGTIMESTAMP:nr_timestamp}\\] %{WORD:state}%{SPACE}: %{GREEDYDATA:message}
Results:
state
:La gravité de la ligne de logmessage
:Le message
Source: logtype = 'mysql-error'
Grok:
\\[%{WORD:log_level}\\]
Results:
log_level
:La gravité de la ligne de log
Source: logtype = 'nginx'
Grok:
%{IPORHOST:clientip} %{USER:ident} %{USER:auth} \[%{HTTPDATE:timestamp}\] "(?:%{WORD:verb} %{NOTSPACE:request}(?: HTTP/%{NUMBER:httpversion})?|%{DATA:rawrequest})" %{NUMBER:response} (?:%{NUMBER:bytes}|-) %{QS:referrer} %{QS:agent}
Results:
clientip
: L'adresse IP du clientverb
:Le verbe HTTPident
: L'identité de l'utilisateur du client effectuant la demanderesponse
: Le code d'état HTTP de la réponserequest
: L'URI et la demande en courshttpversion
:La version HTTP de la requêterawrequest
:La requête HTTP brute si les données sont publiéesbytes
: Le nombre d'octets envoyésreferrer
: Le référent HTTPagent
: L'agent utilisateur du client
Source: logtype = 'nginx-error'
Grok:
^(?<timestamp>%{YEAR:year}[./-]%{MONTHNUM:month}[./-]%{MONTHDAY:day}[- ]%{TIME:time}) \[%{WORD:severity}\] %{POSINT:pid}#%{NUMBER}: \*%{NUMBER} %{GREEDYDATA:errormessage} client: %{IPORHOST:client}, server: %{NOTSPACE:server}, request: (\\)?"%{DATA:request}", (?:, upstream: \"%{URI:upstream}\")?host: (\\)?"%{NOTSPACE:host}(\\)?"(, referrer: (\\)?"%{URI:referrer}(\\)?")?
Results:
severity
:La gravité de la ligne de logpid
: L'ID du processus serveurerrormessage
:Le message d'erreurclientip
: L'adresse IP du client appelantserver
: L'adresse IP du serveurrequest
:La demande complèteupstream
: L'URI en amonthost
: Le nom d'hôte du serveurreferrer
: Le référent HTTP
Source: logtype = 'postgresql'
Grok:
%{DATA:postgresql.timestamp} \[%{NUMBER:postgresql.pid}\] %{WORD:level}:\s+%{GREEDYDATA:postgresql.message}
Résultats
postgresql.timestamp
: L'horodatage du logpostgresql.pid
: L'ID du processus serveurlevel
: Le niveau de log du messagepostgresql.message
: Le message de log
Source: logtype = 'rabbitmq'
Grok:
%{TIMESTAMP_ISO8601:rabbitmq.timestamp} \[%{LOGLEVEL:level}\] \<%{DATA:rabbitmq.pid}\> %{GREEDYDATA:rabbitmq.message}
Results:
rabbitmq.timestamp
: L'horodatage du loglevel
: Le niveau de log du message (debug, info, warning, error, critical, none)rabbitmq.pid
: L'ID de processus de la ligne lograbbitmq.message
: Le message d'erreur lapinmq
Source: logtype = 'redis'
Grok:
%{POSINT:redis.pid}:%{NOTSPACE:redis.role} (?<redistimestamp>[\d-]+ [a-zA-Z]+ [\d]+ [\d:]+.[\d]{3}) %{NOTSPACE:level} %{GREEDYDATA:redis.message}
Results:
redis.pid
: L'ID de processus de la ligne logredis.role
: Le rôle de l'instance (X sentinelle, C RDB/AOF écriture enfant, S esclave, M maître)redistimestamp
: L'horodatage du loglevel
: Le niveau de log du message (. debug, - verbose, * notice, # warning)redis.message
: Le message d'erreur redis
Source: logtype = 'route-53'
Grok:
%{NUMBER:log_format_version} %{TIMESTAMP_ISO8601} %{WORD:zone_id} %{IPORHOST:query} %{WORD:query_type} %{WORD:response_code} %{WORD:protocol} %{WORD:edge_location} %{IP:resolver_ip} %{GREEDYDATA:edns_client_subnet}
Results:
log_format_version
: Un format versionné pour le log.zone_id
: L'ID de la zone hébergée associée à toutes les requêtes DNS dans ce log.query
: Le domaine ou le sous-domaine qui a été spécifié dans la demande.query_type
: Soit le type d'enregistrement DNS qui a été spécifié dans la demande, soitANY
.response_code
:Le code de réponse DNS que Route 53 a renvoyé en réponse à la requête DNS.protocol
: Le protocole utilisé pour soumettre la requête, TCP ou UDP.edge_location
:L'emplacement du bord de la Route 53 qui a répondu à la requête. Chaque emplacement de bord est identifié par un code à trois lettres et un numéro arbitraire ; par exemple,DFW3
. Le code à trois lettres correspond généralement au code d'aéroport de l'Association du transport aérien international pour un aéroport proche de l'emplacement périphérique. (Ces abréviations pourraient changer à l'avenir.)resolver_ip
: L'adresse IP du résolveur DNS qui a soumis la demande à Route 53.edns_client_subnet
: Une adresse IP partielle pour le client à l'origine de la demande, si disponible auprès du résolveur DNS.
Source: logtype = 'syslog-rfc5424'
Grok:
<%{NONNEGINT:pri}>%{NONNEGINT:version} +(?:%{TIMESTAMP_ISO8601:log.timestamp}|-) +(?:%{HOSTNAME:hostname}|-) +(?:\\-|%{NOTSPACE:app.name}) +(?:\\-|%{NOTSPACE:procid}) (?:\\-|%{NOTSPACE:msgid}) +(?:\[%{DATA:structured.data}\]|-|) +%{GREEDYDATA:message}
Results:
pri
:La priorité représente à la fois la facilité et la gravité du message.version
:Version du protocole Syslog.log.timestamp
:Horodatage original.hostname
: La machine qui a initialement envoyé le message Syslog.app.name
: L'appareil ou l'application à l'origine du message.procid
: Le nom du processus ou l'ID du processus associé à un système Syslog.msgid
: Identifie le type de message.structured.data
:Valeur de chaîne de données structurée.sd.sd-id.sd-param-name
:Le contenustructured.data
est également analysé dans un attribut distinct suivant une convention de dénomination prédéfinie :sd.sd-id.sd-param-name
. Consultez les exemples d’analyse de données structurées qui suivent.message
:Message libre qui fournit des informations sur l'événement.
Structured data parsing examples:
Les données structurées [example one="1" two="2"]
seraient analysées en deux attributs différents :
sd.example.one: "1"sd.example.two: "2"
Si le même bloc de données structuré contient des noms de paramètres en double, il ajoute également un suffixe basé sur un index au nom de l'attribut. Par exemple, les données structurées [example number="1" number="2"]
seraient analysées comme suit :
sd.example.number.0: "1"sd.example.number.1: "2"
Pour les données structurées auxquelles sont attribués des numéros d'entreprise, un attribut supplémentaire est également analysé. Par exemple, les données structurées [example@123 number="1"]
seraient analysées comme suit :
sd.example.enterprise.number: 123sd.example.number: "1"