본문 바로가기
컴퓨터 & IT (Computer & IT)/Beowulf Cluster (Diskless Cluster)

[Diskless Cluster] 3.1 클러스터 운영과 관련된 필수 유틸리티들 - Ganglia

by Physics 2020. 6. 2.
728x90

3.1 Ganglia

▪ UC Berkerley의 millennium projects에서 개발
▪ "SourceForge.net"을 통해 소스코드가 공개되어 자유롭게 사용할 수 있는 소프트웨어 
▪ 산 모니터링 시스템 또는 클러스터의 상태를 모니터링할 수 있는 소프트웨어
   : 메모리, CPU, 디스크, 네트워크 사용량을 포함하여 약 200여개 이상의 메트릭 정보를 모니터링할 수 있음. 

 

클러스터의 사용상태를 모니터해주는 도구로써, 클래스터 내의 노드들로부터 여러가지 성능지표들을 모니터링하여 종합관제할 수 있는 기능들을 제공한다. 

 

3.1.0 기본적인 Ganglia의 구조 및 구성 요소 

(a) Ganglia의 구조

 

  (b) Ganglia의 구성 요소: Gmond, gmetad, ganglia web interfaces 

Ganglia Monitor Daemon
(gmond)
▪ 모니터링을 원하는 노드에 설치
▪ gmond 데몬은 노드의 정보를 수집 후, 수집된 노드의 정보를 gmetad에게 XML 형식으로 전송함
▪ 일반적으로 포트번호 8649를 사용함 
Ganglia Meta Daemon
(gmetad)
▪ gmetad는 ganglia web interface가 설치될 웹서버에 설치
▪ 여러 gmond 데몬들으로부터 수집된 정보를 RRD*(round-robin-database)에 저장함
▪ 일반적으로 포트번호 8651을 사용함
▪ gmetad가 작성된 언어는 perl이지만, v. 2.5.0. 이후부터는 C로 사용함
Ganglia web interfaces ▪ gmetad로부터 수집되어 RRD에 저장된 데이터를 PHP가 지원되는 웹서버에서 보여주는 역할을 함

* RRD: Ganglia에서 시계열에 따른 데이터를 저장하거나 시각화 시키는 것에 사용되는 툴로써, 마스터 서버에 설치된다

 

3.1.1. 마스터 서버-Ganglia 설치

$ apt-get install ganglia-monitor -y 
$ apt-get install rrdtool -y
$ apt-get install gmetad -y 
$ apt-get install ganglia-webfrontend -y 

 

3.1.2. 마스터 서버-Ganglia를 위한 환경설정

$ cp /etc/ganglia-webfrontend/apache.conf /etc/apache2/sites-enabled/ganglia.conf
$ vim /etc/ganglia/gmetad.conf
…
data_source “my cluster” localhost
…
$ vim /etc/ganglia/gmond.conf 
...
udp_send_channel {
	host = 192.168.0.1  	// put into IP address of master server 
	port = 8649 		// basic port of ganglia
	ttl = 1
}
/* You can specify as many udp_recv_channels as you like as well. */
udp_recv_channel {
	port = 8649
}
...

 

3.1.3. 마스터 서버-Ganglia 서버 재시작

$ service ganglia-monitor restart
$ service gmetad restart
$ service apache2 restart

 여기까지 하면, 외부 컴퓨터로 http://<마스터서버의 ip주소>/ganglia를 입력하면 CMT Cluster의 마스터 서버의 Cpu load등을 알 수 있다. 하지만, 계산 노드들은 ganglia가 설치되지 않은 상태이므로, 계산노드들에 대한 정보는 아직 나오지 않는다.

 

3.1.4. 계산 노드-ganglia-monitor 설치

Masquerade가 정상적으로 작동되는 경우, ssh로 계산노드에 접속하여 계산 노드에서도 설치가 가능하지만, 그것보다는 chroot를 이용하여 설치하는 것이 더 간편하다. 마스터 서버 상에서 chroot 명령어를 이용하여, 작업하는 마스터 서버의 루트디렉토리를 /computation_node/nfsroot로 변경하자. 그 후, 계산노드를 위한 ganglia-monitor를 설치한다

$ chroot /computation_node/nfsroot 
$ apt-get install ganglia-monitor -y 

 

 3.1.5. 계산 노드-Ganglia 환경설정

$ exit
$ vim /computation_node/nfsroot/etc/ganglia/gmond.conf 
…
cluster {
  name = "my cluster"
  owner = "unspecified"
  latlong = "unspecified"
  url = "unspecified"
}
…
/* Feel free to specify as many udp_send_channels as you like.  Gmond
   used to only support having a single channel */
udp_send_channel {
  host = 192.168.0.1
  port = 8649
  ttl = 1
}
…

 

3.1.6 계산노드-Ganglia 재시작 (ssh로 계산노드 접속 후)

$ service ganglia-monitor restart

여기까지하면, http://<마스터서버의 ip주소>/ganglia에서 계산노드들의 정보를 확인할 수 있다

 

a) Ganglia와 관련된 이슈 1: ganglia 웹 페이지 비밀번호 설정 

만약 ganglia 웹페이지에 ID/passwd를 설정하고자 한다면 아래와 같이 하면 된다. 

/etc/apache2/site-enables/ganglia.conf 을 아래와 같이 수정한다. 

$vim /etc/apache2/site-enables/ganglia.conf
Alias /ganglia /usr/share/ganglia-webfrontend
 <Directory "/usr/share/ganglia-webfrontend">
    AllowOverride All
    AuthType    basic
    AuthName    "Gangila web UI"
    AuthBasicProvider   file
    AuthUserFile    "/etc/apache2/site-enables/auth.basic"
    Require user    admin_ganglia
</Directory>

- 여기에서 나는 해당 웹페이지로 접근하고자 하는 ID를 admin_ganglia로 설정하였다.

 

그 후, 아래와 같은 명령어를 입력하므로써, admin_ganglia의 비밀번호를 지정한다. 

$htpasswd -c /etc/apach2/site-enables/auth.basic cmt_admin_ganglia

그 후, ganglia 웹 페이지에 접속할 때에, Passwd 및 ID를 묻게 된다. 

 

a) Ganglia와 관련된 이슈 2: default overview가 보이지 않을 때 

간혹, ganglia를 정상적으로 설치를 했는데도 ganglia의 첫페이지의 cluster의 overview가 보이지 않을 때가 있다. 이럴 경우, 아래와 같이 /usr/share/ganglia-webfrontend/cluster_view.php 파일을 수정하면 된다 [1]. 

함수 get_picker_metrics()$context_metrics = "";$context_metrics = array();로 대체한다. 

 

c) Ganglia와 관련된 이슈 3: gmod 데몬이 CPU를 100% 잡아먹을 경우  

계산 서버의 /etc/ganglia/gmod.conf 파일에서 deaf=no를 deaf=yes로 변경한다 [2]. 

 

[1] aws.amazon.com/premiumsupport/knowledge-center/ganglia-overview-page-blank-emr/  
[2] https://adamo.wordpress.com/2015/05/27/gmond-occupying-100-of-the-cpu/

728x90

댓글