打印

edgexfoundry告警与通知

[复制链接]
970|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
keer_zu|  楼主 | 2020-12-16 09:31 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 keer_zu 于 2020-12-18 11:58 编辑

#申请原创# 当需要向另一个系统或个人发出通知,以通知另一个微服务在节点上发现的东西时,警报和通知微服务将提供该信息。其他服务可能需要广播的警报和通知示例包括在某些参数之外检测到的传感器数据(通常由规则引擎服务检测到)或系统或服务故障(通常由系统管理服务检测到)。术语通知具有信息性,而警报通常具有更重要、关键或紧急的性质,可能需要立即采取行动。

通知具有信息性,而警报通常具有更重要、更关键或更紧急的性质,可能需要立即采取行动。




该图显示了警报和通知的高级体系结构。在左侧,为其他要使用的微服务、机内应用程序和机外应用程序提供了api,这些api可以是REST、AMQP、MQTT或任何标准应用程序协议。目前在EdgeX Foundry中,提供了RESTful接口。在右侧,通知接收者可以是一个人,也可以是云中或服务器室中的应用程序系统。通过调用订阅RESTful接口来订阅特定类型的通知,当事件发生时,接收方通过定义的接收通道获得适当的通知。接收通道包括SMS消息、e-mail、REST回调、AMQP、MQTT等。目前在EdgeX铸造,电子邮件和REST回调通道提供。


当警报和通知从任何接口接收通知时,通知将在内部传递给通知处理程序。通知处理程序首先保存接收到的通知,如果通知非常重要(severity = critical),则立即将它们传递给分发协调器。对于正常通知(严重性=正常),它们等待消息调度程序批量处理。警报和通知是可伸缩的,可以扩展以添加更严重的情况,并设置相应的消息调度程序来处理它们。例如,正常严重程度通知的消息调度程序每两小时触发一次,轻度严重程度通知每24小时触发一次,每天晚上的午夜触发一次。当分发协调器收到通知时,它首先查询订阅以获取需要获得该通知的接收者及其接收通道信息。根据通道信息,分发协调器将此通知传递给相应的通道发送者。然后,通道发送方将通知发送给订阅的接收方。





数据模型
选择MongoDB用于警报和通知的持久性,因此数据模型的设计没有外键,而是基于文档结构的范型。




数据字典:

[td]
Class NameDescrption
Channel        The object used to describe the Notification end point.
Notification    The object used to describe the message and sender content of a Notification.
Transmission The object used for grouping of Notifications.




系统交互图本节展示了一些关于警报和通知的更重要或更复杂事件的序列图。

重要通知序列

当收到一个关键通知(SEVERITY = " critical ")时,它会首先持续,并立即触发分发过程。更新通知状态后,警报和通知将响应客户端,以指示通知已被接受。






正常通知序列

当接收到正常通知(SEVERITY =“正常”)时,它会首先持续,并立即响应客户端,以表明通知已被接受。在可配置的持续时间之后,调度程序将分批触发分发过程。









关键重新发送序列

当在发送关键通知过程中遇到任何错误时,将调度一个单独的重发任务,并且每个传输记录将保持不变。如果重新发送任务持续失败,并且重新发送计数超过了可配置的限制,则触发升级流程。升级通知被发送到特殊订阅的特定接收者(slug =“升级”)。







重新发送序列

对于其他非关键通知,重新发送操作由调度程序触发。









清理序列

清理服务删除旧的通知和传输记录。










配置属性:




[td]
Configuration                                                           Default Value                                             Dependencies
Service MaxResultCount                          50000                           *                    Read data limit per invocation
Service BootTimeout                                 300000                          *                  Heart beat time in milliseconds
Service StartupMsg                                  This is the Support Notifications Microservice *  | Heart beat message
Service Port                                              48060                          **                   Micro service port number
Service Host                                              localhost                      **               Micro service host name
Service Protocol                                        http                           **                        Micro service host protocol
Service ClientMonitor                                15000                          **                    
Service CheckInterval                               10s                            **                        
Service Timeout                                         5000                           **                     
ResendLimit                                               2                               *                             Number of attempts to resend a notification
Following config only take effect when logging.persistence=file                                                                                                                        
Logging File                                                  /logs/edgex-support-notifications.log| File path to save logging entries
Logging EnableRemote                                   false                          Indicate whether to use the logging service (vs local log file)
Following config only take effect when logging.persistence=database                                                                                                              
Databases Database Primary Username          [empty string]                 **          DB user name
Databases Database Password                          [empty string]                  *           DB password
Databases Database Host                                 localhost                      **                  DB host name
Databases Database Port                                    27017                          **                         DB port number
Databases Database Database                            logging                         *                       database or document store name
Databases Database Timeout                               5000                            *                           DB connection timeout
Databases Database Type                                     mongodb                        **                   DB type
Following config only take effect when connecting to the registry for configuraiton info                                                                                   
Registry Host                                                           localhost                      **                    Registry host name
Registry Port                                                            8500                           **                            Registry port number
Registry Type                                                           consul                         **                         Registry implementation type
Following config only take effect when connecting to the remote logging service                                                                                             
Clients Clients.Logging Host                                    localhost                      **                      Remote logging service host name
Clients Clients.Logging Port                                     48061                          **                         Remote logging service port number
Clients Clients.Logging Protocol                               http                           **                             Remote logging service host protocl
Following config apply to using the SMTP service                                                                                                                                             
Smtp Host                                                                  smtp.gmail.com                 **           SMTP service host name
Smtp Port                                                                   25                             **                                SMTP service port number
Smtp Password                                                           mypassword                     **                SMTP service host access password
Smtp Sender                                                              jdoe@gmail.com                 **          SMTP service sendor/username
Smtp Subject                                                              EdgeX Notification             **        SMTP alert message subject

*表示可以在必要时更改配置值。
**表示必须替换配置值。


配置邮件服务器所有前缀为“smtp”的属性都用于邮件服务器配置。适当配置邮件服务器以发送警报和通知。正确的值取决于使用的邮件服务器。




Gmail
在使用Gmail发送警报和通知之前,通过以下两种方法之一配置登录安全设置:

  • 启用2步验证,使用App密码(推荐)。应用程序密码是一个16位数字的密码,允许应用程序或设备访问您的谷歌帐户。有关此主题的更多细节,请参阅此谷歌官方文档:https://support.google.com/accounts/answer/185833
  • 允许安全性较低的应用程序:如果没有启用2步验证,您可能需要允许安全性较低的应用程序访问Gmail帐户。请参阅此谷歌官方文档关于此主题的说明:https://support.google.com/accounts/answer/6010255

然后,为邮件服务器属性使用以下设置:


Smtp Port=25
Smtp Host=smtp.gmail.com
Smtp Sender=${Gmail account}
Smtp Password=${Gmail password or App password}






Yahoo 邮箱


类似于Gmail,配置雅虎的登录安全设置,通过以下两种方法之一:


然后,为邮件服务器属性使用以下设置:
Smtp Port=25
Smtp Host=smtp.mail.yahoo.com
Smtp Sender=${Yahoo account}
Smtp Password=${Yahoo password or App password}








使用特权

评论回复

相关帖子

发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:qq群:49734243 Email:zukeqiang@gmail.com

1352

主题

12436

帖子

53

粉丝