日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

OOS任務通過釘釘審批使用

在自動化運維的一些場景中,有些特殊的操作需要被特殊關注,例如刪除重要資源,或使用費用較高的實例等。如果把這些操作也納入自動化的范疇,您可能會擔心失去控制,帶來風險。若不納入自動化的范疇,又會導致這些操作退化到手工執行或其他非自動化方式。而審批步驟剛好能夠讓您在自動化和特殊關注之間尋找一個平衡。

前提條件

已創建用于接收告警通知的釘釘群并獲取釘釘機器人Webhook地址。請參見獲取釘釘機器人Webhook地址

解決方案

系統運維管理 OOS(CloudOps Orchestration Service)中,當被執行模板中包括審批動作,且執行到審批動作所在任務時,OOS執行引擎會暫停執行,執行進入等待中狀態,并發送一個包含通知的審批鏈接到管理員用戶。當管理員單擊審批鏈接后,可根據業務需求做出審批決定,同意或拒絕,同意后則OOS引擎繼續執行后續任務,拒絕后引擎停止執行,執行狀態轉為已取消(Cancelled)。

操作步驟

  1. 登錄系統運維管理控制臺。

  2. 自動化任務 > 自定義任務模板中,單擊創建模板,單擊下一步image

  3. 單擊YAML,將附錄1:模板內容粘貼到空白編輯欄,單擊創建模板,填寫模板名稱,單擊完成創建image

  4. 自動化任務 > 自定義任務模板中,找到剛創建成功的模板,單擊創建執行

  5. 單擊下一步:設置參數

  6. 輸入以下的參數。

    • targets:必填,將重啟的實例范圍。

    • webHookUrl:必填,審批通知及鏈接將發送到的釘釘群助手WebHook。獲取方法可參考附錄2:釘釘WebHook獲取

    • rateControl:選填,并發速率控制。

    • atMobiles:選填,發送審批通知時,在釘釘群中@的指定的用戶。

    • atAll:選填,發送審批通知時,是否@釘釘群中的所有成員。

    • OOSAssumeRole:選填。OOS默認使用當前登錄用戶的權限執行動作;如果指定了RAM角色名稱,OOS扮演該RAM角色執行動作。 image

  7. 單擊下一步:確定,單擊創建執行

  8. 自動化任務 > 任務執行管理中可查看剛剛創建的執行,若創建執行成功,被指定的手機號的用戶,在釘釘群中會被@,且當前執行狀態處于等待中,用戶可以單擊審批鏈接,根據需要作出審批決定。

附錄1:模板(審批ECS實例重啟)

  • 模板任務邏輯:

    1. 捕捉所選實例信息。

    2. 下發對實例重啟的審批通知及鏈接。

    3. 如審批通過,對所選實例進行重啟。

  • 模板內容(YAML)

    FormatVersion: OOS-2019-06-01
    Description:
      en: Bulky restarts the ECS instances with Approval.
      zh-cn: 批量重啟ECS實例帶審批。
      name-en: BulkyRebootInstancesWithApproval
      name-zh-cn: 批量重啟ECS實例帶審批
    Parameters:
      targets:
        Type: Json
        AssociationProperty: Targets
        AssociationPropertyMetadata:
          ResourceType: 'ALIYUN::ECS::Instance'
      rateControl:
        Description:
          en: Concurrency ratio of task execution.
          zh-cn: 任務執行的并發比率。
        Type: Json
        AssociationProperty: RateControl
        Default:
          Mode: Concurrency
          MaxErrors: 0
          Concurrency: 100%
      webHookUrl:
        Description:
          en: >-
            The webHook url of dingtalk group assistant,
            e.g.https://oapi.dingtalk.com/robot/send?access_token=1234zxcvaksdq31414.
          zh-cn: >-
            釘釘群助手的webhook地址,形如https://oapi.dingtalk.com/robot/send?access_token=1234zxcvaksdq31414。
        Type: String
      atMobiles:
        Description:
          en: >-
            The telephone numbers of member in dingtalk group assistant @, when
            notify comes.
          zh-cn: 當群助手向釘釘群中發送審批通知時,要被@的群成員注冊釘釘所用手機號。
        Type: List
        Default:
          - '1390000****'
      atAll:
        Description:
          en: 'assistant @ all members in dingtalk group or not, when notify comes.'
          zh-cn: 當群助手向釘釘群中發送審批通知時是否@所有人。
        Type: String
        Default: 'false'
      OOSAssumeRole:
        Description:
          en: The RAM role to be assumed by OOS.
          zh-cn: OOS扮演的RAM角色。
        Type: String
        Default: OOSServiceRole
    RamRole: '{{ OOSAssumeRole }}'
    Tasks:
      - Name: getInstance
        Description:
          en: Views the ECS instances.
          zh-cn: 獲取ECS實例。
        Action: 'ACS::SelectTargets'
        Properties:
          ResourceType: 'ALIYUN::ECS::Instance'
          Filters:
            - '{{ targets }}'
        Outputs:
          instanceIds:
            Type: List
            ValueSelector: 'Instances.Instance[].InstanceId'
          instanceNames:
            Type: List
            ValueSelector: 'Instances.Instance[].InstanceName'
      - Name: approveRestart
        Action: 'ACS::Approve'
        Properties:
          NotifyType: WebHook
          WebHook:
            URI: '{{webhookUrl}}'
            Headers:
              Content-Type: application/json
            Content:
              msgtype: text
              text:
                content: >-
                  Notify: please approve instances restart, instance names to
                  approve  are {{getInstance.instanceNames}}, sent by
                  {{ACS::RegionId}} oos {{ACS::ExecutionId}}.
              at:
                atMobiles: '{{atMobiles}}'
                isAtAll: '{{atAll}}'
      - Name: rebootInstance
        Action: 'ACS::ECS::RebootInstance'
        Description:
          en: Restarts the ECS instances.
          zh-cn: 重啟實例。
        Properties:
          instanceId: '{{ ACS::TaskLoopItem }}'
        Loop:
          RateControl: '{{ rateControl }}'
          Items: '{{ getInstance.instanceIds }}'
    Outputs:
      instanceIds:
        Type: List
        Value: '{{ getInstance.instanceIds }}'