munin でモニタリング

Ubunut 10.04 に munin をインストールしてモニタリングする。

インストール

apt-get install munin munin-node

/etc/munin/munin.conf に次を書きこむ。 標準の設定では /var/cache/munin/www にファイルが作られる。

設定

/etc/apache2/conf.d を見ると munin というファイルがあり apache の設定が書いてある。これは実際は /etc/munin/apache.conf へのシンボリックリンクになっている。 デフォルトではローカルホストからの接続しか許さないので /etc/munin/apache.conf に以下のように Digest 認証で認証して外部から利用できるようにする。

Digest認証

htdigest -c munin-htdigest private your-user-name
mv munin-htdigest /etc/munin/munin-htdigest

としてパスワードを設定する。

/etc/munin/apache.conf に Digest 認証の設定を書く。 私の場合は VirtualHost の設定も追加してある。

<VirtualHost *:80>
        ServerName munin.example.com
        ServerAdmin webmaster@localhost

        DocumentRoot /var/cache/munin/www

<Directory />
        Order allow,deny
        # Allow from localhost 127.0.0.0/8 ::1
        Allow from all
        Options None

        # This file can be used as a .htaccess file, or a part of your apache
        # config file.
        #
        # For the .htaccess file option to work the munin www directory
        # (/var/cache/munin/www) must have "AllowOverride all" or something
        # close to that set.
        #

        AuthUserFile /etc/munin/munin-htdigest
        AuthName "private"
        AuthType digest
        require valid-user

        # This next part requires mod_expires to be enabled.
        #

        # Set the default expiration time for files to 5 minutes 10 seconds from
        # their creation (modification) time.  There are probably new files by
        # that time.
        #

    <IfModule mod_expires.c>
        ExpiresActive On
        ExpiresDefault M310
    </IfModule>

</Directory>
</VirtualHost>

はじめは apache で digest 認証のモジュールが有効になっていなくて、 うまくいかなかった。次のようにして digest 認証を有効にする。

a2enmod auth_digest
service apache2 restart

サブドメイン

munin とは全然関係ないのだが、VALUE-DOMAIN で管理している ドメインのサブドメインを利用するために次のようにした。 http://massat.jp/2007/02/13/148 を参考にした。

/etc/apache2/sites-available に設定ファイル(たとえば、FILENAME)を書き

a2ensite FILENAME

で有効にして apache を再起動する。

service apache2 restart

VALUE-DOMAIN の方で

* <SOME_IP> A 10

はサーバーの IP アドレス) となっていたので特に何もしなくても 全てのサブドメインは指定した IP と対応している。

cron

/etc/cron.d 以下に設定ファイルがある。

  • /etc/cron.d/munin
  • /etc/cron.d/munin-node

別のコンピュータの監視

監視したいコンピュータには サーバーがアクセスできるように サーバーの IP アドレスを正規表現で設定する。 サーバーの方には、監視したいコンピュータの IP とホスト名などを 設定する(localhost に対する設定を参考にした)。

監視される方では

apt-get install munin-node

/etc/munin/munin-node.conf の allow のところを munin のサーバーの IP に変更する。

service munin-node restart

サーバーの方では /etc/munin/munin-node.conf に監視したいコンピュータを追加すればよい。

Tags of current page