Bosun:使用post url保存信息并获取相同的信息并在模板​​中使用它

时间:2017-02-28 13:50:20

标签: bosun

我们有一个通知,会使用应用程序终点将数据发布到应用程序。

//MARK: - SEARCH

func searchBarSearchButtonClicked(_ searchBar: UISearchBar) {
    if(!(searchBar.text?.isEmpty)!){
        //reload your data source if necessary
        self.collectionView?.reloadData()
    }
}

func searchBar(_ searchBar: UISearchBar, textDidChange searchText: String) {
    if(searchText.isEmpty){
        //reload your data source if necessary
        self.collectionView?.reloadData()
    }
}

因此终点将保存mysql DB中的所有细节。

现在,在我们的模板中,我们调用另一个终点来获取我们在通知中使用webhook保存的详细信息。

notification ABC{
    post = savedetailsurl
    body = {{.|json}}  
    useBody = true
}

现在的问题是竞争条件。有时细节不会保存在后端(mysql)中,并且会调用getDetailsUrl。所以我们得到空的结果。

是否有办法解决竞争条件。

1 个答案:

答案 0 :(得分:0)

博森的通知系统设计得非常基础。如果您想要更高级的东西,则需要使用单独的系统来生成通知详细信息和/或处理警报工作流程。有些人使用pagerduty或其他监控系统(如Shinken)来执行更高级的通知或警报管理。

您最好的选择是跳过内置通知并在外部系统中执行所有操作。您仍然可以使用http://bosun.org/api与各种警报状态(crit / warn / ack / close / etc)集成,或者您可以更改警报以使用log = true绕过所有内置状态并创建你自己的工作流程。