ElasticSearch 5.0 ve xPack ile beraber alarm sistemi Watcher 'da kurulu geliyor. Ben basit bir örnek ile Şu Yazıda formülünü verdiğim şekilde oluşan bir alarm durumunu HipChat'teki özel odaya yönlendirmeyi yaptım.
Dev Tools bölümünden aşağıdaki gibi erhan adından bir watcher yaratıyorum.

PUT /_watcher/watch/erhan
{ 
   "trigger":{ 
      "schedule":{ 
         "interval":"30s"
      }
   },
   "input":{ 
      "search":{ 
         "request":{
            "indices" : [ "logstash*" ],
            "body":{ 
               "query":{
    "query_string": {
      "query": "json.Level:\"ERROR\" && @timestamp: [now-10m TO now]",
      "analyze_wildcard": true
    }}}
         }
      }
   },
   "condition":{ 
      "compare" : {
      "ctx.payload.hits.total" : {
        "gte" : 60
      }
  }
   },
   "actions":{ 
      "hipchatelk":{ 
         "webhook":{ 
            "method":"POST",
            "host":"api.hipchat.com",
            "port":80,
            "path":"/v2/room//notification?auth_token=",
            "headers":{ 
               "Content-Type":"application/json"
            },
            "body":"{\"message\":\"Toplam Error Sayisi {{ctx.payload.hits.total}} Oluşturma: {{now}}\",\"from\":\"ELASTIC SEARCH\",\"notify\":true}"
         }
      }
   }
}

Bir watcher 4 parçadan oluşmaktadır.

Trigger: Tetikleyici (Ne kadar sürede bir?) Input: (Arama terimi) Condition: Arama teriminden gelen sonuç x'ten büyükse çalış gibi Action: Bu alert koşuları sağlarsa ne olsun(Email, SMS, HipChat vb.)

Buradan gördüğümüz gibi ben yukarıdaki kod parçasından 10 saniyede bir çalışıp Kibana'da "json.Level:\"ERROR\" && @timestamp: [now-10m TO now]" sorgusunu çalıştırıp eğer dönen sonuç 60'tan büyükse HipChat'te bildirim gönderme sistemini yaptım.

Evet şu an denemelerimi de yaptım. İlgili hata sayısı gerekli değeri sağladığında hem cep telefonuma hem bilgisayarıma bildirim alıyorum.

Bundan sonrası ise daha mantıklı arama filtreleri yaparak en küçük bir hata anında yakalamaya sağlamaktır.