アイビスヘッダー

IBS

2012年9月22日土曜日

RHEL6(x86_64)でepelを利用してのmuninインストールが失敗する

RHEL6.3(x86_64)を利用していて、epelレポジトリを利用して、muninのインストールを行うと以下のエラーで失敗する。

Error: Package: munin-1.4.7-5.el6.noarch (epel)
           Requires: perl(RRDs)
Error: Package: perl-Log-Log4perl-1.30-1.el6.noarch (epel)
           Requires: perl(RRDs)

yum search で探してみても、それらしいパッケージは見つからない。


試しに、CentOS6用の以下パッケージをダウンロードしてインストールしてみると、あっさり成功!
rpm -ivh rrdtool-perl-1.3.8-6.el6.x86_64.rpm

これでいいのか?
とりあえず設定を進めてみる。

2012年3月28日水曜日

MySQL5.1でリレーログを自動削除されないようにする設定

何のために利用するのか分かりませんが、リレーログが自動削除されないようにするパラメータがあります。

relay_log_purge=0

通常は処理されると自動削除されていくので、もしログが消えない現象に遭遇した場合は調べてみてはどうでしょうか?


有効にする時ですが、現在の状態がOFFになっているとすれば、次の方法で動的に変更可能でした。
ただ少し時間がかかるときがありました。

mysql> SET GLOBAL relay_log_purge = 1;

mysql> FLUSH LOGS;

2012年2月2日木曜日

munin で KVM の情報を取得する

CentOS6.2(x86_64)で動作している KVM 上の、各VMの状態を知りたいと思っていたら、munin に libvirt というプラグインを開発されている方がいることを知りました。
Debian向けにはパッケージが存在するのでインストールするのは簡単だと思いますが、CentOS用にはパッケージが存在しないので手動でインストールする必要があります。

CentOS6.2(x86_64)には、munin-node(epel)をインストールしておきます。

pluginモジュールを以下のサイトからダウンロードします。
http://honk.sigxcpu.org/projects/libvirt/monitor/releases/munin-libvirt-plugins-0.0.6.tar.gz

展開してインストールを行います。
# tar xvfz munin-libvirt-plugins-0.0.6.tar.gz
# cd munin-libvirt-plugins-0.0.6
# make
# make install
# ln -s /usr/share/munin/plugins/libvirt-* /etc/munin/plugins/

munin-node設定
# vi /etc/munin/plugin-conf.d/libvirt
 
[libvirt-*]
env.uri qemu:///system

※SELinuxを無効にしておいてください。
これで僕は大はまりしました。

munin-nodeを再起動して完了です。


KVM以外の監視もできるようです、本家サイトを見てください。
http://libvirt.org/

2012年2月1日水曜日

munin で tomcat7 監視設定

CentOS6.2(x86_64) +  tomcat7.0.25 + munin-node1.4.6(epel) の環境です。

tomcat設定
$TOMCAT_HOME/conf/tomcat-users.xml に2行追加

<role rolename="manager-status"/>
<user username="munin" password="munin" roles="manager-status"/>


munin-node設定
/etc/munin/plugin-conf.d/tomcat ファイルを作成

[tomcat_*]
env.host 127.0.0.1
env.port 8080
env.request /manager/status?XML=true
env.user munin
env.password munin
env.timeout 30
env.connector jk-8009


リンクをはる
# ln -s /usr/share/munin/plugins/tomcat_* /etc/munin/plugins/


確認
# /usr/share/munin/plugins/tomcat_access autoconf
# curl http://munin:munin@127.0.0.1:8080/manager/status?XML=true


必須パッケージに、perl-XML-Simpleが必要なところではまりましたが
/usr/share/munin/plugins/tomcat_access autoconf が教えてくれました。

pluginファイルがそのままでは、tomcat7では利用できませんので編集します。
/etc/munin/plugins/tomcat_access

if($xml->{'connector'}->{'"http-bio-'.$PORT.'"'}->{'requestInfo'}->[0]->{'requestCount'}) {
    print "accesses.value " . $xml->{'connector'}->{'"http-bio-'.$PORT.'"'}->{'requestInfo'}->[0]->{'requestCount'} . "\n";
} else {
    print "accesses.value U\n";
}

/etc/munin/plugins/tomcat_threads

if($xml->{'connector'}->{'"http-bio-'.$PORT.'"'}->{'threadInfo'}->[0]->{'currentThreadsBusy'} &&
    $xml->{'connector'}->{'"http-bio-'.$PORT.'"'}->{'threadInfo'}->[0]->{'currentThreadCount'}) {
    print "busy.value " . $xml->{'connector'}->{'"http-bio-'.$PORT.'"'}->{'threadInfo'}->[0]->{'currentThreadsBusy'} . "\n";
    print "idle.value " .
          ($xml->{'connector'}->{'"http-bio-'.$PORT.'"'}->{'threadInfo'}->[0]->{'currentThreadCount'} -
          $xml->{'connector'}->{'"http-bio-'.$PORT.'"'}->{'threadInfo'}->[0]->{'currentThreadsBusy'}) . "\n";
} else {
    print "busy.value U\n";
    print "idle.value U\n";
}

/etc/munin/plugins/tomcat-volume

if($xml->{'connector'}->{'"http-bio-'.$PORT.'"'}->{'requestInfo'}->[0]->{'bytesSent'}) {
    print "volume.value " . $xml->{'connector'}->{'"http-bio-'.$PORT.'"'}->{'requestInfo'}->[0]->{'bytesSent'} . "\n";
} else {
    print "volume.value U\n";
}

変更内容としては、tomcat6までは connector name が
'http-8080'
で返ってきてたんですが、tomcat7からは
'"http-bio-8080"'
で返ってくるので、それに対応することです。

後は、tomcatの再起動と、munin-nodeの再起動で完成です。

2012年1月17日火曜日

CentOS6のpuppetでエラーが発生

CentOS6にepelレポジトリからpuppetをインストールして、起動すると以下のエラーが発生。

Could not evaluate: getaddrinfo: Temporary failure in name resolution Could not retrieve file metadata for 〜

原因は、名前解決ができないからでした。

自分は、NetworkManagerサービスを停止していたため、/etc/resolv.confファイルの書き換えが行われていませんでした。
/etc/resolv.confファイルを編集することで、エラーは発生しなくなりました。

2012年1月6日金曜日

CentOS5.7(x86_64)に VMware-vSphere-CLI-4.0.0 の導入メモ

以下のURLからダウンロードします。
自動化ツールおよびSDKを展開→VMware vSphere CLI 4.0 をダウンロード

導入開始

# tar xvfz VMware-vSphere-CLI-4.0.0-161974.x86_64.tar.gz
# cd vmware-vsphere-cli-distrib/
# ./vmware-install.pl 
Creating a new vSphere CLI installer database using the tar4 format.

Installing vSphere CLI.

Installing version 161974 of vSphere CLI


You must read and accept the vSphere CLI End User License Agreement to 
continue.
Press enter to display it.  

VMware(r) End User License Agreement

VMware, Inc. ("VMware") provides the vSphere Command-Line Interface (vSphere
CLI) and/or vSphere Software Development Kit for Perl (vSphere SDK for Perl)
(collectively the "Software") to you subject to the following terms and
conditions.  If you disagree with any of the following terms, then do not
use the Software.

1.  The Software contains a variety of materials, interface definitions,
documentation, sample utility applications and sample code regarding
programming interfaces to one or more VMware products as referenced in such
materials ("VMware Products").  This Software is intended to be used to
execute supplied commands and utility applications and to create scripts
that interact with the VMware Products. 

2.  Use Rights:  Subject to the restrictions below, you may download and
make a reasonable number of copies of the Software contents for your use
solely for the purpose of creating software that communicates with VMware
Products ("Developer Software").  For vSphere SDK for Perl, some code may be
designated as "distributable code" and/or "modifiable code" at
http://www.vmware.com/go/vsdkperl-redistribution-info.  For vSphere CLI,
some code may be designated as "distributable code" and/ or "modifiable
code" at http://www.vmware.com/go/vcli-redistribution-info.  You may use and
merge all or portions of the "distributable code" with your Developer
Software.  Any merged portion of any "distributable code" is subject to this
Agreement.  Additionally, you may modify or create derivative works of all
or portions of the "modifiable code."  You are permitted to re-distribute
the "distributable code" and the modified or derivative works of the
"modifiable code" only as part of your Developer Software for non-commercial
or commercial use.  Open source software components provided with the
Software are licensed to you under the terms of the applicable license
agreements included with such open source software components.  The open
source software licenses can be found in the open_source_licenses.txt file,
other materials accompanying the Software, the documentation or
corresponding source files available at http://www.vmware.com/download/vi/open_source.html.

3.  Restrictions:  You agree that you will not (1) use the Software to
create, design or develop anything other than Developer Software; (2) make
any more copies of the Software than are reasonably necessary for the
authorized use and backup and archival purposes; (3) modify, create
derivative works of, reverse engineer, reverse compile, or disassemble the
Software, except as expressly permitted in Section 2; (4) distribute, sell,
lease, rent, lend, or sublicense any part of the Software to any third party
except as expressly permitted in Section 2 or; (5) use the Software to (a)
create, design or develop software or service to circumvent, enable, modify
or provide access, permissions or rights which would violate the technical

Do you accept? (yes/no) yes

Thank you.

ld: cannot find -lcrypto
Unable to link the Crypt::SSLeay Perl module.  Secured connections will be 
unavailable until you install the Crypt::SSLeay module.

In which directory do you want to install the executable files? 
[/usr/bin] 

Please wait while copying vSphere CLI files...

The installation of vSphere CLI 4.0.0 build-161974 for Linux completed 
successfully. You can decide to remove this software from your system at any 
time by invoking the following command: 
"/usr/bin/vmware-uninstall-vSphere-CLI.pl".

This installer has successfully installed both vSphere CLI and the vSphere SDK 
for Perl.

Enjoy,

--the VMware team

Crypt::SSLeay perlモジュールが無いと表示されたが、そのまま導入


vmware-cmdで確認してもエラーが発生している

# vmware-cmd --version
Can't locate URI.pm in @INC (@INC contains: /usr/lib64/perl5/site_perl/5.8.8/x86_64-linux-thread-multi /usr/lib/perl5/site_perl/5.8.8 /usr/lib/perl5/site_perl /usr/lib64/perl5/vendor_perl/5.8.8/x86_64-linux-thread-multi /usr/lib/perl5/vendor_perl/5.8.8 /usr/lib/perl5/vendor_perl /usr/lib64/perl5/5.8.8/x86_64-linux-thread-multi /usr/lib/perl5/5.8.8 .) at (eval 2) line 3.
Compilation failed in require at /usr/lib64/perl5/5.8.8/x86_64-linux-thread-multi/HTTP/Request.pm line 5.
Compilation failed in require at /usr/lib64/perl5/5.8.8/x86_64-linux-thread-multi/LWP/UserAgent.pm line 12.
BEGIN failed--compilation aborted at /usr/lib64/perl5/5.8.8/x86_64-linux-thread-multi/LWP/UserAgent.pm line 12.
Compilation failed in require at /usr/lib/perl5/5.8.8/VMware/VICommon.pm line 12.
BEGIN failed--compilation aborted at /usr/lib/perl5/5.8.8/VMware/VICommon.pm line 12.
Compilation failed in require at /usr/lib/perl5/5.8.8/VMware/VIRuntime.pm line 15.
Compilation failed in require at /usr/bin/vmware-cmd line 8.
BEGIN failed--compilation aborted at /usr/bin/vmware-cmd line 8.

不足しているperlモジュールの導入
# yum install perl-URI
# yum install perl-Crypt-SSLeay

エラーもなくなったので完了