one of a kind scene

VirtualBox로 생성한 가상머신들로 ganglia 구축하기 본문

엔지니어링/ganglia

VirtualBox로 생성한 가상머신들로 ganglia 구축하기

specialscene 2019. 4. 8. 01:16

VirtualBox로 가상머신 생성하는 단계는 생략함

 

[간단 요약]

- master에서는 3개의 설정파일에서 세팅하면 됨

- slave1, slave2에서는 1개의 설정파일세서만 세팅하면 됨

이렇게 하면 ganglia로 모니터링 할 수 있음

 

-----------------------------------------------------------------------------------------------------------------------------------

 

[준비단계]

가상머신은 총 3대를 생성하였고 Ubuntu 16.04 LTS 버젼이 깔려있음

1) master

2) slave1

3) slave2

 

이하 master, slave1, slave2로 명명되는건 가상머신을 뜻함

 

[가상머신 네트워크 설정]

※ VirtualBox 가상머신에서 우클릭 후 '설정'-'네트워크'에서 세팅하면 됨

 

1) master
어댑터1 : NAT -> 브리지 어댑터로 변경
어댑터2 : 사용안함(사용하기 해제)

할당된 ip : 192.168.219.109

2) slave1
어댑터1 : 사용하기 해제
어댑터2 : 사용하기 체크 후 브리지 어댑터로 설정

할당된 ip : 192.168.219.110

3) slave2
어댑터1 : 사용하기 해제
어댑터2 : 사용하기 체크 후 브리지 어댑터로 설정

할당된 ip : 192.168.219.112

 

※ 참고로 할당된 ip는 VirtualBox에서 자동으로 부여하는데

    ip확인하는 방법은 터미널에서 ifconfig를 치면 알 수 있다

    127.0.0.1은 localhost 서버이기때문에 이 ip는 설정에 사용되는 ip가 아님

 

[연결이 잘 되었는지 ping test하는 방법] 

ping test는 가상머신 터미널에서 이루어짐

- 가상머신들을 모두 켜준다

- 터미널을 키고 ping을 날려준다

- ping 가상머신ip 입력

1
ping 192.168.219.109
cs

 

[패키지 설치전 해야할 작업들] 

1
sudo apt-get update -y
cs
1
sudo apt-get upgrade -y
cs

- -y option은 yes하겠다는 뜻

- 위 작업들은 apt-get에 있는 패키지 list들을 update하고 apt-get을 upgrade하겠다는 뜻

- 3개의 가상머신에 모두 해줘야함

[기본 설치 목록] 

1
sudo apt-get install openssh-server vim
cs

- openssh-server를 설치해야 putty나 superputty로 가상머신에 접근가능

- vim은 editior

[ganglia 구축에 필요한 패키치 설치]

1) master에 설치해야하는 목록

1
2
sudo apt-get install apache2 mariadb-server php7.0 libapache2-mod-php7.0 php7.0-mbstring php7.0-curl php7.0-zip php7.0-gd php7.0-mysql php7.0-curl php7.0-mcrypt
sudo apt-get install ganglia-monitor rrdtool gmetad ganglia-webfrontend
cs

 

2) slave1,2에 설치해야하는 목록

1
sudo apt-get install ganglia-monitor
cs

 

[패키지 설치 후 master에서 해야할 작업 및 세팅]

1) 아파치 서버 시작

1
sudo systemctl start apache2 && sudo systemctl enable apache2
cs

※ 아파치 서버에서 ganglia가 돌아감

 

2) apache.conf 설정파일 copy하기

1
sudo cp /etc/ganglia-webfrontend/apache.conf /etc/apache2/sites-enabled/ganglia.conf
cs

cp명령어는 copy한다는 뜻

/etc/ganglia-webfrontend/에 apache.conf파일을 

/etc/apache2/sites-enabled/로 copy하는데 파일명을 ganglia.conf로 한다는 뜻

 

3) gmetad.conf파일에서 설정값 잡아주기

1
sudo vim /etc/ganglia/gmetad.conf
cs

[설정 세팅 전]
data_source "my cluster" localhost

 

[설정 세팅 후]

data_source "master" 50 192.168.219.109:8649

 

밑줄 친 부분은 master의 ip주소 및 포트번호

포트번호는 사용안하고 있는 포트번호를 입력해주면 됨

※ master라고 쓰여진 부분은 본인이 원하는 이름으로 써주면 됨

 

4)gmond.conf파일에서 설정값 잡아주기

1
sudo vim /etc/ganglia/gmond.conf
cs

 

[변경 전]

cluster {
name = "unspecified"
owner = "unspecified"
latlong = "unspecified"
url = "unspecified"
}

 

udp_send_channel {
mcast_join = 239.2.11.71
port = 8649
ttl = 1
}

 

udp_recv_channel {
mcast_join = 239.2.11.71
port = 8649
bind = 239.2.11.71
}

 

[변경 후]

파란 글씨들이 변경된 부분

 

cluster {
name = "master"
owner = "unspecified"
latlong = "unspecified"
url = "unspecified"
}

 

udp_send_channel {
# mcast_join = 239.2.11.71

host = 192.168.219.109
port = 8649
ttl = 1
}

 

udp_recv_channel {
# mcast_join = 239.2.11.71
port = 8649
# bind = 239.2.11.71
}

※ port들은 기본 8649인데 다른 포트번호를 설정했다면, 본인이 설정한 port값을 입력해주면됨

 

5)설정값 반영시켜 ganglia 시작 및 apache서버 재시작

1
2
3
sudo systemctl start ganglia-monitor
sudo systemctl start gmetad
sudo systemctl restart apache2
cs

 

[패키지 설치 후 slave1, slave2에서 해야할 작업 및 세팅]

1)gmond.conf파일에서 설정값 잡아주기

1
sudo vim /etc/ganglia/gmond.conf
cs

 

[변경 전]

cluster {
name = "unspecified"
owner = "unspecified"
latlong = "unspecified"
url = "unspecified"
}

 

udp_send_channel {
mcast_join = 239.2.11.71
port = 8649
ttl = 1
}

 

udp_recv_channel {
mcast_join = 239.2.11.71
port = 8649
bind = 239.2.11.71
}

 

[변경 후]

파란 글씨들이 변경된 부분

 

cluster {
name = "master"
owner = "unspecified"
latlong = "unspecified"
url = "unspecified"
}

 

udp_send_channel {
# mcast_join = 239.2.11.71

host = 192.168.219.109
port = 8649
ttl = 1
}

 

# udp_recv_channel {
# mcast_join = 239.2.11.71
# port = 8649
# bind = 239.2.11.71
}

 

2)설정값 반영시켜 ganglia 시작

1
sudo systemctl start ganglia-monitor
cs

 

[ganglia 제대로 작동하는 확인 방법]

http://192.168.219.109/ganglia 를 웹브라우저에 입력

 

 

<주의 사항>
master -> slave1 -> slave2 순서로 가상 머신을 켜야 정상적으로 작동됨
즉, master를 먼저 켜야함

 

추가 : slave1, slave2를 키고나서 master를 키면 ganglia에서 slave들을 제대로 잡아내지 못함

 

추가2 : master에서 ganglia-monitor, gmetad, apache2 다시켜도 ganlgila에 slave들이 추가안됨

sudo systemctl start ganglia-monitor && sudo systemctl start gmetad && sudo systemctl restart apache2 

 

추가3 : slave에서 ganglia-monitor 다시켜도 ganglia에 slvae들 추가 안됨

sudo systemctl start ganglia-monitor