管理接收器¶
接收器是与 senlin 集群关联的事件接收端。当监控软件检测到某些事件(或告警)时,该软件可以通知 senlin 集群这些事件(或告警)。当 senlin 接收到这些通知时,它可以自动触发一些预定义的、具有预设参数值的操作。
列出接收器¶
要查看接收器列表
def list_receivers(conn):
print("List Receivers:")
for receiver in conn.clustering.receivers():
print(receiver.to_dict())
for receiver in conn.clustering.receivers(sort='name:asc'):
print(receiver.to_dict())
在列出接收器时,可以使用 sort 参数指定排序选项,并可以使用 limit 和 marker 参数进行分页。
完整示例:管理接收器
创建接收器¶
创建接收器时,您将提供一个字典,其中包含根据引用的接收器类型相应的键和值。
def create_receiver(conn):
print("Create Receiver:")
# Build the receiver attributes and create the recever.
spec = {
"action": "CLUSTER_SCALE_OUT",
"cluster_id": CLUSTER_ID,
"name": FAKE_NAME,
"params": {"count": "1"},
"type": "webhook",
}
receiver = conn.clustering.create_receiver(**spec)
print(receiver.to_dict())
可选地,您可以指定一个 metadata 关键字参数,其中包含一些键值对,这些键值对将与接收器关联。
完整示例:管理接收器
获取接收器¶
要根据其名称或 ID 获取接收器
def get_receiver(conn):
print("Get Receiver:")
receiver = conn.clustering.get_receiver(FAKE_NAME)
print(receiver.to_dict())
完整示例:管理接收器
查找接收器¶
要根据其名称或 ID 查找接收器
def find_receiver(conn):
print("Find Receiver:")
receiver = conn.clustering.find_receiver(FAKE_NAME)
print(receiver.to_dict())
完整示例:管理接收器
更新接收器¶
创建接收器后,其大部分属性都是不可变的。不过,您可以更新接收器的 name 和/或 params。
def update_receiver(conn):
print("Update Receiver:")
spec = {"name": "test_receiver2", "params": {"count": "2"}}
receiver = conn.clustering.update_receiver(FAKE_NAME, **spec)
print(receiver.to_dict())
完整示例:管理接收器
删除接收器¶
可以在创建后删除接收器,前提是它没有被任何活动集群引用。如果您尝试删除仍在使用的接收器,将收到错误消息。
def delete_receiver(conn):
print("Delete Receiver:")
conn.clustering.delete_receiver(FAKE_NAME)
print("Receiver deleted.")