더블테이크
 섀도우 프로텍트
 SB어드민
 K-클러스터
 서비스키퍼
 
 
 | 서비스키퍼  | 사용설명서

시작하기

 시스템 설치 환경

  • Windows 2012/2008/2003
  • 2 MB 여유 하드디스크 공간
  • 관리자(Administrator) 권한
  • 인터넷 브라우저(Microsoft 또는 Netscape)

 설치

  • 서비스 키퍼를 설치하기 위해서 먼저 skeeper.zip 파일을 임시 디렉터리에 풀고(unzip) setup.exe 프로그램을 실행한다. 설치도중에 관리자 사용계정이 요구되며, 서비스키퍼와 관련된 유틸리티인 Service+ 프로그램도 자동으로 설치된다.

서비스키퍼 사용하기

 서비스 키퍼 구성
  • 서비스키퍼는 Service+ 프로그램을 이용한다.
  • Service+ 프로그램은 제어판 창에 포함되어 있다.
  • 제어판 창은 [시작][프로그램][ServiceKeeper]메뉴에서 Service+ 를 선택 실행하면 아래와 같은 Service+ 작업화면이 나타난다.
  • Service+ 프로그램은 기존의 서비스 제어판 보다 강력한 기능을 제공한다. 서비스에 대한 자세하고 다양한 정보를 제공하며 서비스 상태를 실시간으로 표시한다.

  •  Service+ 창에서 ServiceKeeper 서비스를 선택하여 두 번 클릭하면 아래 화면이 나타난다.
  • 이 화면에서 서비스 키퍼의 등록정보를 구성한다.

  • 모니터된 컴퓨터 : 감시 대상 컴퓨터 목록이 나타난다. [추가] 단추를 클릭하면 모니터 되는 컴퓨터를 추가할 수 있다. 그러나 이럴 경우 원격 컴퓨터의 서비스 장애 복구 기능은 제한적이다. 가령 서비스가 멈추지 않을 경우 서비스 프로세스 죽임(kill process) 같은 기능은 지원하지 않는다.
  • 로그 수준 : 로그 수준은 서비스 키퍼가 윈도우 이벤트 표시기에 기록할 메시지의 유형 및 정도를 정의한다.
    "최소" 수준은 중대한 오류를 , "보통" 수준은 오류와 경고를, "최대" 수준은 오류, 경고와 정보를 이벤트 표시기에 기록한다.
  • 통보 방법: 서비스 오류 발생시 다양한 종류의 오류 통지 방법을 설정한다.

서비스 오류 통보

 서비스 오류 통보

(1) e-mail(SMTP) 발송

  • "e-mail(SMTP)발송" 선택 후 [등록정보]단추를 클릭하면 "SMTP 메일 발송" 창이 아래와 같이 나타난다.
     
     
  • SMTP 서버: 발송메일의 SMTP 서버명, 또는 IP 주소를 입력한다.
  • 발송: 메일 발송자의 메일주소 입력한다.
  • 수신: 서비스 오류 메시지를 받을 메일 수신자의 메일 주소를 입력한다. 쉼표(",")를 이용하여 한 명 이상의 메일 주소 지정이 가능하다.
    • 제목: 메일 제목을 지정한다.
    • 문자집합: 한국어:charset=eus-kr 문자집합을 선택한다. "인코딩 안함"을 선택하면 메시지는 encode되지 않는다. 이 문자집합 선택은 메시지를 MIME 형태와 호환되지 않는 클라이언트(예: Pager, SMS, 등)에 메시지를 보낼 때 유용하다.
  • 설정 후 [테스트] 단추를 클릭하여 e-mail 설정 값을 테스트한다.

(2) 윈도우 관리자에게 경고 발송

  • 설정 후 [테스트] 단추를 클릭하여 e-mail 설정 값을 테스트한다.

  • 경고 메시지를 받을 Windows 2012/2008/2003 서버 관리자 계정 또는 컴퓨터 이름을 입력한다.
  • 경고 메시지를 받을 컴퓨터에는 Alerter 서비스가 시작된 상태이어야 받을 수 있다.
  • 쉼표(,)를 이용하여 한 개 이상의 계정 또는 컴퓨터 이름을 지정할 수 있다.
  • 입력 후 [테스트] 단추를 클릭하여 설정 값을 테스트 할 수 있다.

(3) 프로그램 또는 패치 파일 실행

  • "프로그램 또는 배치파일 실행" 선택 후 [등록정보]단추를 클릭한다.


  • 프로그램: 실행할 프로그램 이름을 입력한다.
  • 매개변수: 다음의 키워드를 사용할 수 있다.
    • %MessageFile% 은 오류 메시지를 포함한 파일 이름을 대신함
    •  %Message"는 실제 오류 메시지를 대신함. CR 문자는 Space로 변환됨
  • 입력 후 [테스트] 단추를 클릭하여 설정 값을 테스트할 수 있다.

(4) SNMP trap 발송

  • "SNMP trap 발송" 을 선택한다.


(5) 스크립트 실행

  • "스크립트 실행" 을 선택한다.


 

  • VBScript를 작성하여 경고 메시지를 통보할 수 있다.
  • 스크립트 작성시 다음의 매개변수를 이용할 수 있다.
    • Info.Message : 오류 메시지를 포함한 문자(String)로서 CR LF를 포함할 수도 있다.
  • 경고 통보가 실패하면 False 값을 반환(Return)하고 Info.Error는 오류를 기술한 텍스트로서 설정된다.
  • [편집] 단추를 클릭하면 .vbs 파일 확장자와 관계된 편집 어플리케이션이 실행된다. vbs 파일 확장자의 편집 프로그램을 지정하여 사용할 수 있다(예: 메모장).
  • [테스트] 단추를 클릭하면 작성된 스크립트를 테스트할 수 있다.
  • [디폴트] 단추를 클릭하면 기본 설정 스크립트 상태로 재설정된다.

(6) ""HTML 이벤트 로그" 를 선택한다.

 

  • 관리자는 웹 브라어가 설치된 모든 위치에서 서비스 키퍼의 이벤트 로그를 확인할 수 있다.
  • HTML File: 서비스 키퍼 로그가 기록될 HTML 파일 위치 및 파일명을 지정한다. 지정된 파일이 없으면 서비스 키퍼는 자동으로 HTML 파일을 새로 생성한다. 지정된 파일이 존재하면 서비스 키퍼는 그 파일 뒤에 로그를 첨부한다.
  • [로그 보기] 단추를 클릭하면 웹 브라우저에서 서비스 키퍼 로그를 볼 수 있다.
  • [로그 지우기] 단추를 클릭하면 로그 파일의 로그를 지운다.
  • [테스트] 단추를 클릭하면 설정 값을 테스트할 수 있다.

서비스 스케쥴링

    Service+ 프로그램을 실행한 후 Service+ 창(아래)에서 Task Scheduler를 두 번 클릭하거나, 오른쪽 클릭 후 등록정보를 선택한다. . 관리자가 서비스 오류 통보 메일을 접수하기 이전에 이미 ServiceKeeper는 서버를 정상으로 회복시켜 놓은 상태가 될 것입니다. 즉, 관리 경비 및 손실을 극소화합니다.

  • 스케줄링할 대상 서비스를 선택하고 두 번 클릭하면 아래와 같은 서비스 등록 정보가 나타난다.
  • "서비스 등록정보" 창에서 [스케줄] 탭 메뉴를 선택하면 아래 화면이 나타난다.
  • 아래 화면은 서비스가 월요일부터 금요일까지 오전 7시부터 오후 7시까지만 시작 동작되고 밤 12시30분에 서비스가 자동으로 다시 시작하게 설정한 경우이다. 그 외의 시간에서는 이 서비스는 중지되어 있을 것이다.


 서비스 단추

  • 스케줄링을 설정하기 위해서는 다음의 서비스 단추를 선택하여 마우스로 서비스 시간 영역을 지정하면 된다.
    •  (연두색): 서비스 시작
    •  (빨강색): 서비스 중지
    •  (오렌지색): 서비스 일시 중지
    •  (흰색): 서비스 상태 무시
    •  (청색): 서비스가 30분 간격으로 시작됨. 백업 또는 이메일 전송 등의 Task 서비스를 사용할 때 매우 유용함.
    •  (초록색): 서비스가 30분 간격으로 다시 시작됨. 서비스의 자원(메모리, 핸들 등)을 해제하지 못하는 서비스를 다시 시작하는데 유용함.

 서비스 시작 시 선택

  • 서비스 매개변수: 서비스 시작 시 시작 매개변수를 옵션으로 지정할 수 있다.
  • Service+ 창에서 해당 서비스를 선택한 후 Shift Key와 [시작] 단추를 동시에 눌러도 시작 매개변수를 입력할 수 있다.

서비스 장애 모니터

 서비스 장애 감지
  • Service+ 프로그램을 실행하면 아래와 같은 Service+ 창이 나타난다.

  • 모니터링할 서비스를 선택하고 두 번 클릭하거나 [동작][등록정보] 메뉴를 위와 같이 실행하면 아래와 같은 "서비스 등록정보" 창이 나타난다.
  • "서비스 등록정보" 창에서 "모니터" 탭 메뉴를 선택하면 아래 화면이 나타나고 "감지" 탭 메뉴를 선택한다.

  • "서비스 등록정보/모니터" 창에는 [서비스 단추]가 나타나며 감지 및 복구 방법으로 이용한다.
    •  등록정보
    •  항목추가
    •  항목삭제
    •  우선 순위 상향 조정
    •  우선 순위 하향 조정
  • [항목 추가] 버튼을 선택하면 아래와 같이 장애 감지 방법을 선택할 수 있는 "설정 마법사" 창이 나타난다.

  • 아래와 같이 여러 종류의 장애 감지 방법을 AND, OR, XOR 의 논리 연산자를 함께 사용하여 서비스 운영 상태를 감지할 수 있다.


(1) 서비스가 시작되지 않았음

  • 서비스가 동작 중인지를 모니터링하여 서비스 오류로 인한 서비스의 중단 상태를 감지한다.
  • 장애 감지 간격은 초/분/시간 단위로 설정이 가능하다.


(2) 프로그램 종료 코드

  • 사용자 프로그램 실행 중에 에러 코드를 반환할 경우 프로그램 종료 코드에 의하여 장애를 감지한다.

  • [테스트] 단추를 클릭하여 현재 설정 값을 테스트 할 수 있다.

(3) TCP/IP 서비스 (HTTP, FTP, PING, 등)

  • TCP/IP Socket의 오류 상태를 모니터링하여 서비스의 중단 상태를 감지한다.[새 작업 추가] 아이콘을 클릭하고 아래와 같이 "TCP/IP 서비스(HTTP, FTP, PING, 등" 메뉴를 선택한다.


  • IP 서비스 : 모니터할 대상 IP 서비스 프로토콜을 선택한다. (PING, HTTP, FTP, SMTP, POP3, NNTP, TELNET, Other)
  • Url : 모니터할 대상 IP 주소 또는 서버명을 입력한다. 쉼표(",")를 이용하여 한 개 이상의 호스트 선택이 가능하다. (예: www.site1.com, www.site2.com, 123.123.123.123)
  • 포트 : 서비스 키퍼는 해당 IP 서비스 프로토콜의 Default 포트(Port) 값을 표시하며 다른 포트 값 사용 시 이를 설정할 수 있다.
  • 시간초과: WinSock recv() 명령 시 1000분의 1초 단위로 타임아웃(Timeout)를 설정한다.
  • 프로토콜 특정 오류 감지 : HTTP 서버가 HTTP400 또는 HTTP500 오류 반환 시 오류를 감지한다. 호스트 주소에 특정 HTML 페이지를 포함하여 오류 감지를 지정할 수도 있다(예: server/index.html). FTP, SMTP, POP3 서비스의 Native Error 감지도 제공한다.
  • [테스트] 단추를 클릭하여 현재 설정 값을 테스트할 수 있다.

(4) 카운터

  • NT 성능 카운터를 이용하면 모든 종류의 시스템의 비정상적인 상태를 감지할 수 있다.

  • 위의 그림은 Spooler 서비스 프로세스가 핸들 갯수가 500개가 초과한 상태가 30초 동안 계속되면 서비스 장애로 감지한다.
  •  단추를 클릭하면 아래와 같은 "성능 카운터 찾아보기" 창이 나타나고 성능 카운터를 선택할 수 있다.

  • "카운터 값이 다음 조건일 때 장애 감지" 입력상자에서 아래 선택 단추를 클릭하여 장애 감지 조건을 선택하고 값을 입력한다.

  • 2개 까지의 성능 카운터를 동시에 감지할 수 있다.
  • "카운터 값이 다음 조건일 때 장애 감지" 입력상자에 성능 카운터의 조건이 지속되는 시간을 초단위로 설정할 수 있다. 이 성능 카운터는 지정된 시간 동안 매초마다 모니터링이 된다.
    이 옵션은 CPU 사용 정도를 모니터링하는 데에도 유용하게 이용될 수 있다. 가령 특정 서비스 프로세스의 CPU 사용을 모니터링하는데 60초 동안 특정 서비스가 CPU의 90% 이상을 사용한다면 서비스 장애로 감시되도록 설정할 수 있다.
    서비스 프로세스는 종종 CPU의 높은 사용을 할 수 있지만 오랜 시간 동안에 계속해서 CPU을 과다 사용한다면 그 서비스 프로세스는 비정상 상태를 뜻한다.
  • [테스트] 단추를 클릭하면 현재 설정 값을 테스트 할 수 있다.

(5) 이벤트 로그 모니터링

  • 이벤트 로그를 모니터링하여 서비스의 중단 상태를 감지한다.
  • 이벤트 로그중의 특정 이벤트 ID 값에 대해서도 모니터링 할 수 있다.

  • 로그 : 이벤트 로그 유형을 System(시스템), Application(어플리케이션), Security(보안) 중에서 선택하다.
  • 원본 : 이벤트 로그 원본(Source)을 선택한다. 일반적으로 원본 이름은 서비스명과 동일하다.
  • 오류 이벤트: 오류(Error) 이벤트가 발생하면 서비스 장애로 감지한다.
  • 경고 이벤트: 경고(Warning) 이벤트가 발생하면 서비스 장애로 감지한다.
  • 특정 이벤트 ID: 특정 이벤트 ID가 발생할 때 서비스 장애로 감지한다. ID 값은 쉼표로 구분하여 여러 개 입력이 가능하다.

(6) 스크립트

  • Script의 스크립트를 작성하여 서비스 장애를 감지할 수 있다.
  • 가령, ADO을 이용하여 데이터베이스를 연결하는 스크립트를 작성하여 데이터베이스가 유보중인 레코드 수를 체크하여 서비스 상태를 감지할 수 있도록 스크립트 프로그래밍을 할 수 있다. WMI을 사용하면 시스템 변수(이벤트 로그, 레지스트리, 등)를 스크립트에서 사용할 수 있다.

  • 스크립트에는 다음의 파라메터를 사용할 수 있다.
    • Info.Computer: 서비스가 실행되는 컴퓨터 이름의 문자열(String)
    • Info.Name: 서비스 이름의 문자열
    • Info.DisplayName: 서비스 표시 이름의 문자열
    • Info.FailCount: 서비스의 장애가 발생한 회수를 나타내는 Long Integer
    • Info.DesiredServiceState: 서비스 요망 상태를 나타내는 Long Integer (1: 중지, 2:시작됨, 7:일시중지)
    • 서비스 장애 감지가 실패하면 False가 반환되고 Info.Error 파라메터는 오류를 포함하는 텍스트로 설정되어야 한다.

(7) 파일 시스템 모니터링

  • 특정 파일에 대해서 파일 크기, 수정 시간, 엑세스 시간등의 여러 종류의 조건에 대해서 모니터링할 수 있다.
  • 파일 지정("다음 이름의 파일 찾기")은 * (와일드 카드)표시에 의하여 복수 파일 지정이 가능하다.

(8) 서비스 프로세스 메모리 사용

  • 모니터링 대상 서비스의 메모리 사용 상태를 감지한다.
  • 특정 조건에 도달할 경우 서비스를 장애 상태로 간주할 수 있게 한다.

(9) 서비스 프로세스 CPU 사용

  • 모니터링 대상 서비스의 CPU 사용 상태를 감지한다.
  • 특정 조건에 도달할 경우 서비스를 장애 상태로 간주한다.

서비스 장애 복구

 서비스 장애 복구

  • 서비스 장애가 감지되면 서비스 키퍼는 아래와 같은 여러 방법으로 서비스 장애를 복구하게 된다. 서비스 장애 복구를 위한 설정은 모니터 탭의 복구탭을 클릭하여 아래와 구성한다.

  • [새 작업 추가] 아이콘을 클릭하여 추가하고자 하는 복구 작업 유형을 선택한다.


(1) 서비스를 다시 시작하거나 스케줄을 설정

  • 서비스 장애 발생 시 서비스를 다시 시작하게 한다.

  • 시작 매개변수: 서비스 시작 매개변수를 설정할 수 있다.
  • 자동 시작으로 설정된 종속 서비스 시작: 현재 서비스 시작 시 현재 서비스에 종속된 서비스도 자동 시작하도록 설정한다. (서비스 B가 서비스 A에 종속되어 있다면, 서비스 A가 중지하면 서비스 B도 중지됨. 그러나 서비스 A가 시작되면 서비스 B는 시작되지 않음. 이때 이 옵션을 선택하게 되면 서비스 키퍼는 서비스 B도 시작하게 한다.)
  • 이미 시작된 종속 서비스 시작: 현재 서비스를 다시 시작 할 때 서비스 키퍼는 현재 실행중인 종속 서비스들을 기억하여 현재 서비스가 다시 시작될 때 이들도 다시 시작되도록 한다.
  • 서비스가 중지 되지 않을 경우 서비스 프로세스 강제 종요: 서비스 크래시(Crash)가 발생할 때, 적절한 서비스 중지 명령이 실행 안 될 경우가 있다. 이 옵션을 선택하면 서비스 키퍼는 서비스를 중지하기 위하여 서비스 프로세스를 죽인다. 이 옵션은 서버의 재부팅을 피할 수 있게 하며, 이 옵션은 서비스 키퍼가 설치된 로컬 컴퓨터에서만 유효한 기능이다.
  • 종속 서비스 시작 전 지연시간: 종속 서비스를 재시작 하기 전의 대기 시간을 초/분 단위로 지정한다.

(2) 다른 서비스 시작

  • 서비스 장애 시 로컬 컴퓨터 또는 원격 컴퓨터의 다른 서비스가 시작되도록 지정한다.

  • 컴퓨터: 서비스가 시작될 컴퓨터 이름
  • 서비스: 시작될 서비스 이름
  • 매개변수: 서비스 시작 시 선택적으로 사용되는 매개변수
  • 서비스가 이미 실행중일 때 서비스 다시 시작: 해당 서비스가 실행중이라면 다시 시작하게 한다.
  • 현재 서비스 멈춤: 서비스 키퍼 서비스가 재시작 될 때까지 현재 서비스 상태는 무시된다.

(3) 프로그램 또는 배치 파일 실행

  • 서비스 장애 시 다른 프로그램 또는 배치(Batch) 파일이 실행되도록 한다.

  • 매개변수: 다음의 키워드를 사용할 수 있다.
    • %FailCount% : 서비스 장애 카운트
    • %FailReason% : 서비스 장애 원인(1=서비스가 시작되지 않음, 2=프로그램 종료 코드, 3=TCP/IP 서비스,      4=NT 카운터, 5=이벤트로그)
    • %FailComputer% : 서비스가 실행중인 컴퓨터 이름
    • %FailService% : 서비스 이름
    • %FailtServiceDisplayName% : 서비스 표시 이름
      • 이들 매개변수는 프로세스 환경 변수로도 설정된다.
      • 테스트 단추에 의하여 현재 설정 값을 테스트 할 수 있다.

(4) 시스템 종료/컴퓨터 다시 시작

  • 서비스 장애 시 컴퓨터를 종료(Shutdown)하거나 다시 시작(Rebooting)하게 한다.

  • 어플리케이션 강제 종료: 컴퓨터 종료 시 사용중인 어플리케이션이 종료 확인 프롬프트가 나타나면 서비스 키퍼는 이들 어플리케이션을 강제 종료시킨다.

(5) 스크립트 실행

  • VBScript을 작성하여 서비스 장애 시 서비스를 복구할 수 있다. 예를 들어 어떤 파일을 정리하고 서비스를 시작하는 스크립트를 작성하여 사용할 수 있다.

  • 스크립트에는 다음의 매개변수를 사용할 수 있다.
    • Info.Computer: 서비스가 실행되는 컴퓨터 이름의 문자열(String)
    • Info.Name: 서비스 이름의 문자열
    • Info.DisplayName: 서비스 표시 이름의 문자열
    • Info.FailCount: 서비스의 장애가 발생한 회수를 나타내는 Long Integer
    • Info.FailReason: 서비스 오류 감지 방법을 나타내는 Long Integer (1=서비스가 시작되지 않음, 2=프로그램 종료 코드, 3=TCP/IP 서비스, 4=NT 카운터, 5=이벤트로그, 6=스크립트)
    • Info.DesiredServiceState: 서비스 요망 상태를 나타내는 Long Integer (1: 멈춤, 2:시작됨, 7:잠깐멈춤)
    • 서비스 장애 감지가 실패하면 False가 반환되고 Info.Error 파라메터는 오류를 포함하는 텍스트로 설정되어야 한다.

(6) 파일 시스템 복구

  • 지정한 파일들에 대해서 복사, 이동 또는 삭제를 수행한다.





서비스 장애 및 복구 통보

 서비스 오류 통보  

  • 모든 에러의 통보는 디폴트 서비스키퍼 서비스 오류통보 설정을 사용한다. 이미 서비스 오류 통보를 설정한 상태라면 이 메뉴는 무시해도 된다.

 서비스 모니터링 간격 지정

  • 서비스 모니터: 서비스가 정상적으로 작동되는 여부를 서비스 키퍼가 감시하는 모니터 간격
  • 복구 시도 간의 간격: 서비스 키퍼가 서비스 장애를 복구 시도 후 장애 서비스를 재복구 시도 하기 이전에 기다리는 시간
  • 장애 감지 카운트 초기화: 서비스 장애 복구 후 지정 시간 이후에 장애 카운트 값은 0 으로 설정.
  • 지연 상태 시간 종료: 만약 서비스가 설정된 시간보다 더 오래 지연되는(pending) 상태일 경우, 서비스를 종료시킨다. 가장 흔한 지연 상태는 어떤 이유로 서비스가 정지된 지연이다.

통계

  • 모니터링 대상 서비스의 운영 상태에 대한 통계 값을 보여준다.