2017-02-28 9 views
1

신청서의 끝점을 사용하여 애플리케이션에 데이터를 게시하는 알림이 있습니다.Bosun : 게시 URL을 사용하여 정보를 저장하고 동일한 정보를 가져 와서 템플릿에 사용하십시오.

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

그래서 끝점은 모든 세부 사항을 mysql DB에 저장합니다.

이제 템플릿에서 알림에서 webhook을 사용하여 저장 한 세부 정보를 얻기 위해 다른 끝점을 호출합니다.

template ABC { 
    use the " getDetailsUrl" and use the details in forming the email 
} 

이제 문제는 경쟁 조건입니다. 때로는 세부 사항이 아직 백엔드 (mysql)에 저장되지 않고 getDetailsUrl이 호출되기도합니다. 그래서 우리는 빈 결과를 얻습니다.

경쟁 조건을 해결할 방법이 있습니까?

답변

0

보산의 통보 시스템은 매우 기본으로 설계되었습니다. 보다 진보 된 것을 원한다면 별도의 시스템을 사용하여 알림 세부 정보를 생성하거나 경고 워크 플로를 처리해야합니다. 어떤 사람들은 pagerduty 또는 Shinken과 같은 다른 모니터링 시스템을 사용하여 더 많은 고급 알림 또는 경고 관리를 수행했습니다.

가장 좋은 방법은 내장 된 알림을 건너 뛰고 외부 시스템의 모든 작업을 수행하는 것입니다. http://bosun.org/api을 사용하여 다양한 경고 상태 (crit/warn/ack/close/etc)와 통합하거나 log = true을 사용하여 경고 메시지를 변경하여 모든 기본 제공 상태를 무시하고 자신의 작업 과정을 만들 수 있습니다.