GridCenter MON
GridCenter에 대해 주저리주저리 써 놓은 것입니다. MON이 다른 솔루션에 비해 특별히 특징을 가지는 것이 없으므로 적당히 정리하고, 다른 솔루션들에 대해 더 조사하면 완성하리라 봅니다. - 노진호
목차 |
개요
MON이 관리하는 노드들의 자원 상태 모니터링, 노드들에서 동작중인 서비스와 프로세스들을 모니터링하는 솔루션이다. 현재 SK C&C의 항공사진프로젝트를 위해 개발을 준비하고 있다.
요구사항 수집
현재 개발에 앞서 전체요구사항을 수집하는 중이다. 이번 프로젝트에서는 전체요구사항 중 SK C&C에 필요한 기능만 우선 개발한다. SK C&C의 요구사항은 아래와 같다.
- windows version(연구소 개발)
- linux version(기술부 GridCenter 활용 - 프로세스 모니터링 기능 추가)
- 부하 정도를 리턴해 주는 API개발
- log남기는 기능 추가
Windows version은 연구소에서 개발할 예정이며, Linux version은 기술부가 개발한 GridCenter에 약간의 기능을 추가할 예정이다.
버전
리눅스 버전
현재는 기술부의 GridCenter로 대체함
윈도우 버전
SK C&C를 위해서 우선 개발되어질 예정이다. 모든 요구사항을 구현하지 않을 예정이며 SK C&C의 요구사항만 반영된 버전이 우선 출시된 예정이다.
기능
설정
모니터링 주기 설정
모니터링 주기는 MON이 시스템에 주는 부하의 정도에 영향을 준다. 사용자는 주기를 조절해서 얻으려는 정보의 동기화 정도를 결정할 수 있다. MON의 전체 모니터링 내역의 주기도 설정할 수 있고, 세부적인 내용의 업데이트 주기도 세세하게 설정 가능하다. 사용자는 모든 주기를 설정할 수 있다.
노드 그룹 설정
시스템 모니터링
- 모니터링 할 서버 등록/삭제/설정 변경
- CPU, Memory, Disk 등 하드웨어 자원 모니터링
- Network 자원 모니터링
서비스 모니터링
등록된 서비스가 노드에서 정상동작 하고 있는지 모니터링 함
- 서비스 등록/삭제/등록 정보 수정
Clunix 제품 모니터링
- Clunix 제품(MCS, UTS 등) 모니터링
- EnCluster HA 서비스 상태 모니터링
- IDC내의 모든 EnCluster HA모니터링
- CDNetworks경우 10 copy 이상의 EnCluster HA 사용중
- HOME Plus는 전체 POS 시스템에 사용하는 모든 EnCluster HA를 한 눈에 모니터링 하고 싶어 함
- IDC내의 모든 EnCluster HA모니터링
타사 HA 솔루션 모니터링
프로세스 모니터링
등록된 프로세스가 노드에서 동작하고 있는지 모니터링 함
- 프로세스 등록/삭제/등록 정보 수정
- PID, Owner, Name, CPU Usage, Memory Usage 등
MON API
사용자가 Client 프로그램을 개발할 수 있도록 API를 제공한다. API를 통해 자원상태, 서비스와 프로세스 상태 등을 알 수 있다.(SK C&C 요구사항)
SK C&C에 필요한 API
- Connect
- Disconnect
- 프로세스 등록
- 프로세스 삭제
- 노드이름, 프로세스 이름을 파라미터로 해서 노드에서 동작하는 프로세스의 개수를 리턴
추가될 API
- 등록된 프로세스 목록 출력
임계치 설정
- 사용자가 정해놓은 임계치의 값에 해당하는 모니터링 결과가 나오면 로그를 남김
로그저장
- 로그를 저장하고, 열람 가능
- 장애 발생시 자세한 장애 정보 기록
- 표, 그래프를 이용 한눈에 확인하기 편한 인터페이스 제공
사용자 인터페이스
현재 예정된 사용자 인터페이스는 Web이다.
- Web을 통해서 전체 시스템의 상황을 쉽게 판단
- 편리한 노드, 서비스, 프로세스의 추가/삭제/설정변경
- 장애 이력등을 한 눈에 확인
- 자원사용 이력 그래프 출력
GridCenter MON의 시스템 자원 사용
GridCenter MON은 모니터링 기능을 수행하기 때문에 진행되는 작업보다 우선순위가 낮다. 때문에 최소한의 자원만을 사용해서 최대한의 정보를 제공해야 한다.
- 1개 Core의 3%이내
- Memory 50MB 이내
매뉴얼
유지보수, 기술지원 등의 업무를 줄일 수 있도록 알찬 내용을 가진 매뉴얼이 제공되어야 한다.
현재 SK C&C에 설치관련 매뉴얼만 제공되어 있다. (2009. 2. 10) - GridCenter MON 설치 매뉴얼 0.1
구성
GridCenter MON은 Server와 Agent로 구성된다. 전체 Cluster에서 Server는 1대, 나머지는 Agent들이 된다.
MON Server
MON Agent
장애
장애 리스트
관리되는 시스템들에서 발생한 장애를 한 번에 확인 할 수 있어야 한다. 장애가 발생하면 장애 목록과 함께 장애에 대한 정보도 함께 보여주어야 한다.
장애 목록은 다음과 같다.
- 장애 등급 - 색깔로 장애 정도 표시
- 장애가 발생한 서버
- 장애 발생 시간
- 장애 복구 시간
- 장애 지속 시간
- 장애 코드
- 장애 발생 장치 또는 서비스
- 장애 상세 내용
시스템 장애
하드웨어 또는 운영체제에서 발생한 장애. 시스템에 접근 자체가 불가능한 경우가 대부분이다.
시스템 장애 증상
관리 프로세스가 감지할 수 있는 장애 증상들이다. MON의 서버가 서버의 시스템 장애로 판단할 수 있는 증상들이다.
- 네트워크 접속 불가
- ping 안됨
관리되는 서버들에 설치된 MON slave가 멈추면 모니터링된 값이 전달되지 않는다. 이 경우는 다른 시스템 툴(ping 등)로 노드의 상태를 확인할 수 있다. ping이 된다면 MON Slave가 죽었거나 응답시간이 길어진 경우일 수 있으므로 다른 종류의 장애가 된다.
시스템 장애 원인
- 물리적인 하드웨어 고장 또는 케이블 단선
- 하드웨어(부품, 케이블 등) 접속 불량
- 운영체제 문제로 발생한 장애
- 네트워크 문제
서비스 장애
모니터링하도록 등록된 서비스의 장애
서비스 장애 증상
- 등록된 스크립트가 에러값을 출력
- 서비스의 프로세스가 없음
서비스 장애 원인
- 시스템 장애 발생
- 서비스 다운
- EnCluster HA에 등록된 서비스의 장애 발생
장애등급
모든 장애는 등급을 가진다. 등급에 따라 장애처리 기준이 다르다. 장애등급은 아래와 같이 나누어 진다.
- 심각한 장애 - 시스템 다운, 중요 서비스 중지 같은 장애발생시 손해가 큰 장애, HA로 처리된 장애도 포함
- 일반 장애 - 성능에만 영향을 주는 장애
- 무시할 만한 장애 - 100번의 ping 중 1 ~ 2 개 정도 빠지는 정도의 장애
로그
로그 종류
- Event
- Warn
- Error
로그 리스트
- 현재 시스템 상태
- 현재 서비스 상태
- 현재 프로세스 상태
- Agent접속, 종료
- 모니터링하는 Service, Process 시작
- Memory, Disk full
- 모든 장애
- 관리자 설정 변경
- 임계치를 초과하는 모니터링 값
주기적으로 시스템 상태 저장
SK C&C에서 요구한 기능이다. 현재 전체 시스템 상태를 파일에 TEXT형태로 저장한다. 사용자는 주기를 설정할 수 있다.
로그 저장
각각의 Agent가 모니터링한 정보는 Agent가 동작하는 서버에 파일로 저장된다. Host에 모인 모니터링 정보는 Host가 동작하는 서버에 파일로 저장된다. Host에 저장된 로그는 모든 Agent가 가진 로그의 모음이다.
로그 출력
GridCenter MON의 로그는 파일로 저장된다. 저장된 로그는 Web화면에 출력할 수 있다.
로그 필터
로그 출력시 필터기능로 보고싶은 로그만 볼 수 있는 기능
- 시간별, 기간별 로그 출력
- 노드별, 서비스별, 프로세스별 로그 출력
그래프 출력
쉽게 분석할 수 있도록 그래프로 자원 사용 현황을 보여준다.
현재 버전 빌드방법
ECMCore, ECMmoduels, MON을 svn에서 체크아웃 함. Visual Studio 2008솔루션은 찾아 순서대로 빌드하면 됨. 단 64bit만 검증되었으므로 32bit는 아직 어떻게 될지 모름. Linux버전은 강준 선임님께 물어보기 바람.
설치시 주의 사항
- SK C&C 설치된 초기 제품에서 소켓 문제가 발생해서 클루닉스 사내에서 "W"로 불리는 네트워크 모니터링 서비스가 네트워크를 닫아버리는 문제가 발생했다. SK C&C에서 사용하는 Active Directory DNS서버가 Broadcast를 사용해서 문제가 될 가능성이 있음. 현재 방화벽에서 초당 2500byte이상 사용할 경우 네트워크를 차단하게 되어 있는데 ECM은 주기적으로 44byte정도를 사용하므로 문제가 되지 않음.
경쟁사 제품
- insoft의 OpenManager
- Evalesco의 SYSORB
- Adventnet의 manageengine
참고
- GridCenter MON Project on dP - dotProject에서 GridCenter MON의 개발진행 상황을 확인할 수 있다.
- 1차 개발계획