elasticsearch / kibana 4: champ existe, mais n'est pas égale à une valeur
elasticsearch version 1.4.5
kibana 4.1.1
logstash 1.5.2-1
Comment structurer une recherche dans la découverte de l'onglet de kibana 4 qui ne retourne que des résultats si un champ existe, mais n'est pas égale à une valeur spécifique?
J'ai quelques log d'apache données dans logstash et je veux retourner toutes les entrées qui ont status_code
défini mais pas égal à 200. Donc, si les valeurs possibles sont {indéfini, 200, 403, 404, 500, etc} je voudrais voir toutes les variantes de 4xx et 5xx erreurs mais pas les messages où le champ n'est pas défini et non pas où il est fixé à 200.
J'ai essayé ce qui suit:
+status_code: (*) -status_code: (200)
((status_code: (*) AND NOT status_code: (200))
Je vois aussi des références à d'elasticsearch curl requêtes mais je ne suis pas sûr de la façon de les transformer en quelque chose que je peux utiliser dans la kibana barre de recherche. Voici un exemple:
{
"query": {
"constant_score": {
"filter": {
"bool": {
"must": {
"exists": {
"field": "status_code"
}
},
"must_not": {
"term": {
"status_code": '200'
}
}
}
}
}
}
}
Merci!
Vous devez vous connecter pour publier un commentaire.
La requête que vous cherchez est celui-ci:
Ce lien vous montre tous ce qui est pris en charge par la chaîne de requête les requêtes.
La réponse précédente est exactement ce que j'ai demandé, cependant, cela peut aussi être utile: