我是 Riemann 和 Clojure 的新手。我想要做的就是在某些服务的 TTL 到期时向三个电子邮件组发送电子邮件通知。我创建了某种配置文件,用于存储电子邮件列表:
{
:email_group_1 (
"first@example.com"
"second@example.ru"
)
:email_group_2 (
"third@example.com"
)
}
Run Code Online (Sandbox Code Playgroud)
我的 riemann 配置如下所示:
(logging/init {:console true})
(import org.apache.log4j.Level)
(logging/set-level Level/DEBUG)
(require '[clojure.java.io :as io])
(import '[java.io PushbackReader])
(let [host "0.0.0.0"]
(tcp-server {:host host :port 60001})
(udp-server {:host host})
(ws-server {:host host :port 60003}))
(repl-server {:host "127.0.0.1"})
(def cwd (System/getProperty "user.dir"))
(def emails
(with-open [r (io/reader (str cwd "/etc/emails.clj"))]
(read (PushbackReader. r))))
(periodically-expire 5)
(def email (mailer))
(defn notify [& egroups]
(for [egroup …Run Code Online (Sandbox Code Playgroud)