Ganglia
Ganglia はクラスタやグリッドなどの高性能な計算環境に適しているスケーラブルな分散型システム監視ツールです。監視している全てのマシンについて、ライブ状態や統計情報 (CPU の平均負担率やネットワーク利用率など) をリモートから閲覧できます。
Ganglia Wiki には Ganglia の使い方について詳しい情報が載っています。
目次
インストール
Ganglia は AUR の gangliaAUR パッケージでインストールできます。ウェブフロントエンドは ganglia-webAUR パッケージでインストールできます。依存パッケージを少なくした ganglia-minimalAUR というパッケージも存在し、gmetad を必要とせず rrdtool を取り込むことを避けたいボックスに適しています。(Cairo と Mesa を取り込むことになります)
Ganglia ウェブインターフェイス
Ganglia のウェブフロントエンドは AUR の ganglia-webAUR パッケージでインストールできます。
PHP が動作するウェブサーバーをセットアップする必要があります。下のセクションでは設定例を載せています。
/etc/php/php.ini の open_basedir に /tmp, /usr/share/webapps, /var/lib/ganglia を設定してください。
Nginx と php-fpm
まず、nginx および php-fpm パッケージをインストールします。
次に、nginx の記事を読んでください。nginx#FastCGI とそれに続く php-fpm セクションに注目してください。Nginx の設定 では、使用する最小の nginx.conf について詳しく説明します。
nginx の古い最小設定は次のようになります。
/etc/nginx/nginx.conf
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
upstream php {
server unix:/run/php-fpm/php-fpm.sock;
}
server {
listen 80 default_server;
root /usr/share/webapps;
index index.php;
location ~ \.php$ {
fastcgi_pass php;
include fastcgi.conf;
}
}
}
次に、gmetad.service、gmond.service、php-fpm.service、および nginx.service を 起動 します。
http://localhost/ganglia に移動し、セットアップが機能していることを確認します。
トラブルシューティング
IP アドレスのバインドやホストネームがおかしい
gmond.conf の udp_send_channel セクションで bind_hostname = yes と設定されていた場合、gmond デーモンはデフォルトのホストネームの IP アドレスが使われます。以下のコマンドで確認できます:
$ hostname -i $ host $(hostname)
ネットワーク上の他のマシンから監視しているマシンのホストネームを確認するには:
$ host <ip-address>
リストの一番上のホストネームが gmond によって使われ、ウェブ UI に表示されます。/etc/hosts や /etc/nsswitch.conf ファイルを編集することでホストネームを変えることができます。特に、/etc/nsswitch.conf の hosts 行で dns の前に myhostname があると、gmond を 127.0.0.1 の UDP ポートにバインドしようとして読み込みに失敗します。
gmond.conf ファイルを編集した以下の行を globals セクションに追加することでホストネームは上書きできます:
globals {
...
override_hostname = myhostname.mydomain
override_ip = 127.0.0.2
}
参照
- IP とホストネームのルックアップについて: https://www.mail-archive.com/ganglia-general@lists.sourceforge.net/msg01885.html