강좌
클라우드/리눅스에 관한 강좌입니다.
클라우드 분류

클라우드 컴퓨팅 환경에서의 관리도구(CCMT) 사용법

작성자 정보

  • 관리자 작성
  • 작성일

컨텐츠 정보

본문

제목 : 클라우드 컴퓨팅 환경에서의 관리도구(CCMT) 사용법 



 

CCMT(Cloud Computing Management Tools)소개

 

CCMT 개요

CCMT(Cloud Computing Management Tools)는 클라우드 컴퓨팅 환경에서의 대량 시스템을 효율적으로 관리하기 위한 프로그램이다.



46ef12ee7386c0d15c9794aa2d63596c_1646715182_2482.png
 


한국의 높은 유/무선통신 인프라 보급률과 최근 스마트폰/태블릿 PC 사용 확대에 따라 주요 이동통신사를 중심으로 클라우드 컴퓨팅 시장이 급속도로 성장하고 있다. 2010년 전세계 클라우드 컴퓨팅 시장규모는 743억 달러에 이르는 것으로 평가되고 있다. 한국 시장 또한 20142.5조원에 이를 것으로 전망하고 있다. 클라우드 컴퓨팅은 서비스를 사용하는 입장에서는 필요할 때 서비스(자원, 플랫폼, 서비스)를 즉시 사용할 수 있는 것이고, 클라우드 컴퓨팅 서비스를 제공하는 제공자 입장에서는 한정된 자원을 필요한 부분에 할당하고 사용되지 않는 자원은 회수하여 한정된 자원을 효율적으로 사용하는 것이다. 클라우드 컴퓨팅 환경을 구현하기 위해서는 많은(아마존의 경우 현재 약 45만대) 시스템(서버)이 필요하며 이러한 대량 서버를 관리하는 것은 클라우드 컴퓨팅의 큰 문제가 되었다. 이러한 대량 서버를 효율적으로 통합 모니터링 및 관리하는 솔루션이 필요하다. CCMT는 이러한 목표를 달성하기 위해 개발된 솔루션이다.




 

주요기능

 

CCMT는 다음과 같은 기능을 가진다.

 

* 클라우드 컴퓨팅 환경에서의 관리도구 기능

1. 클라우드 컴퓨팅 노드 설치 및 설정기능

1.1. 클라우드 컴퓨팅 전용 프로그램 설치 (프로버저닝)

1.2. 설정파일 전체노드 배포 및 적용 기능

1.3. OS 업데이트

 

2. 클라우드 컴퓨팅 노드 모니터링 기능

2.1. 전체노드 (정상/비정상 모니터링)

2.2. 노드상세 모니터링 (상태, CPU, 메모리, Disk, N/W, IO, process, uptime, 온도)

2.3. 비정상 노드 Alert(Email, Sound)

 

3. 클라우드 컴퓨팅 노드 관리부분

3.1. 리부팅, 정지

3.2. 클라우드 데몬 관리

3.3. 노드 관리(그룹화, 추가/제거/편집)

 

4. 로그 및 이력관리

4.1. 장비관리 : 제조사 및 사양, 입고일, IDC 위치등

4.2. 장애이력관리 (장애 발생 및 처리 이력 관리)

4.3. 설정 및 변경 이력 관리

 

 

 

 

라이선스

CCMT의 라이선스는 GPL을 따르며, 원문은 소스코드의 COPYING 파일을 참고하거나, 웹사이트(http://www.gnu.org/licenses/)를 참고하길 바란다.

 

 

CCMT 설치

프로그램 설치

프로그램 다운로드

- 프로젝트 사이트 방문 : https://sourceforge.net/projects/ccmt/



46ef12ee7386c0d15c9794aa2d63596c_1646715286_6391.png
 



 

프로젝트 사이트 방문 후 중간에 “Download Now"를 눌러 프로그램을 다운로드 받는다. 그런 다음 CCMT를 설치 할 리눅스 시스템에 업로드 시킨 후 다음 단계에서 설치한다.

 

프로그램 설치

CCMT 서버 설치

cd /usr/local/src/

tar xvfpz CCMTd-1.3.tar.gz

cd CCMTd-1.3

./install --prefix=/usr/local

cd /usr/local/CCMTd

 

DB생성, user 생성 후 스키마 설치 (DB생성법은 MySQL매뉴얼 참고)

## DB 스키마 설치

mysql -uccmt -p ccmt < sql/ccmt.sql

CCMT agent 설치

cd /usr/local/src/

tar xvfpz CCMTagent-1.3.tar.gz

cd CCMTagent-1.3

./install --prefix=/usr/local

cd /usr/local/CCMTd

Agent 설치시 다음명령어가 필수적으로 필요함.

(OS 매뉴얼을 참고하여 미리 설치해야 함)

- ethtool , dmidecode, wget

 

 

프로그램 기본 설정

설정파일 편집

CCMT 서버

설정파일 : /usr/local/CCMTd/etc/config.cfg

[CCMTd]

## Agent와 통신할 포토 지정

port = 8000

## CCMTd의 데몬 모드 또는 foreground mode 설정 [Treu|False]

daemon = True

pidfile = /tmp/CCMTd.pid

## CCMTd 쓰레드 수, 시스템 성능에 따라 변경 가능.

thread_count = 5

## 모니터링 주기

collect_interval = 60

 

## DB 설정

[Database]

servername = localhost

serverport = 3306

username = ccmt

password = ccmt

database = ccmt

 

CCMT 서버 ()

설정파일 : /usr/local/CCMTd/www/mysql_connect.php

...... 상단 부분 생략 ......

 

// 설정 내역

$dbHost="localhost"; // DB 호스트

$dbUser="ccmt"; // DB 사용자

$dbPassword="ccmt"; // DB 비밀번호

$dbName="ccmt"; // DB 이름

 

...... 하단 부분 생략 ......

 

CCMT 웹 인터페이스를 위한 Apache 설정

- 가상호스트 사용하지 않을시 설정

DocumentRoot /usr/local/CCMTd/www

 

- 가상호스트 사용시 설정

<VirtualHost *:80>

DocumentRoot /usr/local/CCMTd/www

ServerName 호스트이름

</VirtualHost>

자세한 설정법은 Apache 매뉴얼 참조 한다.

 

 

CCMT Agent

설정파일 : /usr/local/CCMTagent/etc/config.cfg

[CCMTagent]

## Bind 할 호스트 이름

hostname = ""

## CCMT에서 사용할 포트

port = 8000

## CCMTd의 데몬 모드 또는 foreground mode 설정 [Treu|False]

daemon = True

pidfile = /tmp/CCMTagent.pid

## 접근 허용할 CCMT 서버 IP, 공백을 사용하여 구분

access_list = 127.0.0.1

 

[Plugin]

## 플러그인

plugin = sys_info sys_spec sys_ctrl ccmt_swift

CCMT 사용법

CCMT 실행

 

CCMT는 정보를 수집하기 위한 CCMTd가 있으며 CCMTd 프로그램은 다음과 같이 실행시킨다.

 

service CCMTd start

 

CCMTd 설치시 기본적으로 service에 등록되며, 자동 시작된다.

 

CCMT 서버 운영

 

ccmtd 시작 : service CCMTd start

ccmtd 정지 : service CCMTd stop

ccmtd 재시작 : service CCMTd restart

ccmtd 데몬 확인 : service CCMTd status

 

* 웹서버 및 DB서버는 각 서버의 운영 매뉴얼에 따라 시작, 정지, 재시작 하기 바란다.

 

CCMT Agent 운영

 

ccmtAgent 시작 : service CCMTagent start

ccmtAgent 정지 : service CCMTagent stop

ccmtAgent 재시작 : service CCMTagent restart

ccmtAgent 데몬 확인 : service CCMTagent status

 

CCMT 로그인

 

CCMT에 접근하기 위해서는 웹브라우저가 필요하다. 웹 브라우저에 다음과 같이 입력한다. (CCMTHTML5 최신 기술이 사용됨에 따라, Chrome 23.x.x.x 이상 버전이 필요하다)

 

http://서버주소/

 

CCMT에 접속하면 초기 사용자(ccmt), 비밀번호(ccmt)로 인증을 받아야 한다.




46ef12ee7386c0d15c9794aa2d63596c_1646715326_4309.png
 

 

비밀번호 변경 및 환경 설정

 

CCMT 접속 후 비밀번호를 변경하고, Email등을 설정한다.




46ef12ee7386c0d15c9794aa2d63596c_1646715494_2878.png
 

 

우측 상단의 "CCMT Configure" 항목을 선택하여, ID, 패스워드, Email을 입력한다. "SHOW reboot, halt" 항목은 Node Control 메뉴에서 “Reboot", "Shutdown" 버튼을 표시할지를 결정하는 항목이다. "ON"의 경우 보여주며, "OFF"의 경우 보이지 않는다.






 

메인 인터페이스

 

CCMT는 다음과 그림과 같이 구성되어 있다.



46ef12ee7386c0d15c9794aa2d63596c_1646715549_9303.png
 


 

좌측 : 노드를 트리 형태로 관리 할 수 있음

우측 상단 : 설정 및 로그 아웃 메뉴

중앙 : 노드 및 노드 그룹의 상태 확인, 설정 할 수 있는 메뉴 구성




노드 관리

노드 추가

 

노드 추가는 좌측 트리 인터페이스에서 가능하며, 추가 하고자 하는 곳에서 마우스의 우측 클릭 버튼을 이용한다.


 

46ef12ee7386c0d15c9794aa2d63596c_1646715584_8013.png46ef12ee7386c0d15c9794aa2d63596c_1646715597_8071.png 


- “Create_Folder" : 폴더 추가, 이름 입력

- “Create_Server" : 서버 추가, 이름 입력

서버 추가 후 IP등 정보를 다음 그림과 같이 입력한다.



46ef12ee7386c0d15c9794aa2d63596c_1646715624_2394.png
 


 

IP : 서버의 IP정보

Network device : 주 네트워크 디바이스 예) eth0, bond0

Model : 서버의 모델이며, 오른쪽 "Collect" 버튼으로 수집 할 수 있다.

Main board : 서버의 메인보드 정보

CPU : 서버의 CPU 정보

Memory : 서버의 메모리 정보

Disk : 서버의 Disk 정보

Location : 서버의 물리적 위치 기록

In date : 서버 입고일

ETC : 기타 내용 기록

Memo : 서버의 메모 기록

 

“Collect" 버튼을 통해 수집되는 정보는 서버 제조사에서 제공되는

정보를 바탕으로 수집되기 때문에 수집되지 않을 수 있다.

 

 

 

노드 이름 수정

 

노드 이름 수정은 좌측 트리 인터페이스에서 가능하며, 수정 하고자 하는 곳에서 마우스의 우측 클릭 버튼을 이용한다.


 46ef12ee7386c0d15c9794aa2d63596c_1646715645_2713.png 


- “Rename" : 노드 이름 수정 (폴더, 서버 공통)



서버 정보 수정

 

서버 노드 수정은 좌측 트리 인터페이스에서 가능하며, 수정 하고자 하는 곳에서 마우스의 우측 클릭 버튼을 이용한다.


 46ef12ee7386c0d15c9794aa2d63596c_1646715670_9358.png 


- “Edit" : 서버 노드 설정 (Configure)

서버 노드 설정 수정은 다음과 같이 진행 된다.


46ef12ee7386c0d15c9794aa2d63596c_1646715689_2994.png
 


노드 삭제

 

노드 삭제는 좌측 트리 인터페이스에서 가능하며, 삭제 하고자 하는 곳에서 마우스의 우측 클릭 버튼을 이용한다.


 46ef12ee7386c0d15c9794aa2d63596c_1646715709_0183.png 


- “Delete" : 노드 삭제 (폴더, 서버 공통)




그룹 통합 모니터링

 

CCMT는 동일 그룹에 속한 서버에 대해 통합 모니터링 할 수 있는 기능을 제공한다. 좌측 트리에서 모니터링 하고자 하는 그룹을 선택하면 그림과 같은 화면을 볼 수 있다.



46ef12ee7386c0d15c9794aa2d63596c_1646715739_8331.png
 


 

그룹 통합모니터링은 3개의 섹션으로 나뉜다, 각 섹션의 내용은 1분에 1회 변경된다.

 

Total status

그룹에 소속된 자원을 통합하여 그래프로 나타낸다.



46ef12ee7386c0d15c9794aa2d63596c_1646715757_6243.png
 


 

- STATUS 그래프 : 그룹에 속한 서버의 상태

Normal : 서버가 정상적인 상태

Warning : 서버에서 경고가 발생된 상태

Critical : 서버에 심각한 문제가 발생된 상태

Offline : 서버에 접속이 되지 않는 상태

 

- CPU, IO 그래프 : 그룹에 속한 서버의 총 CPU, IO의 평균 값

CPU : 그룹에 속한 노드의 CPU 사용률 평균

IO : 그룹에 속한 노드의 IO 사용률 평균

 

- Traffic 그래프 : 그룹에 속한 서버의 총 트래픽

IN : 서버로 들어가는 트래픽의 총 량 (MBPS)

OUT : 서버에서 나가는 트래픽의 총 량 (MBPS)

 

- Memory 그래프 : 그룹에 속한 서버의 메모리 사용량

Used : 사용된 메모리 비중 % (Cache, Buffer 제외)

Free : 사용되지 않은 메모리 비중 %

 

- Disk 그래프 : 그룹에 속한 서버의 디스크 사용량

Used : 사용된 디스크 비중 %

Free : 사용되지 않은 디스크 비중 %

 

Nodes Status

그룹에 소속된 서버의 전반적인 상태를 표시한다.



46ef12ee7386c0d15c9794aa2d63596c_1646715778_976.png
 


 

 

STATE : 서버의 상태를 나타낸다 (normal, Warning, Critical, Offline)

NAME : 노드의 이름

HOSTNAME : 서버의 호스트 이름

IP : 서버의 IP

UP : 서버 가동시간 (uptime)

LOAD : 1분 평균 부하

CPU(%) : CPU 부하

IO(%) : IO 부하

MEM(%) : 메모리 사용률

IN(MBPS) : 서버로 들어오는 트래픽 양 (Mega Bit per Second)

IN(MBPS) : 서버에서 나가는 트래픽 양 (Mega Bit per Second)

1 : 프로세스 1번의 개수 (종류는 Configure에서 설정)

2 : 프로세스 2번의 개수 (종류는 Configure에서 설정)

3 : 프로세스 3번의 개수 (종류는 Configure에서 설정)

DISK(GB) : 디스크 사용량

MAX PART : 디스크 파티션 중 가장 많이 사용된 파티션의 사용량(%)

CPU() : 서버 CPU 온도

 

각 항목의 상세 정보는 마우스 포인트가 위치하면 나타난다.

 

Logs

그룹에 소속된 서버들의 경고, 심각, 오류 로그를 보여준다.



46ef12ee7386c0d15c9794aa2d63596c_1646715800_1115.png
 


 

DATE : 로그가 남겨진 날자 및 시간

NAME : 노드이름

IP : 서버 IP

LEVEL : 로그 수준

TAG : 로그를 남기는 프로그램 (CCMTd, 설정등)

MESSAGE : 로그 메시지

 

로그는 로그 레벨에 따라 다음 색깔로 구분되어 나타난다.

Error : 핑크색

Critical : 빨강색

Warning : 황색

 

 

서버 상세 모니터링

 

CCMT는 서버의 상태를 실시간으로 확인 할 수 있다.



46ef12ee7386c0d15c9794aa2d63596c_1646715820_9862.png
 


모니터링 간격


46ef12ee7386c0d15c9794aa2d63596c_1646715838_7434.png
 



 

실시간 모니터링 간격을 조정 한다. 2, 5, 10, 30, 60초 단위로 조정 할 수 있다.

 

CPU 부하 그래프


46ef12ee7386c0d15c9794aa2d63596c_1646715859_4934.png
 

CPU1분간 평균 부하를 그래프로 나타낸다.




메모리 사용량 그래프


46ef12ee7386c0d15c9794aa2d63596c_1646715885_339.png
 


메모리 사용량을 그래프로 그려준다.

 

 

네트워크 사용량



46ef12ee7386c0d15c9794aa2d63596c_1646715903_1476.png
 


 

네트워크 사용량을 그래프로 보여준다.

IN : 서버로 들어오는 트래픽

OUT : 서버에서 나가는 트래픽




CPU IO 사용량 그래프


46ef12ee7386c0d15c9794aa2d63596c_1646715928_8975.png
 

 

CPU IO 사용량을 그래프로 보여준다.

 

CPU 온도 그래프


46ef12ee7386c0d15c9794aa2d63596c_1646715949_0799.png
 


 

CPU의 온도를 그래프로 보여준다.

( 서버 하드웨어에 따라 지원 되지 않을 수 있음)

 

 

프로세스 수량 그래프


46ef12ee7386c0d15c9794aa2d63596c_1646715966_7398.png
 


 

설정된 프로세스의 수를 그래프로 보여준다.

서버 설정

 

CCMT는 서버의 자원을 수집 하고 관리 할 수 있다.



46ef12ee7386c0d15c9794aa2d63596c_1646715987_479.png
 


 

 

IP : 서버의 IP정보

Network device : 주 네트워크 디바이스 예) eth0, bond0

Model : 서버의 모델이며, 오른쪽 "Collect" 버튼으로 수집 할 수 있다.

Main board : 서버의 메인보드 정보

CPU : 서버의 CPU 정보

Memory : 서버의 메모리 정보

Disk : 서버의 Disk 정보

Location : 서버의 물리적 위치 기록

In date : 서버 입고일

ETC : 기타 내용 기록

Memo : 서버의 메모 기록

“Collect" 버튼을 통해 수집되는 정보는 서버 제조사에서 제공되는

정보를 바탕으로 수집되기 때문에 수집되지 않을 수 있다.

서버 컨트롤

 

CCMT는 서버의 전원을 off 하거나, 재시작, OS 업데이트 기능을 제공합니다.




46ef12ee7386c0d15c9794aa2d63596c_1646716010_4723.png
 


서버 컨트롤 기능

 


46ef12ee7386c0d15c9794aa2d63596c_1646716029_0897.png
 


 

서버의 상태가 "Offline“이 아니면 서버를 재시작 하거나 종료 할 수 있다. (, 환경설정에서 "SHOW reboot, halt" 항목을 OFF 시킨 경우 지원 되지 않는다.)

 

Reboot : 서버 재 시작

Shutdown : 서버 종료




서버 OS 업데이트


46ef12ee7386c0d15c9794aa2d63596c_1646716053_8911.png
 


서버의 상태가 "Offline“이 아니면 서버의 OS를 업데이트 할 수 있다.

 

OS update : 서버 OS를 업데이트 한다.

 

업데이트 진행시 “UPDATE STATUS"의 상태는 다음과 같다. 업데이트 상태는 ”OS update"를 수행 해야 확인 할 수 있다.



46ef12ee7386c0d15c9794aa2d63596c_1646716072_0772.png
 


 

UPDATE STATUS :

Necessary : 업데이트 필요함. 업데이트 진행됨.

Updatng : 업데이트 진행 중

Unnecessary : 업데이트 불 필요

Impassible : 업데이트 불가




Openstack Swift

 

CCMT는 대표적인 공개SW 클라우드 컴퓨팅 스택인 OpenstackSwift 관리 기능을 제공한다.

 

Swift 설치 기능

* Swift Proxy 설치



46ef12ee7386c0d15c9794aa2d63596c_1646716104_6843.png
 


위의 그림과 같이 Swift TypeProxy로 선택하여 진행할 수 있다.

여기서 Replicas는 파일 복사본 개수를 의미하며, 기본 3개의 복사본을 가진다.

 

* Swift Object 설치



46ef12ee7386c0d15c9794aa2d63596c_1646716122_3539.png
 

위의 그림과 같이 Swift TypeObject로 선택하여 Swift Object를 설치 한다.

다음 항목을 선택한다.

Proxy Node : Object를 설치하기 위해서는 Proxy노드를 선택해야 한다.

CCMT에 등록된 서버중 Proxy 노드를 보여주며 선택한다.

Partition : Object 노드에 마운트되지 않은 파티션을 보여준다.

마운트되지 않은 파티션을 선택하여 설치 진행 한다.





Swift Object 노드 Join 기능


46ef12ee7386c0d15c9794aa2d63596c_1646716176_1912.png
 


Swift Object 설치 후 선택된 Proxy노드의 ringadd 하고 ,ringbuild하고,

ring을 같은 proxy에 등록된 object노드들에게 배포한다.




Swift 설정파일 편집 및 배포 기능



46ef12ee7386c0d15c9794aa2d63596c_1646716202_2208.png
 

Swift 관련 설정파일을 선택한 노드에서 불러와 수정하고 저장 할 수 있고,

같은 그룹의 같은 레벨 노드를 선택하여 배포 할 수 있다.




Swift 데몬 관리 기능


46ef12ee7386c0d15c9794aa2d63596c_1646716225_9978.png
 


Swift 데몬의 상태를 확인하고, 시작, 정지를 할 수 있다.



알람 설정

 

CCMT는 서버의 자원 및 상태를 모니터링 하여 관리자에게 알려주는 기능을 가지고 있으며, 각 서버별 임계값을 입력하는 부분은 다음 그림과 같다.





46ef12ee7386c0d15c9794aa2d63596c_1646716252_5177.png
 

프로세스 이름 설정


46ef12ee7386c0d15c9794aa2d63596c_1646716268_1663.png
 

 

서버에서 모니터링 할 프로세스 이름이다. 최대 3개 까지 가능하다.




알람설정



46ef12ee7386c0d15c9794aa2d63596c_1646716293_9188.png
 


 

 

알람관련 설정을 수행한다. 알람은 다음과 같은 상태가 있다.

 

알람 상태 :

WARNING : 경고 / 로그에만 기록하며 관리자에게 알리지 않는다.

CRITICAL : 심각 / 로그에 기록하고, 메일로 관리자에게 알림

 

한계치 :

MIN : 최소 값

MAX : 최대 값



이슈 관리

 

CCMT는 서버 및 그룹에서 발생하는 이슈를 기록 관리 할 수 있다.



 

46ef12ee7386c0d15c9794aa2d63596c_1646716321_2735.png
 


위 그림은 이슈를 보여 주고 있다. 우측 상단의 "ADD Issue"를 이용하여 새로운 이슈를 등록 할 수 있고, 각 등록된 이슈리스트의 좌측메뉴로 수정, 삭제 할 수 있다.

 

 

이슈 등록 및 수정

 


46ef12ee7386c0d15c9794aa2d63596c_1646716339_0173.png
 


 

 

위의 그림과 같이 이슈를 등록, 수정 할 수 있다. 다음과 같은 항목이 있다.

 

Issue State : 이슈 상태

Opened : 진행중이거나 처리 해야 할 이슈

Closed : 끝난 이슈

Issue Type : 이슈 타입

Hardware : 하드웨어 관련 이슈

Software : 소프트웨어 관련 이슈

Network : 네트워크 관련 이슈

OS : 운영체제 관련 이슈

ETC : 기타 이슈

 

Issue start date : 이슈 시작일 시

 

Issue start date : 이슈 종료일 시

 

Reporter : 이슈 보고자

 

Issue subject : 이슈 제목

 

Issue : 이슈 내용

 

Issue process : 이슈 처리 내역

 

Issue analysis : 이슈 분석 내역

 

 

 

 

 

로그 관리

 

CCMTCCMT에서 서버를 모니터링 하고 설정하는 모든 내용을 로그에 남기게 된다.



46ef12ee7386c0d15c9794aa2d63596c_1646716360_4466.png
 

 

위 그림은 수집된 로그를 보여주고 있다. “Remove all logs"를 선택하여 모든 수집된 로그를 삭제할 수 있다.

로그는 한 페이지에 200개의 로그가 보인다. 200개를 넘게 되면 페이지로 나뉜다.

로그는 다음과 같은 색깔로 나타난다.

Error : 핑크색

Critical : 빨강색

Warning : 황색

Info : 초록색

 












관련자료

댓글 0
등록된 댓글이 없습니다.

공지사항


뉴스광장


  • 현재 회원수 :  60,032 명
  • 현재 강좌수 :  35,772 개
  • 현재 접속자 :  220 명