2017-07-19 1 views
0

J'ai besoin d'aide pour écrire une requête de saisie Watcher pour ElasticSearch (v5.3). Mon exigence est de déclencher l'alerte si le code d'état Apache devient 500 ou plus.ElasticSearch Watcher requête de plage filtrée

Index name: Apache-access-log Field name: status_code Kibana Discover query: status_code: [500 TO 600] Time period: Last 15 minutes.

Voici la requête d'entrée Watcher que je l'ai utilisé, mais il n'a pas fonctionné comme prévu.

{ 
    "search": { 
    "request": { 
     "index": [ 
     "Apache-access-log" 
     ], 
     "body": { 
     "query": { 
      "filtered": { 
      "query": { 
       "query_string": { 
       "query": "status_code: 500", 
       } 
      }, 
      "filter": { 
       "range": { 
       "@timestamp": { 
        "gte": "now-15m", 
        "lte": "now" 
       } 
       } 
      } 
      } 
     } 
     } 
    } 
    } 
} 

Répondre

0

Elasticsearch 5.5 ne prend plus en charge une requête filtrée. Utilisez une requête booléenne avec un filtre

bool: doit: query_string: requête: 'status_code: [500: 600]' filtre: gamme: @timestamp: ...

toujours essayer interroger en tant que requête autonome en premier, avant de le mettre dans observateur. Si vous avez du temps je vous encourage fortement this blog post comment écrire et déboguer des montres