muninデータ移行をしてみたよ


前回、muninの監視サーバを新たに作りましたが、今までの監視サーバで取得したデータも引き続き見たいですよね?こちらも割と簡単に移行できます。また、今回はmunin監視画面にベーシック認証をかけるところもメモしておきます。作業は3箇所(旧監視サーバ、新監視サーバ、監視対象)で行うので、見出しにどこで作業するのかを書いておきますね。

旧環境
OS: CentOS 6.4 64bit
munin-common-2.0.16-1.el6.noarch
munin-node-2.0.16-1.el6.noarch
munin-2.0.16-1.el6.noarch

新環境
OS: CentOS 6.5 64bit
munin-common-2.0.19-1.el6.noarch
munin-node-2.0.19-1.el6.noarch
munin-nginx-2.0.19-1.el6.noarch
munin-2.0.19-1.el6.noarch

■ [新監視サーバ]munin監視画面にベーシック認証をかける

今回構築した監視サーバは、nginxで動かしているため、htpasswdコマンドが使えません。なので、今流行りのopensslコマンドでパスワードファイルを作成します。手順はこちらと一緒ですね。

まずはパスワードファイルを作成します。

echo "nullpopopo:$(openssl passwd -apr1 PASSWORD_IS_HERE)" > ~/htpasswd

 

パスワードファイルを/etc/nginx 以下に移動します。

sudo mv htpasswd /etc/nginx/

 

nginxの設定ファイルをコピーします。

sudo cp -p /etc/nginx/conf.d/munin.conf /etc/nginx/conf.d/munin.conf.$(date +%Y%m%d)00

 

設定ファイルを編集します。

sudo vi /etc/nginx/conf.d/munin.conf

ここを

location /munin/ {
    fastcgi_split_path_info ^(/munin)(.*);
    fastcgi_param PATH_INFO $fastcgi_path_info;
    fastcgi_pass unix:/var/run/munin/fcgi-html.sock;
    include fastcgi_params;
}

こうします。

location /munin/ {
    auth_basic "admin only";
    auth_basic_user_file /etc/nginx/htpasswd;
    fastcgi_split_path_info ^(/munin)(.*);
    fastcgi_param PATH_INFO $fastcgi_path_info;
    fastcgi_pass unix:/var/run/munin/fcgi-html.sock;
    include fastcgi_params;
}

 

設定を反映するために、nginxを再読込しましょう。

sudo service nginx reload

ここまでできたら、ブラウザを再起動してアクセスし、IDとパスワードを求められることを確認します。

 

■ [監視対象] iptablesに穴をあける

監視対象サーバの iptables ファイルをバックアップします。

sudo cp -p /etc/sysconfig/iptables /etc/sysconfig/iptables.$(date +%Y%m%d)00

/etc/sysconfig/iptables ファイルに以下を追記します。

A RH-Firewall-1-INPUT -s 49.212.xxx.xxx/32 -p tcp --dport 4949 -j ACCEPT

追記後、iptablesを再起動します。

sudo service iptables restart

 

 

■ [監視対象] munin-node.confに新監視サーバのアドレスを追加する

設定ファイルをバックアップします。

sudo cp -p /etc/munin/munin-node.conf /etc/munin/munin-node.conf.$(date +%Y%m%d)00

設定ファイルに以下を追記しましょう。

allow ^49.212.xxx.xx$

忘れずにmunin-nodeを再起動します。

sudo /etc/init.d/munin-node restart

 

 

 ■ [旧監視サーバ] 監視データを圧縮する

muninで蓄積されている監視データは /var/lib/munin にありますが、このディレクトリごとまるっと持って行くと、localhostの監視データも引き継ぐことになってしまいます。ハードウェアが変わるのに過去データを持って行ってもしょうがないので、1つの監視対象を持っていくことにします。

例えば「customer」というグループで「example.jp」を監視していたとしましょう。/etc/munin/munin.confには以下のように書かれている箇所があると思います。

[customer;example.jp]
    address 49.212.zzz.zzz
    use_node_name yes

すると、/var/lib/munin ディレクトリ以下には customer ディレクトリと state-customer-example.jp.storable というファイルがあるので、これらを圧縮し、新環境の同じディレクトリへ展開します。

 

■ [新監視サーバ] munin設定

新監視サーバのmunin.confに以下を追記します。

[customer;example.jp]
    address 49.212.zzz.zzz
    use_node_name yes

ブラウザで見てみると、過去データも見えるようになり、5分おきに新しいデータが追加されていると思います。

munin_add_20140416

 

お疲れ様でした。ね、簡単でしょう?

[amazonjs asin="4873113997" locale="JP" title="キャパシティプランニング ― リソースを最大限に活かすサイト分析・予測・配置"]