我们是否可以获得可用于重新定义模板的变量样本,documentation很少见?
在类包中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
邮件通知配置选项?
我想这对于其他通知者来说是有效的,Slack。
谢谢。
答案 0 :(得分:1)
评估SpEL表达式的上下文是事件。
因此,ClientApplicationEvent
(或事件实例的相应子类(例如ClientApplicationStatusChangedEvent
))的所有属性都可用。
如果不够,您可以发送自己的MailNotifier子类。
答案 1 :(得分:0)
答案是否定的,在没有代码更改的情况下,在当前代码库中无法做到。 可用的SBA通知关键字/变量如下:
我们没有其他任何东西。
然而,StatusUpdater.queryStatus
看起来很有希望得到一些额外的数据。