我们可以有一个变量的样本来重新定义模板吗,documentation在这方面是稀缺的?
在Class package de.codecentric.boot.admin.notify.MailNotifier中我读到
private static final String DEFAULT_SUBJECT = "#{application.name} (#{application.id}) is #{to.status}";
private static final String DEFAULT_TEXT = "#{application.name} (#{application.id})\nstatus changed from #{from.status} to #{to.status}\n\n#{application.healthUrl}";在我的特定用例中,我继承了一堆应用程序,我希望ping或监视它们是活动的。我无法控制它们,但我的应用依赖于它们。
我的应用程序不会失败,但可能会运行不正常(重要一点!)。
所以我添加了一堆自定义HealthIndicator来让ping监控它们,它们工作得很完美,我很高兴更改了一个IP,并发送了一个通知,太棒了!
但是有一个但是,发送的消息让我认为应用程序失败了,而健康指示器是状态OUT_OF_SERVICE,对DevOps来说是不必要的压力。
来问我的问题,我如何添加一些额外的变量,通过这些变量,精心制作的SPEL会区分健康指示器消息的状态变化而不是应用程序状态的变化,即webapp下线。
是否有SBA关键字字典可用于重新定义,例如spring.boot.admin.notify.mail.text邮件通知配置选项?
我猜这对hipchat、Slack等其他通知程序也是有效的。
谢谢。
发布于 2016-11-07 19:43:25
用于计算SpEL表达式的上下文是事件。因此,来自ClientApplicationEvent (或事件实例的相应子类(例如,ClientApplicationStatusChangedEvent))的所有属性都是可用的。
如果还不够,您可以发布自己的MailNotifier子类。
发布于 2016-11-08 01:23:20
答案是否定的,在当前的代码库中,如果没有代码更改,就不能这样做。可用的SBA通知关键字/变量如下:
我们没有别的东西了。然而,StatusUpdater.queryStatus看起来很有希望获得一些额外的数据。
https://stackoverflow.com/questions/40463789
复制相似问题