问题标签 [riemann]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
clojure - 在优化 clojure 语句方面需要帮助
我对 clojure 很陌生,需要设置一个riemann配置,以便轻松编辑/添加新条件。我们现在拥有的:
此外,它缺少默认语句,例如 if nothing match, tell-ops "admin@fo.bar"
我想我需要像顶级结构这样的东西
这样很容易添加新的。但是我不知道如何在第二种情况下考虑到缺少 :channel 并在没有正则表达式匹配的情况下进行“默认调用”来循环该数组
提前致谢
clojure - 收到特定事件后如何清除黎曼指数?
我正在为向黎曼发送事件的应用程序编写单元测试。Riemann 启动非常缓慢,所以我决定启动一次,然后将实例重用于所有测试。因此,我需要在每个新测试开始时从先前测试产生的事件中清除索引。
我想要做的是以这样一种方式配置黎曼,即在接收到特殊事件时它将清除其索引。有一个似乎适合该任务的 API 调用:http ://riemann.io/api/riemann.index.html#var-clear 。但是我对 Clojure 不是很熟悉,我不知道如何使用它。这是我的配置的一部分:
但黎曼未能从这个错误开始:No implementation of method: :clear of protocol: #'riemann.index/Index found for class: nil
这看起来像是(:index @core)
被评估为nil
。
这也不起作用:
错误是:No implementation of method: :clear of protocol: #'riemann.index/Index found for class: riemann.streams$default$stream__9829
clojure - 向黎曼事件添加自定义日期字段
我正在使用 Riemann 的默认配置设置:
它正在输出事件(已删除主机名):
时间字段以 UTC 时间戳的形式出现,使用上面的配置我如何才能向这些名为date的事件添加一个额外的字段,以 dd-mm-yyyy hh:mm:ss 格式显示日期?例如 :
19-10-2015 05:00:00
我有一些似乎可以进行时间转换的功能,但我不确定如何在配置中实现它们:
clojure - clojure 黎曼项目收集
我正在尝试使用 Riemann 和 Collectd 进行自定义配置,显然很简单。基本上我想计算两个流之间的比率。为了做到这一点,我尝试了类似的东西(如 Rieamann API 项目建议here):
这显然有效,但过了一段时间我注意到了一些未计算的结果。日志调试后,我完成了以下配置,以查看发生了什么并标记值:
令我惊讶的是,每次我从 collectd (每 10 秒)获取新数据时,我创建的函数都会执行两次,比如重用以前未使用的数据,而且看起来它根本不关心我在(where (= :time....) clasue。问题是我用不同的时间戳划分指标。下面是前面代码的一些输出:
有没有人可以提示如何按照我的预期格式化数据?我认为我对“项目”功能有些不理解。或者与在 riemann 中如何处理传入数据有关的东西。
提前致谢!
更新
我设法解决了我的问题,但我仍然不清楚它是如何工作的,但是我设法做到了。现在我从 collectd tail 插件(来自 nginx 日志)接收两个不同的流,我设法使它们之间的商如下:
我已经对它进行了广泛的测试,到目前为止它产生了正确的结果。但是我仍然不明白几件事......首先,在两个事件都被处理后,coalesce 是如何只返回数据的。Collectd 每两秒以相同的时间标记发送两个流的事件,使用“project”而不是“coalesce”导致每两秒执行两次不同的 smap(每个事件执行一次),但是仅通过一次执行合并结果smap 与具有相同时间标记的两个事件,这正是我想要的。
最后,我不知道选择哪个是分子和分母的标准。是因为“where”子句中的“or”子句吗?
无论如何,背后有一些黑魔法,但我设法解决了我的问题;^)
谢谢你们!
clojure - 在 riemann 配置文件中声明字符串变量
我是新手,面临一个非常奇怪的问题。我做了很多搜索,但找不到解决方案。我实际上是在尝试在我的 riemann 配置文件中定义一个字符串变量。我正在使用下面给出的语法
每次,我运行 riemann,它都会给我下面的错误 java.lang.String cannot be cast to clojure.lang.IFn
谁能告诉我我做错了什么?
问候
clojure - Clojure 仪表板查询
我正在尝试使用查询 "pingDelay > 0" 在 riemann-dashboard 上显示图表。
我已经使用以下代码索引了我的数据
但是,我在图表上没有得到任何东西。早些时候,我认为可能是因为我的“pingDelay”在字符串“12345”中,所以我也尝试了“:pingDelay #(Long. (get dhtstate 3))”,但没有成功。
任何人都可以帮助我了解我必须做些什么才能使它工作吗?
问候
clojure - 描述事件在黎曼中为零
我正在尝试使用黎曼从logstash 发送电子邮件警报。我的电子邮件应该在满足某些条件时被触发。我编写了 Riemann 配置来发送电子邮件警报,因为我正在从 logstash 发送某些事件,我有硬编码:description
字段,但在我的 Riemann 服务器中,我nil
一如既往地看到描述。我不知道我哪里错了。
黎曼配置
Logstash 配置
在我的黎曼服务器中,我总是看到:description
字段,nil
所以这:total-fail
总是错误的。
黎曼服务器
提前致谢
clojure - Clojure:riemann.streams$smap$stream IllegalArgumentException: 键必须是整数
如果满足某些条件,我有一个 clojure 代码(riemann)来发送电子邮件。在将事件传递给 riemann 服务器时,我遇到了一些问题。
黎曼码
黎曼服务器中的 O/P
更新 2:
我只是将 smap 更改为 sreduce。我应该如何更新,因为我是新手,所以我对根据您的建议更改代码有点困惑
更新 3:
我已经更新了我的代码,coalesce
并smap
有了它的孩子。现在它没有显示任何错误,但电子邮件没有被触发。我越来越count-of-failures
像0
。我想count function
是行不通的。
riemann - 报告 CPU 与 Riemann 一样正常
我们使用 Riemann 和 Riemann-health 来监控我们的服务器。但是现在我收到了很多 CPU 严重警告,因为 CPU 在很短的时间内达到峰值 - 我认为这甚至不需要知道。据我了解,持续的高 CPU 使用率会增加平均负载,这也会被报告并且听起来更有用。
我不想禁用报告 CPU,只是每个级别都应该被认为是好的。如果可能,我想更改 Riemann 服务器上的事件,因此我不必更改所有服务器。
这里是我们的黎曼配置:https ://gist.github.com/iGEL/e352764a8c559440c851
clojure - 黎曼电子邮件中的自定义正文消息
我正在尝试使用 riemann 在电子邮件的正文部分创建自定义消息。我无法动态附加该字段。
黎曼配置:
我的输出:
我的预期输出:
我的时间戳没有附加在:body 中。