Я пытаюсь отправить сообщение электронной почты из logstash с помощью Riemann. Моя электронная почта должна срабатывать по определенным критериям. Я написал конфигурацию Riemann для отправки оповещения по электронной почте о том, что я отправляю определенные события из logstash, у меня есть hardcoded :description
, но на моем сервере Riemann я вижу описание как nil
всегда. Я не знаю, где я ошибаюсь.описание событие получение nil in riemann
Риман Config
(let [host "127.0.0.1"]
(tcp-server {:host host})
(udp-server {:host host})
(ws-server {:host host}))
;Create index and print the values indexed
(let [eindex (default :ttl 300 (update-index (index)))])
;Index event for reserve webservice failure
(let [email (mailer{…….})]
(streams
(where (service "e_log")
(fixed-time-window
1
(smap
(fn [events]
(let [count-of-failures (count (filter #(re-find #"system space*" (:description %)) events))] ;Calculate the count for matched value
(event
{:status "Failure"
:metric count-of-failures
:total-fail (>= count-of-failures 1)})))
(where (and (= (:status event) "Failure")
(:total-fail event))
(email "[email protected]"))prn)))))
Logstash Config
riemann{
host=>localhost
riemann_event => { "service" => "e_log"
"description" => "system space communication"
"metric" => "%{metric}"
"ttl" => "%{ttl}"
}
}
В моем сервере Римана я вижу :description
поле nil
всегда так, что :total-fail
ложна всегда.
Риман Сервер
riemann.codec.Event{:host nil, :service nil, :state nil, :description nil, :metric 0, :tags nil, :time 1447406529, :ttl nil, :status "Failure", :total-fail false}
riemann.codec.Event{:host nil, :service nil, :state nil, :description nil, :metric 0, :tags nil, :time 1447406529, :ttl nil, :status "Failure", :total-fail false}
riemann.codec.Event{:host nil, :service nil, :state nil, :description nil, :metric 0, :tags nil, :time 1447406529, :ttl nil, :status "Failure", :total-fail false}
riemann.codec.Event{:host nil, :service nil, :state nil, :description nil, :metric 0, :tags nil, :time 1447406529, :ttl nil, :status "Failure", :total-fail false}
riemann.codec.Event{:host nil, :service nil, :state nil, :description nil, :metric 0, :tags nil, :time 1447406529, :ttl nil, :status "Failure", :total-fail false}
Заранее спасибо
Может быть полезно провести «prn» события, чтобы вы могли убедиться, что карты, на которые вы пытаетесь получить ключ ': description', действительно имеют этот ключ. Я не знаю в первую очередь о Римане, но мне интересно, могут ли ключи храниться как строки, такие как '' description'' вместо ключевых слов, таких как ': description'? –
Что такое символ '=>' в конфигурации riemann? Предполагается, что это карта clojure? – Bill