系统主题
SNS内置一些系统主题,一些预定义的消息会发送到系统主题,用户可以直接订阅这些主题以获得感兴趣的信息。
Note:
- 系统主题不能被删除和更改,UUID均为预定义的常量值
- 可直接hard code使用
系统报警主题 (System Alarm)
QuerySNSTopic name=system-alarm
{
"inventories": [
{
"createDate": "Jan 10, 2018 12:11:09 AM",
"description": "topic for reporting system defined alarms",
"lastOpDate": "Jan 10, 2018 12:11:09 AM",
"name": "system-alarm",
"state": "Enabled",
"uuid": "e7d6f5e23bb74e99a2777126078b551c"
}
],
"success": true
}
ZWatch预定义的报警器会将报警信息发送到该主题。用户也可以直接使用该主题作为自定义报警器的主题。
使用系统HTTP endpoint接收系统报警主题消息
内部系统(通常是UI),需要一个方式接收来自系统报警主题消息。系统HTTP endpoint可以完成这个工作,只需要在zstack.properties中配置如下字段即可:
sns.systemTopic.endpoints.http.url = 接收POST消息的HTTP URL
sns.systemTopic.endpoints.http.url.username = HTTP请求用户名(可选)
sns.systemTopic.endpoints.http.url.password = HTTP请求密码(可选)
如果需要设置用户名/密码,两个字段都需要同时设置,否则不生效。收到HTTP消息JSON格式跟HTTP endpoint一样。无论系统报警主题状态如何(Enabled/Disabled),该endpoint都会接收到消息,不受消息主题状态影响。
Note:
可以使用zstack-ctl configure命令配置上述字段。
API主题(API Topic)
QuerySNSTopic name=system-alarm
{
"inventories": [
{
"createDate": "Jan 10, 2018 12:11:09 AM",
"description": "the topic to publish API requests and responses",
"lastOpDate": "Jan 10, 2018 12:11:09 AM",
"name": "api",
"state": "Enabled",
"uuid": "7bfa0eb8555b3528ace936edfd1d74f1"
}
],
"success": true
}
云平台会将所有API请求和返回发送到该主题,用户可以订阅该主题获得API的调用情况。该主题只能被HTTP接收端订阅,接收端收到的消息将会是API的JSON格式文本。
Note:
该主题收到的为API裸请求,如果请求中有password字段(如添加物理机的API),该字段也会发送到接收端。为了安全,该主题只能被管理员创建的接收端订阅。管理员也应该只将该主题用作内部集成或调试用途。
