ganglia 설치 및 설정 한 내용을 정리
우분투, 데비안 환경에서 apt-get 으로 설치 했습니다.
1. 서버 설치
1-1. 웹 환경 설치
1-2. ganglia meta daemon (수집서버) 설치
2. 클라이언트 설치
2-1. ganglis monitor daemon (모니터데몬) 설치
1. 서버 설치
모니터 데몬이 실행중인 서버에 대해서 수집서버가 일정주기로 데이터를 ( pull 방식 ) 가져옵니다.
Broadcast 를하여 동일네트웤의 모니터데몬으로부터 수신하는 방법도 있는 듯 하나, 여기서는 직접 IP를 명시하여 당겨오도록 설정합니다.
1-1. 웹 환경 설치
Ganglia 가 돌아가기 위해서는 웹서버, PHP 가 필요합니다.
이 부분은 Nginx + php5-fpm 조합으로 구성합니다.
Nginx 설치
# apt-get install nginx
PHP 설치
# apt-get install php5-fpm
Nginx-PHP 연동
PHP 연동까지 완료 했으면 이제 ganglia 설치로 넘어간다.
1-2. ganglia meta daemon (수집서버) 설치
gmetad 설치 ( 데이터를 수집하는 서버 1대 )
# apt-get install gmetad
gmetad 설정
# vim /etc/ganglia/gmetad.conf
data_source "svr1" 192.168.0.101:8649
data_source "svr2" 192.168.0.102:8649
gridname "haebinet"
data_source 부분을 찾아서 위 내용 참고하여 작성한다.
gridname 부분에는 해당 시스템의 대표 그룹?명을 적으면 된다.
ganglia-web-frontend 설치 ( Web 에서 확인하기 위한 도구 )
# sudo apt-get install ganglia-webfrontend
Nginx 루트 디렉토리 이동 및 ganglia webfrontend 링크 생성
# cd /usr/share/nginx/www/
# ln -s /usr/share/ganglia-webfrontend/ ganglia
2. 클라이언트 설치
2-1. ganglis monitor daemon (모니터데몬) 설치
수집 서버의 데이터도 모니터링 하고자 한다면 클라이언트도 같이 설치 해줘야 합니다.
ganglia-monitor 설치 ( 개별 서버마다 설치 )
# apt-get install ganglia-monitor
ganglia-monitor 설정
# vim /etc/ganglia/gmond.conf
/* This configuration is as close to 2.5.x default behavior as possible
The values closely match ./gmond/metric.h definitions in 2.5.x */
globals {
daemonize = yes
setuid = yes
user = ganglia
debug_level = 0
max_udp_msg_len = 1472
mute = no
deaf = no
host_dmax = 0 /*secs */
cleanup_threshold = 300 /*secs */
gexec = no
send_metadata_interval = 0
override_hostname = pi2
}
/* If a cluster attribute is specified, then all gmond hosts are wrapped inside
* of a <CLUSTER> tag. If you do not specify a cluster tag, then all <HOSTS> will
* NOT be wrapped inside of a <CLUSTER> tag. */
cluster {
name = "pi2"
owner = "owner_haebi"
latlong = "latlong_haebi"
url = "url_haebi"
}
/* The host section describes attributes of the host, like the location */
host {
location = "location_haebi"
}
/* 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.101
port = 8649
ttl = 1
}
/* You can specify as many udp_recv_channels as you like as well. */
udp_recv_channel {
port = 8649
retry_bind = true
}
/* You can specify as many tcp_accept_channels as you like to share
an xml description of the state of the cluster */
tcp_accept_channel {
port = 8649
}
클라이언트 설정파일의 예.