2016. 6. 27. 00:53

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
}

클라이언트 설정파일의 예.




Posted by 해비