Time 波逊时间相关警报

Time 波逊时间相关警报,time,monitoring,alerts,bosun,Time,Monitoring,Alerts,Bosun,早上好 在过去的几天里,我一直在使用bosun监控应用程序,我非常喜欢它。但我需要一件我无法解决的事情 我希望有1个警报,根据时间的不同,其响应会有所不同。所以,我的网站在白天每小时的登录量需要是100,在夜间需要是10。当它低于该值时,我要创建一个警报 如果我使用两个警报执行此操作,白天警报将在夜间关闭。所以我需要有一个查找,检查它是什么时间,然后给出正确的阈值 任何人都知道怎么做 Marcel Koert不具备此功能。我已经考虑过了,但从来没有人向我展示过必要的用例。为什么? 关于这一点,我

早上好

在过去的几天里,我一直在使用bosun监控应用程序,我非常喜欢它。但我需要一件我无法解决的事情

我希望有1个警报,根据时间的不同,其响应会有所不同。所以,我的网站在白天每小时的登录量需要是100,在夜间需要是10。当它低于该值时,我要创建一个警报

如果我使用两个警报执行此操作,白天警报将在夜间关闭。所以我需要有一个查找,检查它是什么时间,然后给出正确的阈值

任何人都知道怎么做


Marcel Koert不具备此功能。我已经考虑过了,但从来没有人向我展示过必要的用例。为什么?

关于这一点,我考虑了两个一般情况:

  • 某些作业或事件在时间X运行,您不想发出警报,因为它在该作业运行时会出现某些情况。在这种情况下,最好监视作业,而不要在作业运行时发出警报。这使得耦合更加紧密——因此,当您更改作业时间时,警报仍然不会错误触发
  • 随时间变化的事物。如果我没弄错的话,这就是你所指的情况。发生这种情况时,我们会看到数据的一些季节性(在下面的示例中为每周季节性):

为了处理这种情况,我们使用异常警报。这实际上是在说“这不是过去几周每周同一时间的情况,发出警报”。这方面的关键功能是函数。以下是从以下方面执行此操作的示例:


希望此路径能解决您的警报需求?

Bosun没有此功能。我已经考虑过了,但从来没有人向我展示过必要的用例。为什么?

关于这一点,我考虑了两个一般情况:

  • 某些作业或事件在时间X运行,您不想发出警报,因为它在该作业运行时会出现某些情况。在这种情况下,最好监视作业,而不要在作业运行时发出警报。这使得耦合更加紧密——因此,当您更改作业时间时,警报仍然不会错误触发
  • 随时间变化的事物。如果我没弄错的话,这就是你所指的情况。发生这种情况时,我们会看到数据的一些季节性(在下面的示例中为每周季节性):

为了处理这种情况,我们使用异常警报。这实际上是在说“这不是过去几周每周同一时间的情况,发出警报”。这方面的关键功能是函数。以下是从以下方面执行此操作的示例:

希望此路径能够解决您的警报需求?

使用
epoch()
函数,您可以确定一天中的什么时间。每天只需修改86400秒,就可以得到相对于当前日期的第二秒。将其与希望窗口开始和结束的UTC时间的开始和结束秒进行比较

如果评估警报的时间在UTC 08:00和03:00之间,此宏将$during_business_hours设置为true

macro business_hours {
    $time = epoch() % 86400
    $start = 8 * 3600
    $end = 3 * 3600
    $during_business_hours = $time >= $start || $time <= $end
}
macro营业时间{
$time=epoch()%86400
$start=8*3600
$end=3*3600
$during_business_hours=$time>=$start | | |$time使用
epoch()
函数可以确定一天中的时间。只需修改
epoch()
以每天86400秒的速度,您就有了相对于当前日期的秒数。将其与您希望窗口开始和结束的UTC时间的开始秒和结束秒进行比较

如果评估警报的时间在UTC 08:00和03:00之间,此宏将$during_business_hours设置为true

macro business_hours {
    $time = epoch() % 86400
    $start = 8 * 3600
    $end = 3 * 3600
    $during_business_hours = $time >= $start || $time <= $end
}
macro营业时间{
$time=epoch()%86400
$start=8*3600
$end=3*3600

$during_business_hours=$time>=$start | |$time每个时间序列后端都有自己的查询函数。Graphite确实有
graphiteBand()
函数,如中所述。示例中还有一个将graphite用于异常警报的示例,每个时间序列后端都有自己的查询函数。graphite确实有
graphiteBand()
函数,如中所述。在示例中还有一个使用graphite进行异常警报的示例,不应该是
&&
而不是
|
?不,因为这跨越了UTC午夜边界,如果时间介于08:00和00:00之间或00:00和03:00之间,我希望它的计算结果为真。保留UTC 03:00和08:00之间的时间作为维护窗口,在该窗口中不会触发警报。啊,这是有道理的。谢谢!这不是应该是
&&
而不是
|
?不,因为这跨越了UTC午夜边界,如果时间在08:00和00:00之间或00:00和03:00之间,我希望它计算为真。离开UTC 03:00和08:00之间的时间作为维护窗口,不会触发警报。啊,这很有意义。谢谢!