yum+puppet+ganglia

puppetでgangliaのインストール、設定をやってみた.

1. /etc/yum.repos.d/local.repo にlocalのyum.repo を書き込む
2. yum install puppet
3. puppetd --server puppetserver.example.or.jp --test
4. puppetca --sign ganglianode
5. iptablesは手動で調整ww iptables -I INPUT -s 192.168.1.0/24 -p tcp --dport 8649 -j ACCEPT   
6. puppetd --server puppetserver.example.or.jp --test
7. ganglia のphpから反映されたかを確認

gangliaについてはunicast 先を指定したgmond.confを渡している。


/etc/puppet/manifests/site.pp の中身より抜粋

class ganglia {
        $package='ganglia-gmond'
        $path='/etc/ganglia/gmond.conf'

        package { "$package":
                ensure => present,
        }
        file { "$path" :
                owner => 'root',
                group => 'root',
                mode  => 644,
                source => "puppet://$server/files/gmond.conf",
                ensure => present,
                subscribe => [Package[$package]],
        }
        service { 'gmond':
            name   => gmond,
            ensure => running,
            subscribe => [File[$path],Package[$package]],
        }
}

ハマりポイント:

1. ganglia のマルチキャストの設定を書き換えないとunicastを使ってくれない?? らしい
2. puppetd --test コマンドは、設定内容を確認してくれるわけではなく、打った瞬間に設定が変更されてしまうので注意
3. puppetmasterd はfileserver も兼ねているので、別のfileserverが必要なわけではない
(puppet://$server/files/xxx のファイルは、 /var/lib/puppet/files/xxx 以下に直置きする )