脳汁portal

アメリカ在住(だった)新米エンジニアがその日学んだIT知識を書き綴るブログ

gangliaをubuntu14.04にinstallする方法

muninに引き続き、gangliaをインストールする手順をのせます

環境

Gmond(Ganglia monitoring daemon)

  • gangliaの監視ノード
  • 監視したいサーバすべてにinstallする
  • マスターノードに情報を送る
  • 今回は以下の二つ
    • 192.168.33.11
    • 192.168.33.12

Gmetad(Ganglia meta daemon)

  • gangliaのmasterノード
  • Gmondから送られた情報をまとめて、ブラウザに表示する
  • 今回は以下
    • 192.168.33.13

f:id:portaltan:20160314130819p:plain

手順

1. master server(manager server)

master serverには

  • それぞれクライアントノードから情報を受け取るganglia monitor
  • そのデータをまとめるgmetad
  • データを処理するrrdtool
  • そのデータをもとにグラフを描画するganglia-webfrontend

をインストールします

今回はマルチキャストではなくユニキャスト方式で構築します。
マルチキャストの場合はgmondがそれぞれのデータを相互にやり取りするため、すべてのクライアントノードが全サーバの情報を持っていることになります。

しかし、ユニキャストの場合は情報を統合するためのgmondが必要になり、多くの場合gmetadと同じサーバにgmondを立てて各サーバのgmondから送られるデータを受け取らせることが多いようです
f:id:portaltan:20160316104351p:plain

ssh ${master node}

### ganglia monitorと必要なライブラリのinstall
sudo apt-get install ganglia-monitor rrdtool gmetad ganglia-webfrontend
  # => apacheの再起動の確認が二回程でるのでYESを選択する

### プロセス & Port 確認
ps -eaf | egrep "gmon|gmeta"
  ganglia  14057     1  0 06:05 ?        00:00:00 /usr/sbin/gmond --pid-file=/var/run/ganglia-monitor.pid
  nobody   14071     1  0 06:05 ?        00:00:00 /usr/sbin/gmetad --pid-file=/var/run/gmetad.pid
ss -lntp | egrep "86[0-9]{2}"
  LISTEN     0      5                         *:8649                     *:*
  LISTEN     0      10                        *:8651                     *:*
  LISTEN     0      10                        *:8652                     *:*

### configファイルの設定(gmetad)
sudo cp -ip /etc/ganglia-webfrontend/apache.conf /etc/apache2/sites-enabled/ganglia.conf
sudo cp -ip /etc/ganglia/gmetad.conf{,.org}
sudo vi /etc/ganglia/gmetad.conf
=================================================
 44 #data_source "my cluster" localhost
 45 data_source "DEV-hoge" 60 localhost
     # => 好きな名前と、更新する頻度(今回は60sec)、とデータソースのサーバ情報を入力
=================================================

### configファイルの設定(gmond)
sudo cp -ip /etc/ganglia/gmond.conf{,.org}
sudo vi /etc/ganglia/gmond.conf
=================================================
 20 cluster {
 21   name = "DEV-hoge"        # => gmetad.confで設定したクラスター名と同じものを設定
 22   owner = "unspecified"
 23   latlong = "unspecified"
 24   url = "unspecified"
 25 }
・
・
 34 udp_send_channel {
 35   #mcast_join = 239.2.11.71 # => コメントアウト
 36   host = localhost           # => 追加
 37   port = 8649
 38   ttl = 1
 39 }
.
.
 42 udp_recv_channel {
 43   #mcast_join = 239.2.11.71  # => コメントアウト 
 44   port = 8649
 45   #bind = 239.2.11.71        # => コメントアウト
 46 }
=================================================


### gmond & gmetad & apache restart
sudo service ganglia-monitor restart
sudo service gmetad restart
sudo service apache2 restart

ここまでで一度http://ip-address/gangliaにアクセスして、以下のような画面が出るか確認
f:id:portaltan:20160314133928p:plain


2. client node

ssh ${slient node}

### ganglia monitorのインストール
sudo apt-get install ganglia-monitor

### プロセス&ポート確認
ps -eaf | grep gmond
  ganglia   1952     1 99 04:26 ?        00:02:21 /usr/sbin/gmond --pid-file=/var/run/ganglia-monitor.p

### configファイルの設定
sudo cp -ip /etc/ganglia/gmond.conf{,.org}
sudo vi /etc/ganglia/gmond.conf
===============================================================================
  .
  .
 10   deaf = yes  # => yesに変更する
  .
  .
 20 cluster {
 21   name = "DEV-hoge"  # => マスターノードで設定した名前と同じ名前にする
 22   owner = "unspecified"
 23   latlong = "unspecified"
 24   url = "unspecified"
 25 }
  .
  .
 34 udp_send_channel {
 35   # mcast_join = 239.2.11.71 # コメントアウトする
 36   host = 192.168.33.13       # マスターノードのIPを指定する
 37   port = 8649
 38   ttl = 1
 39 }
 .
 .
 41 /* You can specify as many udp_recv_channels as you like as well. */
 42 #udp_recv_channel {          # コメントアウト
 43 #  mcast_join = 239.2.11.71  # コメントアウト
 44 #  port = 8649               # コメントアウト
 45 #  bind = 239.2.11.71        # コメントアウト
 46 #}                           # コメントアウト
===============================================================================

### ganglia monitor の再起動
sudo /etc/init.d/ganglia-monitor restart

以上でhttp://IPaddress/ganglia/にもう一度アクセスすれば、データが取得できるようになっているはずです

  • gangliaをrestartしてから最初のデータを取得するまで1分かかります

f:id:portaltan:20160314184428p:plain