MonitorCommand
ProcessCommandString 가 설정되지 않은 경우, System Automation for Multiplatforms 는 IBM.Application 자원의 MonitorCommand 를 사용하여 노드에서 자원의 OpState 를 판별합니다. System Automation for Multiplatforms 는 자원이 자원 그룹 또는 동등성에 추가되는 즉시 자원 모니터링을 시작합니다. 자원을 실행하도록 허용되는
모든 노드에서 해당 자원이 모니터됩니다. 자원의 NodeNameList 속성에 지정된
노드에서 실행하도록 허용됩니다.
최초의 호출 이후 MonitorCommandPeriod 속성에 정의된 빈도로 MonitorCommand가 호출됩니다. 자원이 자원 그룹 또는 동등성에서 제거될 때까지 해당 자원이 정의되어 있는 각 노드에서 해당 자원을
계속 모니터합니다.
자원의 StartCommand 또는 StopCommand가 완료된 직후에도
MonitorCommand가 호출됩니다(이 자원의 RunCommandsSync 속성이 1(기본값)로
설정되어 있는 경우 동기식 명령에 대해서만 호출됨). 이 명령은 전체 자원 그룹의 시작 또는 중지 성능을 높이기 위해 도입된 것으로,
이제는 StartCommand 또는 StopCommand가 완료된 직후에 자원의 OpState가 확인됩니다. 이 MonitorCommand를 실행한 후 MonitorCommandPeriod 초의 빈도가 다시 사용됩니다. 이는 다음
MonitorCommand가 MonitorCommandPeriod 초 이후에 실행된다는 것을 의미합니다.
MonitorCommandPeriod 속성 값이 지정된 자원에 대한
MonitorCommandTimeout 속성 값보다 더 낮을 수 있습니다. 이는 실제로 MonitorCommandPeriod가 마지막 MonitorCommand 실행이 종료되고 다음 시작 때까지
대기 기간을 지정하기 때문에 가능합니다. 그 결과 MonitorCommandTimeout은 이제 MonitorCommandPeriod에 관계없이 지정될 수 있으므로,
오래 실행하는 MonitorCommand 스크립트에 대해서도 MonitorCommand가 자주 실행될 수 있습니다. 그러나 MonitorCommand는 가능한 한 효율적으로 유지되는 것이 바람직합니다.
MonitorCommand와 관련하여 다음과 같은 두 가지 사항을 숙지해야 합니다.MonitorCommand는 자원의 실행이 허용되는 모든 노드에서 실행됩니다. 자원이 작동 중지되고 (자원 그룹의NominalState가 오프라인임) 운영자가 자원을 수동으로 시작하는 경우, System Automation for Multiplatforms 는 자원의MonitorCommand를 통해 이를 인식하고 자원이 다시 오프라인이 되도록StopCommand를 실행합니다.개별 자원 그룹 구성원을 온라인 또는 오프라인으로 가져올 필요가 있는 경우 (예: 백업 수행), System Automation for Multiplatforms 요청을 사용해야 합니다 ( rgreq 명령). 자원의
NominalState가 오프라인인 경우에도 자원 그룹의NominalState를 무효로 하고 자원 그룹 멤버가 시작되도록 합니다.MonitorCommandTimeout속성에 지정된 제한시간이 만료되기 전에 실행 중인MonitorCommand가 완료되지 않으면 System Automation for Multiplatforms 는SIGKILL명령을 사용하여MonitorCommand를 강제 종료하고 노드의 시스템 로그에 메시지를 로그하며 자원의OpState를 알 수 없음으로 설정합니다. 그 결과 이 자원과 모든 종속 자원은 의미 있는 상태가 다시 결정될 때까지 자동화되지 않습니다. 해당 메시지가 시스템 로그에 자주 표시되면,MonitorCommandTimeout속성 값을 확인하고 필요한 경우 조정해야 합니다.