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 }
클라이언트 설정파일의 예.