2017-05-26 3 views
1

J'utilise Kibana Discover pour filtrer les messages avec différents niveaux de gravité.Kibana Discover: les erreurs de filtre, les exceptions

Selon RFC-3164, il peut être fait en utilisant la formule:

i * 8 + <severity_level> = syslog_pri 

En utilisant cette information, je peux filtrer errors avec severity_level=3 en utilisant quelque chose comme ceci:

# Here is some Python code to extract list of PRI's for errors: 
[i*8 + 3 for i in range(24)] 

syslog_pri: in (3, 11, 19, 27,...)

Le question est: Comment vérifier IN condition dans la chaîne de recherche de Kibana?

Répondre

1

La syntaxe de la barre de recherche Kibana doit être la même que celle de query_string. Quelque chose comme ce qui suit devrait fonctionner:

syslog_pri: (3 OR 11 OR 19 OR...)

+0

Je l'ai essayé, mais ça fonctionne trop lent. Est-ce qu'il y a un autre moyen? – smart

+0

Non, il n'y a pas d'autre moyen. C'est le seul qui est lent? Vous avez peut-être d'autres problèmes: avec le cluster ES, avec combien d'indices (période de temps utilisée) recherchez-vous, les ressources matérielles sur le cluster ES ... Combien de valeurs recherchez-vous? –

+0

Oui, j'utilise juste cette condition. Est-il possible de rechercher par 'syslog_pri' et' @ timestamp' ensemble? – smart