여러 대의 클러스터 서버들을 간편하게 모니터링, 관리할 수 있는 오픈소스를 알아보자.
Ganglia라는 오픈소스를 구성해 보자.
여러 대의 클러스터 서버들을 간편하게 모니터링, 관리할 수 있는 오픈소스를 알아보자.
Ganglia란,
클러스터 및 그리드를 위한 확장 가능한 분산 모니터링 시스템입니다. 즉, 클러스터의 사용 상태를 모니터해 주는 오픈소스입니다.
Ganglia 장점
메모리, CPU, 디스크, 등, Hadoop, dfs와 관련된 200개 이상의 메트릭 정보를 모니터링할 수 있다는 장점과, 웹 UI가 모바일 장치에도 최적화되어있어 사용이 용이합니다.
아래는 저의 구성 환경입니다.[2대 서버 동일합니다.]
OS:[VM]Ubuntu20.04 CLI
CPU:8core
MEMORY:16GB
DISK:50GB
Master Node: gpuadmin1 / IP:192.168.0.55
Slave Node: gpuadmin2 / IP:192.168.0.43
(1) Master Node 먼저 Ganglia를 설치해 줍니다.
(1-1) 우선, 업데이트를 진행합니다.
#sudo apt-get update
(1-2) Ganglia에 필요한 패키지들을 다 같이 설치해 줍니다.
#sudo apt-get install ganglia-monitor
#sudo apt-get install rrdtool
#sudo apt-get install gmetad
#sudo apt-get install ganglia-webfrontend
(1-3) Ganglia-webfrontend 구성파일들을, Apache 폴더에 복사해 줍니다.
#sudo cp /etc/ganglia-webfrontend/apache.conf /etc/apache2/sites-enabled/ganglia.conf
(1-4) Ganglia Gmetad.Conf 파일을 편집해 줍니다.
#sudo vi /etc/ganglia/gmetad.conf
#wq!
아래 이미지처럼, 자신의 클러스터 이름을 넣어주시면 됩니다.
(1-5) Gmond.conf 파일을 편집해 줍니다.
#sudo vi /etc/ganglia/gmond.conf
#wq!
1.아래 이미지와 같이,/etc/ganglia/gmetad.conf 에서 설정한 클러스터 네임과 일치하게 넣어주세요.
2.MasterNode IP를 아래와 같이 [host = 192.168.0.55] 넣어주고, mcast_join는 주석처리 해주시면 됩니다.
3.아래와 같이 mcast_join, bind는 주석처리 해주시면 됩니다.
(1-6) 위의 모든 설정이 끝난 후, 서비스를 다시 시작해 주세요.
#sudo systemctl restart ganglia-monitor
#sudo systemctl restart gmetad
#sudo systemctl restart apache2
(2) Slave Node를 구성해 보겠습니다.
(2-1) Slave Node는 GangliaMonitor만 설치하시면 됩니다.
#sudo apt-get install ganglia-monitor
(2-2) Master Node와 동일하게 gmond.conf 파일을 편집해 줍니다.
#sudo vi /etc/ganglia/gmond.conf
#wq!
1. 아래 이미지처럼 MasterNode와 같게 설정해 주시면 됩니다. [name={MasterNode ClusterName}]
2. 아래와 같이 mcast_join은 주석처리하고, [host = {MasterIP}] 넣어주시면 됩니다.
3. 아래 이미지처럼,mcast_join 과 bind 를 주석처리 해주세요.
(2-3) GangliaMonitor service를 재시작해줍니다.
#sudo systemctl restart ganglia-monitor
(3) 웹 인터페이스로 들어가 줍니다.
http://MasterNode IP/ganglia
아래 이미지처럼 접속이 되시는 걸 볼 수 있습니다.
192.168.0.43 = SlaveNode
gpusystem = MasterNode
해당 노드로 들어가시면 모니터링이 가능합니다.
이와 같이 모니터링이 가능합니다.
2023.12.05