Go to main content

Oracle® ZFS Storage Appliance 관리 설명서, 릴리스 OS8.8.x

인쇄 보기 종료

업데이트 날짜: 2021년 8월
 
 

워크플로우 내에서 사용자정의 경보 만들기 및 게시

워크플로우에서 정의된 이벤트에 대한 응답으로 워크플로우 내에서 경보를 게시할 수 있습니다. 워크플로우에서 또는 BUI나 CLI를 사용하여 경보 조치를 만들 수 있습니다. 경보는 워크플로우 내에서 게시되어야 합니다.

사용자정의 경보를 사용하여 간편하게 관리 정책 또는 준수를 적용할 수 있습니다. 사용자정의 경보를 통해 워크플로우와 관련된 문제를 진단할 수도 있습니다.

다음 표에서는 사용자정의 경보 조치를 만들고 사용자정의 경보를 게시할 수 있도록 사용자에게 지정되어야 할 권한 부여에 대해 설명합니다.

표 160  사용자정의 경보 사용에 필요한 권한 부여
작업
BUI 권한 부여
CLI 권한 부여
설명
사용자정의 경보 조치 만들기
범위: 경보
권한 부여: 구성
범위: alert
권한 부여: allow_configure
BUI, CLI 또는 워크플로우의 createalert 함수를 통해 사용자정의 경보 조치를 만드는 데 필요합니다.
사용자정의 경보 게시
범위: 경보
권한 부여: post
범위: alert
권한 부여: allow_post
워크플로우의 postalert 함수 사용에 필요합니다.
워크플로우 실행
범위: 워크플로우
권한 부여: 읽기
범위: workflow
권한 부여: allow_read
워크플로우 실행에 필요합니다.

사용자에게 권한을 부여하는 것과 관련된 지침은 사용자 구성을 참조하십시오.

사용자정의 경보 만들기

다음 방법 중 하나로 사용자정의 경보를 만들 수 있습니다.


주 -  createalert가 호출될 때마다 다른 UUID로 새 경보가 만들어집니다. createalert를 사용하는 워크플로우가 실행될 때마다 동일한 경보 조치의 복사본을 더 만드는 대신, 예 20, 기존 경보 조치 UUID를 통해 사용자정의 경보 게시에서와 같이 BUI 또는 CLI를 통해 사용자정의 경보 조치를 만든 다음 해당 경보 조치의 UUID를 postalert 함수로 전달할 수 있습니다.

createalert 함수는 다음 매개변수를 사용하며, 만들어진 사용자정의 경보 조치의 UUID를 반환합니다.

표 161  createalert 함수의 매개변수
매개변수
유형
설명
actions
객체
필수입니다. 처리기(경보 조치)와 인수 목록입니다. 표 49, 경보 조치 유형의 "CLI 조치 유형" 열을 참조하십시오.

주 -  execute_workflow가 조치로 지정된 경우(handler) 실행된 워크플로우는 경보를 게시할 수 없습니다.

severity
문자열
선택사항입니다. 경보가 발생하게 만든 이벤트의 심각도입니다. 적합한 값: Critical, Minor 또는 Major
description
문자열
필수입니다. 경보를 발생시킨 이벤트에 대한 설명입니다.
response
문자열
선택사항입니다. 시스템이 이 이벤트의 영향을 줄이기 위해 수행할 조치에 대한 설명입니다.
impact
문자열
선택사항입니다. 이 이벤트가 어플라이언스에 끼치는 영향에 대한 설명입니다.
recommended_action
문자열
선택사항입니다. 관리자가 이 이벤트의 영향을 줄이기 위해 수행해야 할 조치에 대한 설명입니다.
예 18  워크플로우 내에서 사용자정의 경보 만들기

이 예에서는 UUID가 custom_alert_uuid인 사용자정의 경보를 만드는 워크플로우를 보여줍니다.

var workflow = {
    name:        'createalert',
    description: 'Create a Custom Alert',
    version:     '1.0',
    origin:      'Oracle',
    alert:       false,
    setid:       true,
    execute:     function () {
                     var actions = [{
                         handler: 'email',
                         args: {
                             address: 'admin@example.com',
                             subject: 'Custom Alert Response'
                         }
                     }];
                     var createparams = {
                         description: 'createalert from within a workflow'
                     };
                     var custom_alert_uuid = createalert(actions, createparams);
                 }
};

워크플로우를 통해 사용자정의 경보를 만들면 BUI 및 CLI에서 경보 조치 목록에 경보가 나타납니다.

워크플로우를 통해 사용자정의 경보를 만들면 다음 요약과 함께 감사 로그 항목이 만들어집니다.

Workflow name_of_workflow: created custom alert value_of_custom_alert_uuid

BUI 또는 CLI를 사용하거나 script 명령으로 스크립트를 실행하여 사용자정의 경보를 만들면 다음 요약과 함께 감사 로그 항목이 만들어집니다.

Created custom alert value_of_custom_alert_uuid

사용자정의 경보 게시

postalert 함수를 통해 워크플로우에서 발생한 이벤트에 대한 응답으로 해당 워크플로우 내에서 사용자정의 경보를 게시할 수 있습니다.

createalert 함수는 script 명령을 사용하여 스크립트 내에서 호출할 수 있지만, postalert 함수는 워크플로우 정의 내에서만 호출할 수 있습니다.

postalert 함수는 첫번째 매개변수를 제외하고 createalert 함수가 사용하는 것과 동일한 함수를 사용합니다. createalert는 처리기 또는 경보 조치 목록을 사용하며 postalert는 게시할 경보의 UUID를 사용합니다. 다른 매개변수에 대한 설명은 표 161, createalert 함수의 매개변수를 참조하십시오.

createalert에 대한 선택적 매개변수의 값(severity, response, impactaction)은 postalert에 대해 선택사항이 아닙니다. postalert 호출의 경우 해당 값은 다음 규칙에 따라 결정됩니다.

  • 선택적 매개변수에 대한 값이 createalert에 제공되었지만 해당 UUID에 대한 postalert 호출에 제공되지 않은 경우 postalert 호출은 해당하는 createalert 호출에서 매개변수 값을 상속합니다.

  • 선택적 매개변수에 대한 값이 createalert에 제공되지 않았지만 해당 UUID에 대한 postalert 호출에 제공된 경우 postalert 호출은 postalert 호출에 지정된 값을 사용합니다.

  • 선택적 매개변수에 대한 값이 createalert와 해당하는 postalert에 모두 제공된 경우 각 호출은 해당 호출에서 지정된 매개변수 값을 사용합니다.

  • 선택적 매개변수에 대한 값이 createalert 또는 해당하는 postalert에 제공되지 않은 경우 오류 메시지는 사용자에게 postalert 호출에 값을 제공하도록 알립니다.

postalert 함수가 게시된 사용자정의 경보의 UUID를 반환합니다.

예 19  워크플로우 내에서 사용자정의 경보 만들기 및 게시

이 예에서는 예 18, 워크플로우 내에서 사용자정의 경보 만들기에 만들어진 경보를 게시합니다. postalert 호출은 워크플로우에서 발생한 이벤트에 대한 응답으로 생성됩니다. 이 예에서는 postalert 호출 이전에 발생한 이벤트를 정의하는 코드가 생략됩니다.

var workflow = {
    name:        'createalert and postalert',
    description: 'Create and Post a Custom Alert',
    version:     '1.0',
    origin:      'Oracle',
    alert:       false,
    setid:       true,
    execute:     function () {
                     var actions = [{
                         'handler': 'resume_dataset',
                         'args': {
                             'dataset': 'dataset_to_resume'
                         }
                     }];
                     var createparams = {
                         description: 'createalert and postalert from within a workflow'
                     };
                     var postparams = {
                         severity: 'Minor',
                         description: 'postalert from within a workflow',
                         response: 'The alert action resumes dataset dataset_to_resume',
                         impact: 'What happened to the appliance',
                         recommended_action: 'What the administrator should do'
                     };
                     var custom_alert_uuid = createalert(actions, createparams);
                     var posted_alert_uuid = postalert(custom_alert_uuid, postparams);
                 }
};

postalert 함수를 호출하는 워크플로우를 실행하면 다음 요약과 함께 경보 로그 항목이 만들어집니다.

Custom: name_of_workflow
예 20  기존 경보 조치 UUID를 통해 사용자정의 경보 게시

동일한 경보 조치의 복사본을 늘리는 대신, postalert 함수의 첫번째 인수로 기존 사용자정의 경보의 UUID를 사용할 수 있습니다.

  1. BUI, CLI, 스크립트, 워크플로우 또는 RESTful API를 통해 사용자정의 경보 조치를 만듭니다.

  2. BUI, CLI 또는 감사 로그를 통해 사용자정의 경보 조치의 UUID를 검색합니다.

  3. 검색된 UUID를 postalert 함수의 첫번째 인수로 사용합니다.

var workflow = {
    name:        'postalert',
    description: 'Post a Custom Alert using existing uuid',
    version:     '1.0',
    origin:      'Oracle',
    alert:       false,
    setid:       true,
    execute:     function () {
                     var postparams = {
                         severity: 'Minor',
                         description: 'postalert from within a workflow',
                         response: 'What the system will do',
                         impact: 'What happened to the appliance',
                         recommended_action: 'What the administrator should do'
                     };
                     var posted_alert_uuid = postalert('uuid_of_existing_custom_alert', postparams);
                 }
};