Bosun: сохраняйте информацию с помощью почтового URL и получайте ту же информацию и используйте ее в шаблоне
У нас есть уведомление, которое будет публиковать данные в приложении, используя конечную точку приложения.
notification ABC{
post = savedetailsurl
body = {{.|json}}
useBody = true
}
Таким образом, конечная точка сохранит все детали в базе данных mysql.
Теперь в нашем шаблоне мы вызываем другую конечную точку, чтобы получить детали, которые мы сохранили, используя webhook в уведомлении.
template ABC {
use the " getDetailsUrl" and use the details in forming the email
}
Теперь проблема в состоянии гонки. Иногда детали еще не сохраняются в бэкэнде (mysql), и вызывается getDetailsUrl. Таким образом, мы получаем пустой результат.
Есть ли способ решить условия гонки.
1 ответ
Система уведомлений Bosun разработана, чтобы быть очень простой. Если вы хотите что-то более продвинутое, вам нужно будет использовать отдельную систему для генерации деталей уведомления и / или обработки рабочего процесса оповещения. Некоторые люди используют pagerduty или другие системы мониторинга, такие как Shinken, для более сложных уведомлений или управления оповещениями.
Лучше всего, чтобы пропустить встроенные уведомления и делать все во внешней системе. Вы по-прежнему можете использовать http://bosun.org/api для интеграции с различными состояниями предупреждений (crit/warn/ack/close/ и т. Д.) Или изменить свои предупреждения на использование log = true, чтобы обойти все встроенные состояния и создайте свой собственный рабочий процесс.