我们正在使用Riemann和Riemann-health来监控我们的服务器.但是现在我得到了很多CPU严重警告,因为CPU在很短的时间内达到了顶峰 - 这是我认为我甚至不需要知道的.根据我的理解,持续的高CPU使用率将增加负载平均值,这也将被报告并且听起来更有用.
我不想禁用报告CPU,只是认为每个级别都可以.如果可能的话,我想更改Riemann服务器上的事件,所以我不必更改所有服务器.
在这里我们的黎曼配置:https://gist.github.com/iGEL/e352764a8c559440c851
我正在使用logstash,elasticsearch并kibana分析我的日志.当特定字符串通过emaillogstash中的输出进入日志时,我通过电子邮件发出警报:
email {
match => [ "Session Detected", "logline,*Session closed*" ]
...........................
}
Run Code Online (Sandbox Code Playgroud)
这很好用.
现在,我想提醒一个字段的计数(超过阈值时):
例如,如果user是字段,我想在独特用户数超过5 时发出警报.
可以通过emaillogstash中的输出完成吗?
请帮忙.
编辑: 正如@Alcanzar告诉我做的那样:
配置文件:
if [server] == "Server2" and [logtype] == "ABClog" {
grok{
match => ["message", "%{TIMESTAMP_ISO8601:timestamp} %{HOSTNAME:server-name} abc\[%{INT:id}\]:
\(%{USERNAME:user}\) CMD \(%{GREEDYDATA:command}\)"]
}
metrics {
meter => ["%{user}"]
add_tag => "metric"
}
}
Run Code Online (Sandbox Code Playgroud)
所以根据上面的说法,为了server2和abclog我有一个grok模式来解析我的文件和在usergrok解析的字段上我希望应用度量.
我在上面的配置文件中做了这个,但是当我检查logstash控制台时,我得到了奇怪的行为-vv. …
我有一个dropwizard应用程序,它可以发出yammer指标,可以通过http:// localhost:8081/admin/metrics这样的URL进行监控,它以jsons的形式给出结果.
我想在riemann中发送这些监控这些指标,我不知道如何启动.我浏览了riemann-java-client,它有yiemer指标的RiemannReporter类,但我不知道如何在我的应用程序中使用它.
如何将此客户端集成到我的应用程序或如何从URL中捕获jsons并将这些事件作为事件发送到riemann服务器?
我是 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) 我已经安装了riemann-0.2.13-1.noarch作为RPM服务.我从logstash 5.2.1发送事件,我安装的插件是logstash-output-riemann-3.0.0我写了下面的riemann代码来触发电子邮件.我越来越异常了.请指出我哪里出错了.
黎曼配置:
(let [email (mailer {:host "XXXXX"
:port 25
:subject (fn [events] "Consecutive login failed")
:body (fn [events] "Hello Team, \n \n There are more consecutive logins failure occured @" (riemann.common/time-at (:timestamp event))"")
:from "XXXX"})]
(streams
;Check for every 120sec events
(fixed-time-window
120
(smap
(fn [events]
(let [count-of-failures (count (filter #(re-find #"com.thed.server.access.Exception. Please reset credentials for user. Last error occurred was:Authentication failed, please check user credentials*" (:message %)) events))] ;Calculate the count for matched value
(event
{:status "Class failures" …Run Code Online (Sandbox Code Playgroud) StatsD与Riemann有什么区别?哪一个在大型分布式系统上表现更好?我们有一个基于Java的分布式平台,我们希望监控应用程序指标和一些警报.我们知道仪器不是免费的,所以理想情况下我们正在寻找一种高度可扩展的应用程序监控框架,它可以为我们的平台/应用程序增加最少的仪表成本,并能够进行各种聚合等等.我也明白我们可以建立两者兼而有之的东西,但我想不出原因?因为两者似乎都在进行聚合等等,但是我无法确定哪一个更合适,或者为什么一个比另一个更好.如果有人可以分享他们在行业中使用这些工具的经验,那将是一个很大的帮助.