2.3.4.1 원격 모니터링 설정 및 설치 단계
MySQL Notifier는 Windows Management Instrumentation(WMI)을 사용하여 Windows XP이후를 실행하는 원격 컴퓨터의 서비스의 관리와 모니터를 실시합니다.이 가이드에서는 그 시스템 및 시스템을 설치하여 원격 MySQL인스턴스를 모니터링하는 방법을 설명합니다.
리모트 모니터링은 MySQL Notifier 1.1.0이후 이용 가능합니다.
WMI을 구성하기 위해서는, 기반이 되는 Distributed Component Object Model(DCOM)아키텍처가 WMI작업을 벌이고 있는 것을 이해하는 것이 중요합니다.구체적으로는 MySQL Notifier는, 리모트 Microsoft Windows호스트의 비동기 통지 쿼리를. NET이벤트로 사용하고 있습니다.이들 행사는 MySQL Notifier를 실행하는 컴퓨터에 비동기 콜백을 송신하기 때문에 MySQL Notifier는 원격 컴퓨터 상의 서비스의 위상이 언제 변경됐는지를 인식할 수 있습니다.비동기 통지는 타이머를 사용하는 준 동기 통지 또는 동기 통지와 비교하고 성능이 뛰어납니다.
비동기 통지에서는 원격 컴퓨터가 콜백을 클라이언트 컴퓨터에 송신하는(그래서 반대 접속을 오픈하는)것이 필요하기 때문에 통신이 제대로 작동하려면 Windows방화벽 및 DCOM이 올바르게 구성되어 있어야 합니다.
그림 2.39 MySQL Notifier Distributed Component Object Model(DCOM)
비동기 WMI통지에 의해서 지연되는 일반적인 에러의 대부분은 Windows방화벽이 통신을 차단할 것, 또는 DCOM/WMI설정이 올바르게 셋업 하지 않은 것에 관계하고 있습니다.일반적 오류와 그 해결 방법 목록은Common Errors을 참조하세요.
다음의 순서는 WMI을 기능시키기 위해서 필수입니다.이들의 순서는 2개의 머신 간에 헤어집니다. MySQL Notifier를 실행하는 단독의 호스트 컴퓨터(컴퓨터 A)과 모니터 되는 복수의 리모트 머신(컴퓨터 B)입니다.
MySQL Notifier를 실행하는 컴퓨터(컴퓨터 A)
-
"그룹 정책 편집자"를 편집하거나
NETSH
를 사용하여 원격 관리를 유효하게 합니다."그룹 정책 편집자"를 사용하는 경우
"시작"를 클릭한 후"실행"를 클릭하고
"GPEDIT.MSC"
라고 입력한 후"OK"를 클릭합니다."로컬 컴퓨터 정책"제목의 "컴퓨터의 구성"을 더블 클릭합니다.
"관리용 템플릿","네트워크","네트워크 접속","Windows방화벽"순으로 더블 클릭합니다.
컴퓨터가 도메인 내에 있는 경우는,"도메인 프로파일"을 더블 클릭합니다.그렇지 않을 경우"표준 프로파일"을 더블 클릭합니다.
"Windows방화벽:착신 원격 관리 예외를 허용하는 "를 클릭합니다.
"액션"메뉴에서 "편집"를 선택하거나 전의 순서로 선택한 것을 더블 클릭합니다.
"유효"라디오 버튼을 체크하고"OK"를 클릭합니다.
NETSH
명령을 사용하는 경우관리자 권한으로 명령 프롬프트 창을 오픈합니다("명령 프롬프트"아이콘을 오른쪽 클릭하고"관리자로서 실행"을 클릭합니다).
-
다음 명령을 실행합니다.
NETSH firewall set service RemoteAdmin enable
-
DCOM포트 TCP 135오픈
관리자 권한으로 명령 프롬프트 창을 오픈합니다("명령 프롬프트"아이콘을 오른쪽 클릭하고"관리자로서 실행"을 클릭합니다).
-
다음 명령을 실행합니다.
NETSH firewall add portopening protocol=tcp port=135 name=DCOM_TCP135
-
콜백의 싱크를 포함한 클라이언트 애플리케이션을(
MySqlNotifier.exe
)Windows방화벽 예외 목록에 추가합니다(Windows방화벽 구성 또는NETSH
를 사용합니다).Windows방화벽 구성을 사용하는 경우
"컨트롤 패널"에서 "Windows방화벽"을 더블 클릭합니다.
"Windows방화벽"윈도의 왼쪽 패널에서 "Windows방화벽을 통한 프로그램 또는 기능을 허용하는 "를 클릭합니다.
"허가된 프로그램"창에서 "설정의 변경"을 클릭합니다.
MySqlNotifier.exe
이 허가된 프로그램과 기능의 목록 내에 있는 경우에는 컴퓨터가 접속하는 네트워크 유형(개인, 공공 또는 양쪽)에 체크되어 있는지를 확인합니다.MySqlNotifier.exe
이 목록에 없는 경우는" 다른 프로그램의 허가..."를 클릭합니다."프로그램의 추가"창에서
MySqlNotifier.exe
이"프로그램"리스트에 있는 경우는 선택하고 그렇지 않으면"참조..."를 클릭하고MySqlNotifier.exe
가 설치된 디렉토리로 이동하여 선택한 후"추가"를 클릭합니다.MySqlNotifier.exe
그러나 컴퓨터가 접속하는 네트워크 유형(개인, 공공 또는 양쪽)에 체크되어 있는지를 확인합니다.
NETSH
명령을 사용하는 경우관리자 권한으로 명령 프롬프트 창을 오픈합니다("명령 프롬프트"아이콘을 오른쪽 클릭하고"관리자로서 실행"을 클릭합니다).
-
다음 명령을 실행합니다.이때"
[YOUR_INSTALL_DIRECTORY]
"는 변경합니다.NETSH firewall add allowedprogram program=[YOUR_INSTALL_DIRECTORY]\MySqlNotifier.exe name=MySqlNotifier
-
컴퓨터 B가
WORKGROUP
멤버이거나, 또는 컴퓨터 A에 의해서 신뢰되지 않은 다른 도메인에 있는 경우는 콜백 접속(접속 2)이 익명 접속으로서 작성됩니다.익명 접속에 DCOM원격 접속 권한을 부여하려면:"시작"、"실행"를 클릭하고
"DCOMCNFG"
라고 입력한 후"OK"를 클릭합니다."컴포넌트 서비스"대화 상자에서 "컴포넌트 서비스","컴퓨터의 순으로 전개하고"마이 컴퓨터"를 오른쪽 클릭하고"속성"을 클릭합니다.
"My Computer Properties"대화 상자에서 "COM보안"탭을 클릭합니다.
"접근 허가"에서 "제한의 편집"를 클릭합니다.
"접근 허가"대화 상자에서 "그룹"또는"유저명"박스에서 "ANONYMOUS LOGON이름"을 선택합니다."유저"의 "접근 허가"의 "허가"칼럼에서 "원격 접속"을 선택한 후"OK"를 클릭합니다.
모니터 대상 원격 컴퓨터(컴퓨터 B)
MySQL Notifier를 실행하는 컴퓨터(컴퓨터 A)에 로그인 한 사용자 계정이 원격 컴퓨터(컴퓨터 B)의 로컬 관리자인 경우, 즉 같은 계정이 컴퓨터 B에서는 관리자인 경우"원격 관리의 허가"절차까지 스킵 수 있습니다.
관리자 이외의 유저가 리모트로 컴퓨터에 접속할 수 있도록 DCOM보안 설정
-
사용자 또는 그룹에 "DCOM의 원격 기동"와 유효화의 권한을 부여합니다.
"시작"、"실행"를 클릭하고
"DCOMCNFG"
라고 입력한 후"OK"를 클릭합니다."컴포넌트 서비스"대화 상자에서 "컴포넌트 서비스","컴퓨터의 순으로 전개하고"마이 컴퓨터"를 오른쪽 클릭하고"속성"을 클릭합니다.
"My Computer Properties"대화 상자에서 "COM보안"탭을 클릭합니다.
"접근 허가"에서 "제한의 편집"를 클릭합니다.
-
"그룹"또는"유저명"명단에 자신의 이름 또는 그룹이 표시되지 않는 경우"Launch Permission"대화 상자에서 다음의 순서에 따르세요.
"기동 액세스 허가"대화 상자에서 "추가"를 클릭합니다.
"Select Users, Computers, or Groups"대화 상자에서 "선택하는 객체 이름을 입력하세요"박스에 자신의 이름과 그룹을 추가하면서"OK"를 클릭합니다.
"Launch Permission"대화 상자에서 "그룹"또는"유저명"박스에서 자신의 사용자 및 그룹을 선택합니다."유저"의 "접근 허가"의 "허가"칼럼에서 "리모트의 기동"을 선택하고"리모트의 활성화"를 선택하고"OK"를 클릭합니다.
DCOM원격 접속 허가의 부여
"시작"、"실행"를 클릭하고
"DCOMCNFG"
라고 입력한 후"OK"를 클릭합니다."컴포넌트 서비스"대화 상자에서 "컴포넌트 서비스","컴퓨터의 순으로 전개하고"마이 컴퓨터"를 오른쪽 클릭하고"속성"을 클릭합니다.
"My Computer Properties"대화 상자에서 "COM보안"탭을 클릭합니다.
"접근 허가"에서 "제한의 편집"를 클릭합니다.
"접근 허가"대화 상자에서 "그룹"또는"유저명"박스에서 "ANONYMOUS LOGON이름"을 선택합니다."유저"의 "접근 허가"의 "허가"칼럼에서 "원격 접속"을 선택한 후"OK"를 클릭합니다.
-
관리자 이외의 사용자에 대한 특정 WMI이름 공간에 대한 접근 허용
"컨트롤 패널"에서 "관리 툴"을 더블 클릭합니다.
"관리 툴"창에서 "컴퓨터 관리"을 더블 클릭합니다.
"컴퓨터 관리"창에서 "서비스와 어플리케이션"트리를 전개하고"WMI컨트롤"을 더블 클릭합니다.
"WMI컨트롤"아이콘을 오른쪽 클릭하고,"속성"을 선택합니다.
"WMI Control Properties"창에서 "보안"탭을 클릭합니다.
"보안"탭에서 이름 공간을 선택하고"보안"을 클릭합니다.
적절한 계정을 찾고"Remote Enable in the Permissions list"에 체크를 합니다.
-
"그룹 정책 편집자"를 편집하거나
NETSH
를 사용하여 원격 관리를 유효하게 합니다."그룹 정책 편집자"를 사용하는 경우
"시작"를 클릭한 후"실행"를 클릭하고
"GPEDIT.MSC"
라고 입력한 후"OK"를 클릭합니다."로컬 컴퓨터 정책"제목의 "컴퓨터의 구성"을 더블 클릭합니다.
"관리용 템플릿","네트워크","네트워크 접속","Windows방화벽"순으로 더블 클릭합니다.
컴퓨터가 도메인 내에 있는 경우는,"도메인 프로파일"을 더블 클릭합니다.그렇지 않을 경우"표준 프로파일"을 더블 클릭합니다.
"Windows방화벽:착신 원격 관리 예외를 허용하는 "를 클릭합니다.
"액션"메뉴에서 "편집"를 선택하거나 전의 순서로 선택한 것을 더블 클릭합니다.
"유효"라디오 버튼을 체크하고"OK"를 클릭합니다.
NETSH
명령을 사용하는 경우관리자 권한으로 명령 프롬프트 창을 오픈합니다("명령 프롬프트"아이콘을 오른쪽 클릭하고"관리자로서 실행"을 클릭합니다).
-
다음 명령을 실행합니다.
NETSH firewall set service RemoteAdmin enable
-
여기에서
Full Name
값은 아니다Name
값을 사용하고 로그인하고 있음을 확인합니다."컨트롤 패널"에서 "관리 툴"을 더블 클릭합니다.
"관리 툴"창에서 "컴퓨터 관리"을 더블 클릭합니다.
"컴퓨터 관리"창에서 "시스템 도구","로컬 유저와 그룹"의 순서로 전개합니다.
"유저"노드를 클릭하고 오른쪽 패널로 자신의 유저를 찾아 접속에 Full Name값이 아니라 Name값을 사용했음을 확인합니다.
-
원격 컴퓨터가
Windows XP Professional
위에서 실행되고 있는 경우는, 리모트 로그인이 강제적으로 게스트 계정 사용자에 변경되지 않았음을 확인합니다(ForceGuest
이라고도 불립니다).이는 도메인에 연결되어 있지 않는 컴퓨터에서는 기본적으로 유효합니다."시작"을 클릭한 후"실행"을 클릭하고
"SECPOL.MSC"
라고 입력한 후"OK"를 클릭합니다."로컬 정책"노드에서 "보안 옵션"을 더블 클릭합니다.
"네트워크 접속:로컬 계정의 공유와 보안 모델"을 선택하고 저장합니다.
일반적인 에러
-
0x80070005
DCOM보안이 올바르게 구성되지 않았습니다(컴퓨터 B,
DCOM보안 설정...
절차를 참조하세요).원격 컴퓨터(컴퓨터 B)가 WORKGROUP의 멤버이거나, 또는 클라이언트(컴퓨터 A)에 의해서 신뢰되지 않은 도메인에 있습니다(컴퓨터 A,
익명 접속에 DCOM원격 접속 권한을 부여하려면
절차를 참조하세요).
-
0x8007000E
원격 컴퓨터(컴퓨터 B)가 WORKGROUP의 멤버이거나, 또는 클라이언트(컴퓨터 A)에 의해서 신뢰되지 않은 도메인에 있습니다(컴퓨터 A,
익명 접속에 DCOM원격 접속 권한을 부여하려면
절차를 참조하세요).
-
0x80041003
원격 WMI이름 공간에 대한 접근이 올바르게 구성되지 않았습니다(컴퓨터 B,
관리자 이외의 사용자에 대한 특정 WMI이름 공간에 대한 접근 허용
절차를 참조하세요).
-
0x800706BA
클라이언트 컴퓨터(컴퓨터 A)의 방화벽에서 DCOM포트가 오픈하지 않습니다.컴퓨터 A의
DCOM포트 TCP 135오픈
절차를 참조하십시오.원격 컴퓨터(컴퓨터 B)의 네트워크의 장소가 공공용으로 설정되어 있어 접근할 수 없습니다. Windows익스플로러를 통해서 접속할 수 있음을 확인하세요.