前回、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分おきに新しいデータが追加されていると思います。
お疲れ様でした。ね、簡単でしょう?
[amazonjs asin="4873113997" locale="JP" title="キャパシティプランニング ― リソースを最大限に活かすサイト分析・予測・配置"]