文档目录

系统主题

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),该字段也会发送到接收端。为了安全,该主题只能被管理员创建的接收端订阅。管理员也应该只将该主题用作内部集成或调试用途。

CLI命令使用手册 | 5.4.12 | ZStack Cloud · ZCF | ZStack 资源中心