ネットで調べたところサーバのリソース管理は、今は、「Munin」という便利なのがある、ということで、早速仮想環境で
確認したところ、なかなかいい感じです。
以前、20台以上の Linux 機を、net-snmp と MRTG で苦労して構築した環境が、ものの数分でできてしまう。いや、い
い時代になりました。デフォルトの設定では、「こんなの見るかな?」と思えるグラフもあるのですが、削除や追加は簡
単にできるし、いろいろとやれそうです。
仮想環境でいい感じなので本番に入れようとしたら、はまりました。
本番のサーバーは、CentOS 5.7 (古い!)。
CentOSなので、yum で epel から簡単に入ると思っていたのですが、ダメみたいです。
メッセージは、こんなの。
# yum --enablerepo epel install munin
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* base: ftp.nara.wide.ad.jp
* epel: ftp.jaist.ac.jp
* extras: ftp.nara.wide.ad.jp
* updates: ftp.nara.wide.ad.jp
epel | 3.6 kB 00:00
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package munin.noarch 0:2.0.25-11.el5 set to be updated
--> Processing Dependency: sysstat for package: munin
--> Processing Dependency: perl(Taint::Runtime) for package: munin
--> Processing Dependency: perl(RRDs) for package: munin
--> Processing Dependency: perl(Params::Validate) for package: munin
--> Processing Dependency: perl(Net::Server::Fork) for package: munin
--> Processing Dependency: perl(Net::Server) for package: munin
--> Processing Dependency: perl(Net::SSLeay) for package: munin
--> Processing Dependency: perl(Net::SNMP) for package: munin
--> Processing Dependency: perl(Net::CIDR) for package: munin
--> Processing Dependency: perl(Munin::Node::ProxySpooler) for package: munin
--> Processing Dependency: perl(Munin::Node::Config) for package: munin
--> Processing Dependency: perl(Munin::Common::Timeout) for package: munin
--> Processing Dependency: perl(Munin::Common::TLSClient) for package: munin
--> Processing Dependency: perl(Munin::Common::Defaults) for package: munin
--> Processing Dependency: perl(Munin::Common::Config) for package: munin
--> Processing Dependency: perl(Log::Log4perl) for package: munin
--> Processing Dependency: perl(IO::Socket::INET6) for package: munin
--> Processing Dependency: perl(HTML::Template) for package: munin
--> Processing Dependency: perl(File::Copy::Recursive) for package: munin
--> Processing Dependency: perl(FCGI) for package: munin
--> Processing Dependency: perl(Digest::SHA1) for package: munin
--> Processing Dependency: perl(Digest::HMAC) for package: munin
--> Processing Dependency: perl(DateTime) for package: munin
--> Processing Dependency: perl(Date::Manip) for package: munin
--> Processing Dependency: perl(Crypt::DES) for package: munin
--> Processing Dependency: perl(Carp::Always) for package: munin
--> Processing Dependency: perl(Cache::Memcached) for package: munin
--> Processing Dependency: perl(Cache::Cache) for package: munin
--> Running transaction check
---> Package fcgi-perl.x86_64 0:2.4.0-13.el5 set to be updated
--> Processing Dependency: fcgi = 2.4.0-13.el5 for package: fcgi-perl
---> Package munin-common.noarch 0:2.0.25-11.el5 set to be updated
---> Package munin-node.noarch 0:2.0.25-11.el5 set to be updated
--> Processing Dependency: perl(XML::Parser) for package: munin-node
--> Processing Dependency: perl(XML::LibXML) for package: munin-node
--> Processing Dependency: perl(Net::DNS) for package: munin-node
--> Processing Dependency: perl(List::MoreUtils) for package: munin-node
--> Processing Dependency: perl(DBD::Pg) for package: munin-node
---> Package perl-Cache-Cache.noarch 0:1.05-1.el5 set to be updated
--> Processing Dependency: perl(IPC::ShareLite) for package: perl-Cache-Cache
--> Processing Dependency: perl(Error) for package: perl-Cache-Cache
---> Package perl-Cache-Memcached.noarch 0:1.26-3.el5 set to be updated
---> Package perl-Carp-Always.noarch 0:0.09-2.el5 set to be updated
---> Package perl-Crypt-DES.x86_64 0:2.05-3.el5 set to be updated
---> Package perl-DateManip.noarch 0:5.44-1.2.1 set to be updated
---> Package perl-DateTime.x86_64 1:0.41-1.el5 set to be updated
--> Processing Dependency: perl(Class::Singleton) >= 1.03 for package: perl-DateTime
--> Processing Dependency: perl(Class::Singleton) for package: perl-DateTime
---> Package perl-Digest-HMAC.noarch 0:1.01-15 set to be updated
---> Package perl-Digest-SHA1.x86_64 0:2.11-1.2.1 set to be updated
---> Package perl-File-Copy-Recursive.noarch 0:0.35-1.el5 set to be updated
---> Package perl-HTML-Template.noarch 0:2.9-1.el5.2 set to be updated
---> Package perl-IO-Socket-INET6.noarch 0:2.51-2.fc6 set to be updated
--> Processing Dependency: perl(Socket6) for package: perl-IO-Socket-INET6
---> Package perl-Log-Log4perl.noarch 0:1.13-2.el5 set to be updated
--> Processing Dependency: perl(Log::Dispatch::FileRotate) >= 1.10 for package: perl-Log-Log4perl
--> Processing Dependency: perl(XML::DOM) for package: perl-Log-Log4perl
--> Processing Dependency: perl(Log::Dispatch::Syslog) for package: perl-Log-Log4perl
--> Processing Dependency: perl(Log::Dispatch::Screen) for package: perl-Log-Log4perl
--> Processing Dependency: perl(Log::Dispatch::File) for package: perl-Log-Log4perl
--> Processing Dependency: perl(IPC::Shareable) for package: perl-Log-Log4perl
---> Package perl-Net-CIDR.noarch 0:0.13-2.el5 set to be updated
---> Package perl-Net-SNMP.noarch 0:5.2.0-1.el5.1 set to be updated
---> Package perl-Net-SSLeay.x86_64 0:1.30-4.fc6 set to be updated
---> Package perl-Net-Server.noarch 0:0.96-2.el5 set to be updated
--> Processing Dependency: perl(IO::Multiplex) for package: perl-Net-Server
---> Package perl-Params-Validate.x86_64 0:0.88-3.el5 set to be updated
---> Package perl-Taint-Runtime.x86_64 0:0.03-1.el5.1 set to be updated
---> Package rrdtool-perl.x86_64 0:1.2.27-4.el5 set to be updated
--> Processing Dependency: rrdtool = 1.2.27-4.el5 for package: rrdtool-perl
--> Processing Dependency: librrd.so.2()(64bit) for package: rrdtool-perl
---> Package sysstat.x86_64 0:7.0.2-13.el5 set to be updated
--> Running transaction check
---> Package fcgi.x86_64 0:2.4.0-13.el5 set to be updated
---> Package perl-Class-Singleton.noarch 0:1.03-3.el5 set to be updated
---> Package perl-DBD-Pg.x86_64 0:1.49-4.el5_8 set to be updated
---> Package perl-Error.noarch 1:0.17010-1.el5 set to be updated
---> Package perl-IO-Multiplex.noarch 0:1.08-5.el5 set to be updated
---> Package perl-IPC-ShareLite.x86_64 0:0.13-4.el5 set to be updated
---> Package perl-List-MoreUtils.x86_64 0:0.33-5.el5 set to be updated
---> Package perl-Log-Dispatch.noarch 0:2.20-1.el5 set to be updated
--> Processing Dependency: perl(Mail::Sendmail) for package: perl-Log-Dispatch
--> Processing Dependency: perl(Mail::Sender) for package: perl-Log-Dispatch
--> Processing Dependency: perl(Mail::Send) for package: perl-Log-Dispatch
--> Processing Dependency: perl(MIME::Lite) for package: perl-Log-Dispatch
---> Package perl-Log-Dispatch-FileRotate.noarch 0:1.16-1.el5 set to be updated
---> Package perl-Log-Log4perl.noarch 0:1.13-2.el5 set to be updated
--> Processing Dependency: perl(IPC::Shareable) for package: perl-Log-Log4perl
---> Package perl-Net-DNS.x86_64 0:0.59-3.el5 set to be updated
--> Processing Dependency: perl(Net::IP) for package: perl-Net-DNS
---> Package perl-Socket6.x86_64 0:0.19-3.fc6 set to be updated
---> Package perl-XML-DOM.noarch 0:1.44-2.el5 set to be updated
--> Processing Dependency: perl(XML::RegExp) for package: perl-XML-DOM
---> Package perl-XML-LibXML.x86_64 0:1.58-6 set to be updated
--> Processing Dependency: perl-XML-NamespaceSupport for package: perl-XML-LibXML
--> Processing Dependency: perl-XML-LibXML-Common for package: perl-XML-LibXML
--> Processing Dependency: perl(XML::SAX::Exception) for package: perl-XML-LibXML
--> Processing Dependency: perl(XML::LibXML::Common) for package: perl-XML-LibXML
--> Processing Dependency: perl-XML-SAX for package: perl-XML-LibXML
--> Processing Dependency: perl(XML::SAX::DocumentLocator) for package: perl-XML-LibXML
--> Processing Dependency: perl(XML::SAX::Base) for package: perl-XML-LibXML
--> Processing Dependency: perl(XML::NamespaceSupport) for package: perl-XML-LibXML
---> Package perl-XML-Parser.x86_64 0:2.34-6.1.2.2.1 set to be updated
---> Package rrdtool.x86_64 0:1.2.27-4.el5 set to be updated
--> Running transaction check
---> Package perl-Log-Log4perl.noarch 0:1.13-2.el5 set to be updated
--> Processing Dependency: perl(IPC::Shareable) for package: perl-Log-Log4perl
---> Package perl-MIME-Lite.noarch 0:3.01-5.el5 set to be updated
---> Package perl-Mail-Sender.noarch 0:0.8.13-2.el5.1 set to be updated
---> Package perl-Mail-Sendmail.noarch 0:0.79-9.el5.1 set to be updated
---> Package perl-MailTools.noarch 0:1.77-1.el5.centos set to be updated
--> Processing Dependency: perl(Date::Format) for package: perl-MailTools
--> Processing Dependency: perl(Date::Parse) for package: perl-MailTools
---> Package perl-Net-IP.noarch 0:1.25-2.fc6 set to be updated
---> Package perl-XML-LibXML-Common.x86_64 0:0.13-8.2.2 set to be updated
---> Package perl-XML-NamespaceSupport.noarch 0:1.09-1.2.1 set to be updated
---> Package perl-XML-RegExp.noarch 0:0.03-2.el5 set to be updated
---> Package perl-XML-SAX.noarch 0:0.14-13.el5 set to be updated
--> Running transaction check
---> Package perl-Log-Log4perl.noarch 0:1.13-2.el5 set to be updated
--> Processing Dependency: perl(IPC::Shareable) for package: perl-Log-Log4perl
---> Package perl-TimeDate.noarch 1:1.16-5.el5 set to be updated
--> Finished Dependency Resolution
perl-Log-Log4perl-1.13-2.el5.noarch from epel has depsolving problems
--> Missing Dependency: perl(IPC::Shareable) is needed by package perl-Log-Log4perl-1.13-2.el5.noarch
(epel)
Error: Missing Dependency: perl(IPC::Shareable) is needed by package perl-Log-Log4perl-1.13-2.el5.noarch
(epel)
You could try using --skip-broken to work around the problem
You could try running: package-cleanup --problems
package-cleanup --dupes
rpm -Va --nofiles --nodigest
The program package-cleanup is found in the yum-utils package.
#
#
エラーが出ている、
perl-Log-Log4perl-1.13-2.el5.noarch
ですが、どうやってもインストールできませんでした。
やってみのは、次のとおり。
(1) yum で perl-Log-Log4perl-1.13-2.el5.noarch をインストールしようとしたがダメ。
(2) yum の設定で、epel は、国内のミラーを参照しているのですが、このミラー4つを直接指定してみたのですが、それ
ぞれ全てでエラーでした。
(3) じゃ、ということで perl-Log-Log4perl-1.13-2.el5.noarch.rpm をダウンロードして、rpm コマンドで入れてみよう
としたのですが、これもダメ。
もしかして、perl の全パッケージをインストールする必要があるのかな。
# rpm -ivh perl-Log-Log4perl-1.13-2.el5.noarch.rpm
error: Failed dependencies:
perl(IPC::Shareable) is needed by perl-Log-Log4perl-1.13-2.el5.noarch
perl(Log::Dispatch::File) is needed by perl-Log-Log4perl-1.13-2.el5.noarch
perl(Log::Dispatch::FileRotate) >= 1.10 is needed by perl-Log-Log4perl-1.13-2.el5.noarch
perl(Log::Dispatch::Screen) is needed by perl-Log-Log4perl-1.13-2.el5.noarch
perl(Log::Dispatch::Syslog) is needed by perl-Log-Log4perl-1.13-2.el5.noarch
perl(RRDs) is needed by perl-Log-Log4perl-1.13-2.el5.noarch
perl(XML::DOM) is needed by perl-Log-Log4perl-1.13-2.el5.noarch
yum は、パッケージの依存関係をチェックして必要なパッケージもいっしょにインストールするはず。
実際、仮想に入れたCentOS 6.7 では、すべてのパッケージが1つのコマンドでインストールされました。
ですが、CentOS 5.7 に入っている yum は、これがダメなのかもしれません。
ということで、チェックしたら、
# yum list yum
Loaded plugins: fastestmirror
base | 1.1 kB 00:00
extras | 2.1 kB 00:00
updates | 1.9 kB 00:00
Installed Packages
yum.noarch 3.2.22-37.el5.centos installed
Available Packages
yum.noarch 3.2.22-40.el5.centos base
#
古いじゃん。ということで、yum でアップデートしてから実行したのですが、やはり同じ。
yum コマンドだけの問題ではないようです。
じゃ、ということでそれぞれ個別に入れていきます。
# yum --enablerepo epel install perl-IPC-ShareLite.x86_64
...
# yum --enablerepo epel install perl-IPC-Cmd.noarch
...
# yum --enablerepo epel install perl-Log-Dispatch.noarch
...
# yum --enablerepo epel install rrdtool-perl
...
# yum --enablerepo epel install perl-XML-DOM
...
# yum --enablerepo epel install perl-Log-Log4perl
...
perl-Log-Log4perl-1.13-2.el5.noarch from epel has depsolving problems
--> Missing Dependency: perl(IPC::Shareable) is needed by package perl-Log-Log4perl-1.13-2.el5.noarch
(epel)
Error: Missing Dependency: perl(IPC::Shareable) is needed by package perl-Log-Log4perl-1.13-2.el5.noarch
(epel)
You could try using --skip-broken to work around the problem
You could try running: package-cleanup --problems
package-cleanup --dupes
rpm -Va --nofiles --nodigest
やっぱりこれは、perl のバグなのか?
念のため、perl のパッケージもアップしてみます。
# perl --version
This is perl, v5.8.8 built for x86_64-linux-thread-multi
# yum list perl
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* base: ftp.nara.wide.ad.jp
* extras: ftp.nara.wide.ad.jp
* updates: ftp.nara.wide.ad.jp
Installed Packages
perl.x86_64 4:5.8.8-32.el5_7.6 installed
Available Packages
perl.i386 4:5.8.8-43.el5_11 updates
perl.x86_64 4:5.8.8-43.el5_11 updates
# yum update perl
...
無事、バージョンアップ完了。とはいえ、perl 自体のバージョンは、v5.8.8 で変わらず。
やはり、
--> Missing Dependency: perl(IPC::Shareable) is needed by package perl-Log-Log4perl-1.13-2.el5.noarch
(epel)
Error: Missing Dependency: perl(IPC::Shareable) is needed by package perl-Log-Log4perl-1.13-2.el5.noarch
(epel)
というエラーが発生します。
じゃ、ということで、ネットで検索したら見つかった IPC-Shareable の CentOS5 用のパッケージを入れてみる。
http://pkgs.repoforge.org/perl-IPC-Shareable/
rpm -ivh perl-IPC-Shareable-0.60-1.2.el5.rf.noarch.rpm
これを入れたら、yum –enablerepo epel install perl-Log-Log4perl が成功しました。
さらに、yum –enablerepo epel install munin もうまくいきました。
munin は、デフォルトでパスワードを聞いてくるのですが、認証なしで入れるようにしておきます。
/etc/httpd/conf.d の下にある munin.conf の認証関係をコメントします。
また、URLを「 http://localhost/munin/」で参照できるように、次の行を追加しました。
Alias /munin /var/www/html/munin
まあ、なんとかインストールはできた。
しかし、いろいろやりながらとはいえ、朝から初めてインストールが終わったのは夕方、というのはちょっと。
この CentOS 5.7 は、早く新しいのにリプレースしてほしい、と改めて思う。