CSV에서 vRO 워크플로 실행 보고서 생성

TL;DR here에서 패키지를 다운로드하고 입력을 편집하고 실행하여 vRealize Orchestrator에서 워크플로 실행의 지난 30일에 대한 CSV 보고서를 가져옵니다.


워크플로가 실행되는 횟수, 워크플로를 실행한 사람 또는 특정 워크플로의 성공률과 같이 vRealize Orchestrator 워크플로의 실행을 모니터링하려는 환경이 자주 있습니다. 워크플로를 실행하는 데 걸리는 시간입니다. 비슷한 솔루션을 찾는 고객을 거의 보지 못했습니다. 따라서 비슷한 것을 달성할 수 있는 방법을 찾고 있다면 이 문서가 도움이 될 수 있습니다.

아시다시피 vRO는 모든 종류의 작업에 즉시 사용할 수 있는 REST API를 제공합니다. 워크플로 실행의 사실과 수치를 얻는 경우에도 마찬가지입니다. 그런 종류의 정보를 얻을 수 있는 다양한 방법이 있지만 내 사용 사례에서 가장 빠른 것은 catalog-service-controller 모듈을 사용하는 것입니다. 아래에서 자세히 살펴보겠습니다.

REST API 이해



catalog-service-controller 모듈은 vRO에서 상당히 다재다능한 API 모듈입니다. 광범위한 엔터티 집합에 대한 정보를 파헤치는 데 사용할 수 있습니다. 그러나 오늘 우리가 가장 관심을 두고 있는 경로와 방법은 GET/api/catalog/{namespace}/{type}입니다.



속성이 있는 경로




/api/catalog/System/WorkflowToken?conditions=state%5Ecompleted%7Cfailed&conditions=endDate%3E"+date30DaysAgo+"&conditions=endDate%3C"+currentDate


여기서 date30DaysAgo는 getDate30DaysAgo() 작업에서 값을 가져오고 currentDate는 vro-package에서 사용할 수 있는 getCurrentDateInISOFormat() 작업에서 가져옵니다.


참고 완료 및 실패 이외의 워크플로 토큰에 관심이 있는 경우 대기 , 취소 등과 같은 이 쿼리에 더 많은 상태를 추가할 수 있습니다.


코드 이해



첨부된 패키지에는 코드가 세 부분으로 나누어지는 Workflow Runs Report Generation 워크플로우가 있습니다. 간편한 작업을 위해 워크플로는 사용자 제공 입력을 사용하여 임시 REST 호스트를 생성하지만 vRO를 인벤토리의 REST 호스트로 추가하고 변수 입력으로 날짜가 있는 REST 작업으로 추가this REST URL할 수도 있습니다. 또한 Part 2/3에서는 CSV 데이터에 5개의 속성만 추가됩니다. 자세한 내용이 많은 보고서를 원하는 경우 워크플로 토큰과 관련된 추가 속성을 조회할 수 있습니다.

//Part 1/3: Invoke Rest Operation
.
.
.

//Part 2/3: Gather data in CSV format
var reportCSV = "Name,Status,Start Date,End Date,Started by\r\n";
if (response.statusCode != 200) { // 200 - HTTP status OK
    System.warn("Request failed with status code " + response.statusCode);
} else {
    var doc = JSON.parse(response.contentAsString);
    System.log("Number of failed or cancelled tokens: " + doc.total);
    for each(var link in doc.link) {
        for each(var attribute in link.attributes) {
            if (attribute.name == "name")
                var wfName = attribute.value;
            if (attribute.name == "state")
                var wfState = attribute.value;
            if (attribute.name == "startDate")
                var wfStartDate = attribute.value;
            if (attribute.name == "endDate")
                var wfEndDate = attribute.value;
            if (attribute.name == "startedBy")
                var wfStartedBy = attribute.value;
        }
        reportCSV += (wfName + "," + wfState + "," + wfStartDate + "," + wfEndDate + "," + wfStartedBy+"\r\n");
    }
}

//Part 3/3: Send CSV data as a mail attachment
.
.
.


Part 3/3에서는 CSV 데이터를 MIME 첨부 파일로 간단히 첨부하여 toAddress로 보냅니다.

실행하자


  • 사용 가능한 패키지를 가져옵니다here. 패키지 가져오기에 대한 도움이 필요한 경우 이 가이드here를 따르십시오.
  • 워크플로로 이동하여 워크플로에서 보고서 생성 실행 및 편집 클릭
  • 스크립트 가능한 작업으로 이동하여 이러한 입력 값을 편집합니다.


  • 값을 편집한 후 저장합니다.
  • 실행을 클릭합니다.


  • 워크플로가 성공적으로 실행되면 로그에 메일이 제공된 이메일 주소로 전송되고 있음이 표시됩니다.


  • 사서함을 확인하십시오. 받은 편지함에서 이메일을 볼 수 없다면 제공한 이메일 주소를 확인하거나 스팸 폴더를 확인하십시오.


  • 첨부된 CSV 파일을 다운로드하여 엽니다. vRO 워크플로 실행 탭(성능 보기 꺼짐)에 있는 것과 동일한 시트가 표시됩니다. 이 시트를 시작 날짜 열에서 내림차순으로 정렬할 수도 있습니다.





  • vRO 패키지 다운로드






    오늘 포스팅에 있는 내용입니다. 나는 당신이 그것을 좋아 바랍니다.

    좋은 웹페이지 즐겨찾기