使用运维编排订阅ECS快照创建失败通知

本文涉及的产品
系统运维管理,不限时长
简介: ### 背景 [ECS事件通知](https://help.aliyun.com/document_detail/116628.html)代表了ECS资源的状态变更。云监控提供了事件通知订阅的功能,用户可以通过[设置事件通知](https://help.aliyun.com/document_detail/116341.html)来订阅短信、邮件或者钉钉通知。也可以将事件消息转发到消息队列或

背景

ECS事件通知代表了ECS资源的状态变更。云监控提供了事件通知订阅的功能,用户可以通过设置事件通知来订阅短信、邮件或者钉钉通知。也可以将事件消息转发到消息队列或者日志文件中,通过SDK来进行程序化消费。

云监控尚未支持根据事件详情中的内容进行事件过滤。比如完成创建快照事件,如果用户只想接收创建快照失败的通知,目前还做不到。

运维编排(OOS)的事件运维功能是集成了云监控的事件报警能力和运维编排的自动化能力,可以实现托管的事件驱动运维。使用事件运维功能可以实现上述的事件过滤并通知的功能,实际上这只是最简单的事件运维场景。

配置步骤

配置权限和创建角色

首先,需要给运维编排服务设置RAM权限并创建OOS扮演的角色。如果使用子账户登录运维编排控制台,要给子账户授予合适的权限,请参考官方文档

由于事件运维任务是7x24小时持续执行的,所以配置角色是必须的,请参考官方文档

创建一个发送通知的模板

运维编排的运维任务是以模板的形式保存的,模板为json/yaml格式。我们先创建一个发送通知的模板。

Description: Create snapshot fail notification.
FormatVersion: OOS-2019-06-01
Parameters:
  diskId:
    Type: String
    Description:
      en: The disk id.
      zh-cn: 磁盘ID。
Tasks:
  - Name: NotifyDingtalk
    Action: 'ACS::Notify'
    Properties:
      NotifyType: WebHook
      WebHook:
        URI: 'https://oapi.dingtalk.com/robot/send?access_token=xxx'
        Headers:
          Content-Type: application/json
        Content:
          msgtype: text
          text:
            content: '创建快照失败,磁盘ID {{diskId}}'
          at:
            atMobiles:
              - '18688888888'

URI为钉钉机器人的地址,atMobiles是需要在钉钉消息中@的钉钉账号的手机号。

如需发送邮件,参照官网文档对ACS::Notify的参数进行修改

Tasks:
  - Action: ACS::Notify
    Name: testNotifyByMail
    Properties:
        NotifyType: Mail
        Mail:
            Host: SMTPHostAddress # SMTP 服务器主机地址 如 smtp.example1.com
            Port: SMTPPort # SMTP 服务器端口 如 465
            Username: sender  # 代发送的邮箱用户 如 usr001@example1.com
            Password: senderPassword # 代发送的邮箱密码 如 123456zxcv
            Subject: mailSubject # 邮件主题 如 hello world
            Body: mailBody # 邮件正文 如 hello world !!!
            From: senderAddress # 邮件来自 如 usr001@example1.com
            To:  receiverAddresses    # 收件人邮箱地址列表 如 [usr1234@example2.com,usr123@example2.com]

创建一个事件运维任务

登录运维编排控制台,选择告警与事件运维,触发类型选择系统事件,配置触发规则:
Jietu20200616-211833.png

选择上面创建的钉钉通知模板:
Jietu20200616-210256.png

设置执行模板的参数,可以使用事件消息体中的字段作为钉钉通知模板的入参:
Jietu20200616-210318.png
立即执行。

我们看看通知的效果,当一个快照创建失败时,收到了一个钉钉机器人提醒:
Jietu20200616-2119112.png

探索运维编排的其他功能

以上只是运维编排的一个基本应用,运维编排支持多种常用运维任务,比如更新镜像、批量执行命令,以及定时运维、告警运维、事件运维等等。用户可以使用控制台执行这些常用任务,也可以一键执行一个公共模板。运维编排对接了60款云产品的OpenAPI,支持在用户GuestOS执行自定义命令,还有丰富的原子动作、云产品动作和强大的流程控制能力。如果有定制化的需求,可以编写自己的模板来实现。

相关实践学习
借助OSS搭建在线教育视频课程分享网站
本教程介绍如何基于云服务器ECS和对象存储OSS,搭建一个在线教育视频课程分享网站。
7天玩转云服务器
云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可降低 IT 成本,提升运维效率。本课程手把手带你了解ECS、掌握基本操作、动手实操快照管理、镜像管理等。了解产品详情: https://www.aliyun.com/product/ecs
相关文章
|
9天前
|
存储 弹性计算 运维
阿里云日常运维-购买服务器
这篇文章是关于如何在阿里云购买和配置云服务器ECS的教程。
39 6
阿里云日常运维-购买服务器
|
2天前
|
存储 弹性计算 运维
自动化监控和响应ECS系统事件
阿里云提供的ECS系统事件用于记录云资源信息,如实例启停、到期通知等。为实现自动化运维,如故障处理与动态调度,可使用云助手插件`ecs-tool-event`。该插件定时获取并转化ECS事件为日志存储,便于监控与响应,无需额外开发,适用于大规模集群管理。详情及示例可见链接文档。
|
5天前
|
弹性计算 JSON 运维
阿里云ECS实例运维属性-如何控制实例的宕机表现
介绍如何通过运维属性指定阿里云ECS的宕机运维表现等
|
5天前
|
运维 Ubuntu Linux
掌握自动化运维:使用Ansible进行服务器配置管理
【9月更文挑战第5天】本文旨在通过深入浅出的方式,介绍如何利用Ansible这一强大的自动化工具来简化和加速日常的服务器配置管理工作。文章将首先概述自动化运维的重要性,接着详细讲解Ansible的基本概念、安装过程及其在服务器配置中的应用实例。我们将通过具体的操作步骤和代码示例,展示如何使用Ansible编写任务,以及如何执行这些任务以实现批量的服务器配置。最后,文章将探讨一些高级用法,帮助读者进一步提升自动化运维的能力。
|
11天前
|
运维 关系型数据库 MySQL
自动化运维:使用Ansible管理服务器
【8月更文挑战第31天】在这篇文章中,我们将探讨如何使用Ansible进行自动化运维。Ansible是一种开源的IT自动化工具,可以用于配置管理、应用部署、任务执行等。我们将通过一个简单的例子,展示如何使用Ansible来管理服务器。无论你是初学者还是有经验的开发者,都可以从这篇文章中获得一些有用的信息。
|
11天前
|
运维 Ubuntu 应用服务中间件
自动化运维:使用Ansible进行服务器配置管理
【8月更文挑战第31天】在现代IT运维的快速迭代中,自动化已成为提升效率与减少错误的关键。本文将引导您通过使用Ansible这一强大的自动化工具来简化服务器的配置管理工作。我们将从基础讲起,涵盖安装、配置到实战应用,让您轻松上手自动化您的服务器环境。
|
11天前
|
运维 监控 数据库
自动化运维:使用Python脚本实现服务器监控
【8月更文挑战第31天】在这篇文章中,我们将探索如何利用Python编写简单的脚本来实现对服务器的基本监控。通过学习和应用这些技术,你可以快速检测服务器的状态,包括CPU使用率、内存占用和磁盘空间等关键指标。这不仅有助于及时发现问题,还能提升运维效率。文章将逐步引导你理解监控的重要性,并展示如何从零开始构建自己的监控工具。
|
12天前
|
运维 Devops 网络安全
自动化运维:使用Ansible实现服务器配置管理
【8月更文挑战第31天】在快速迭代的软件开发周期中,自动化运维成为提升效率的关键。本文将介绍如何使用Ansible这一强大的自动化工具来简化服务器的配置管理任务。通过实际操作案例,你将学会如何编写Ansible playbook,实现自动化部署和配置,从而节省时间并减少人为错误。
|
13天前
|
运维 Ubuntu 应用服务中间件
自动化运维:使用Ansible管理服务器
【8月更文挑战第29天】在当今快速发展的IT领域,自动化运维已成为提升效率和减少人为错误的关键技术。本文将引导你了解如何使用Ansible这一强大的自动化工具来简化服务器管理任务。从基础的安装、配置到高级的应用部署与维护,我们将一步步揭示Ansible如何让你轻松掌控多台服务器,确保系统稳定运行。文章末尾,你还将找到实用的代码示例,助你立刻上手实践。
|
6天前
|
运维 应用服务中间件 持续交付
自动化运维之路:使用Ansible进行服务器配置管理
【9月更文挑战第5天】本文将引导您了解如何利用Ansible这一强大的自动化工具,来简化和加速您的服务器配置管理工作。我们将通过实际代码示例,展示如何使用Ansible编写Playbook,实现自动化部署、配置更新和任务执行。通过阅读本文,您不仅能够掌握Ansible的基本用法,还将学会如何构建可重复使用的自动化脚本,以提升运维效率和减少人为错误。