早崎トップ 研究(気候気象) 研究(大気汚染) データリスト Linux Tips Mac Tips

サーバ監視 (hysk)

サーバ監視・モニタリング設定

本ページの記述は,CentOS 5.{3-6} (x86_64)で実施. なお,lm_sensors はハードウェア依存で動作するもの・しないものがあるようです. 私も,Atom N330 での munin 稼働に失敗しました. 私にはこれを解決できるだけの技術力がないので,放置しています.

munin

  セットアップ

実施事項 (コマンドの羅列; とにかく取り急ぎ手順を知りたい人向け)

準備〜稼働までの,大雑把な流れは以下の通り:

(以下,特に断りが無い限り全て監視対象ノードでの実行)
# rpm -ivh http://download.fedora.redhat.com/pub/epel/5/x86_64/epel-release-5-4.noarch.rpm
# yum -y install libsysfs libsysfs-devel
# yum -y install munin* unbound-munin
# yum -y install lm_sensors

(coretemp module のインストール)
# rpm -ivh http://www.pperry.f2s.com/linux/coretemp/kmod-coretemp-1.1-2.el5.x86_64.rpm
(上記をインストールしても正常稼働しない場合があった.ハード依存? 原因特定できず.2011-11-21 実施)

# /usr/sbin/sensors-detect
# /usr/bin/sensors     (lm_sensors 稼働確認用,念のため.)

(監視対象ノードの /etc/munin/plugins/ 以下の不要プラグインを削除,必要プラグインを追加)
(監視対象ノードの /etc/munin/munin-node.conf に,情報集積サーバからのアクセス許可を追記)
(監視対象ノードの /etc/munin/plugin-conf.d/munin-node に, sensors_* や hddtemp_smartctl などを追記)
(情報集積用サーバにて, /etc/munin/munin.conf に監視対象ノード情報を追記)

(監視対象ノードのセキュリティを一部開く.監視対象ノードにて,munin のポート(4949/tcp)に対して情報集積サーバがアクセスすることを許可する)
# system-config-securitylevel
(GUI画面にて操作)

(情報集積用サーバ & 監視対象ノードにて,munin-node を起動.稼働済みなら reload でもよい.)
# /etc/init.d/munin-node restart
# /sbin/chkconfig munin-node on

  導入手順解説

munin 本体のインストール

munin 自体のインストールは, Extra Packages for Enterprise Linux (EPEL) repository が追加されていれば,yum 一発でいける. 具体的調査方法は,/etc/yum.repos.d/ 以下を見る. ここに epel.repo & epel-testing.repo があれば,EPEL追加済み.

※EPEL repository の追加手順.設定済みなら,以下2行は不要
# wget http://download.fedora.redhat.com/pub/epel/5/x86_64/epel-release-5-4.noarch.rpm
# rpm -ivh epel-release-5-4.noarch.rpm

# yum search munin
Loaded plugins: allowdowngrade, fastestmirror
Loading mirror speeds from cached hostfile
* epel: ftp.jaist.ac.jp
(中略)
================== Matched: munin   ======================
munin.noarch : Network-wide graphing framework (grapher/gatherer)
munin-node.noarch : Network-wide graphing framework (node)
unbound-munin.x86_64 : Plugin for the munin / munin-node monitoring package

上記3つを入れればオッケー.

追加パッケージ(lm_sensors, kernel module; OpenIPMI)

lm_sensors やそれらが利用する kernel module の追加が必要.

  • 汎用パソコン系(Core2Duo や Core2Quadなど)の場合, lm_sensors だけで使えば,MB経由でCPU温度を取得できるはず.
  • CPU が Intel Xeon やAMD Opteron などの場合, CentOS では kernel module の追加導入が必要. 以下にその手順を再掲する:
(いつのまにか,lm_sensors は base repository から取得可能になっていた.
 ELrepo からは取得不可能.私個人が確認したのは 2011-11-21)
# yum -y install lm_sensors
# rpm -ivh http://www.pperry.f2s.com/linux/coretemp/kmod-coretemp-1.1-2.el5.x86_64.rpm

なお,lm_sensors が使えない計算機もある. ただし,サーバ機の場合には,lm_sensors が使えなくても,OpenIPMI が使える場合がある. 実際に,Dell PowerEdge T610 (タワー型のサーバ) にて,lm_sensors がダメでも OpenIPMI が使えた.OpenIPMI の場合,使用するのは以下のパッケージ. どのレポジトリから得られるのか,未確認.私の場合,いつの間にかインストールされていた.

# yum -y OpenIPMI OpenIPMI-tools

CentOS 6.x 系だと,OpenIPMI-tools が見付からない.ipmitool は何処に行った? 未解決問題.

動作確認は ipmitool コマンドにて.

# ipmitool sdr
Temp             | -61 degrees C     | ok
Temp             | -64 degrees C     | ok
Temp             | 35 degrees C      | ok
Temp             | 33 degrees C      | ok
Ambient Temp     | 27 degrees C      | ok
Planar Temp      | 34 degrees C      | ok
CMOS Battery     | 0x00              | ok
(私の場合,全部で100行程度のメッセージが画面に出力された)

インストールしたら,daemon も起動しておく. 以下の2つとも必要なのか?未確認だが,個人的に検証する時間的余裕がないので pending. 設定ファイルの所在が不明./etc/sysconfig/ipmi に記述があるようだが...

# /etc/init.d/ipmi start
# /etc/init.d/ipmievd start
# chkconfig ipmi on
# chkconfig ipmievd on

CentOS 5.x 系が稼動する Dell 製のサーバだと,以下のように実行すれば, 消費電力も表示できるので便利 (see ipmitool でのサーバ消費電力確認方法, Dell コミュニティ テックセンターより)

# ipmitool delloem powermonitor powerconsumptionhistory
Power Consumption History

Statistic                   Last Minute     Last Hour     Last Day     Last Week

Average Power Consumption   145 W           144 W         144 W        143 W   
Max Power Consumption       149 W           158 W         160 W        160 W   
Min Power Consumption       142 W           142 W         142 W        142 W   

Max Power Time
Last Minute     : Sun Jun 10 15:54:09 2012
Last Hour       : Sun Jun 10 15:35:07 2012
(以下略)

CentOS 6.x 系だと,RPM で配布されているものも見つけたが, 公式(?)レポジトリには入っていないようだ.

  munin の監視対象の変更(追加・削除)

追加

  • /etc/munin/plugins に,対象となるドライバのリンクを張る

様々な監視対象用のドライバがあるが, ここでは lm_sensors を使った温度の取得をする場合を例とする:

# ln -s /usr/share/munin/plugins/sensors_ /etc/munin/plugins/sensors_temp
※1: アンダースコアを忘れずに
※2: 温度以外に,ファンの回転数や電圧などもモニタしたい場合は下記も追記
# ln -s /usr/share/munin/plugins/sensors_ /etc/munin/plugins/sensors_volt
# ln -s /usr/share/munin/plugins/sensors_ /etc/munin/plugins/sensors_fan
# ln -s /usr/share/munin/plugins/hddtemp_smartctl /etc/munin/plugins/hddtemp_smartctl
※OpenIPMI の場合は以下の通り:
# ln -s /usr/share/munin/plugins/ipmi_ /etc/munin/plugins/ipmi_fans
# ln -s /usr/share/munin/plugins/ipmi_ /etc/munin/plugins/ipmi_temp

sensors_ と hddtemp_smartctl に関する項目を /etc/munin/plugin-conf.d/munin-node に追記.

# vi /etc/munin/plugin-conf.d/munin-node
 === 以下を末尾にでも追記
 [sensors_*]
 user root
 
 [hddtemp_smartctl]
 user root
 env.drives sdc sdd
 env.args_sdc --all -d ata
 env.args_sdd --all -d ata
 
 ※以下はOpenIPMIを使う場合
 [ipmi_*]
 user root
 === ここまで

複数のハードディスク(ここでは sdc, sdd)がある場合には,上記のように書いたら動いた. 正確な書式か否か未確認だが,現状で動作しているので良いのだろう,きっと.

これで munin-node を restart

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

削除

  • /etc/munin/plugins で,使わないものを削除するだけ
  • default install 時の状態から,必要と思われるプラグインだけを残す& 新規設定するコマンドは以下の通り:
for i in entropy forks fw_packets http_loadtime lpstat proc_pri threads uptime yum ; do \rm -f /etc/munin/plugins/$i ; done
\rm -f /etc/munin/plugins/sendmail_*
\rm -f /etc/munin/plugins/ntp_*
ln -s /usr/share/munin/plugins/sensors_ /etc/munin/plugins/sensors_temp
ln -s /usr/share/munin/plugins/hddtemp_smartctl /etc/munin/plugins/hddtemp_smartctl

実例

以下に,/etc/munin/plugins のリストを示す:

# cd /etc/munin/plugins
# ls -l
total 0
lrwxrwxrwx 1 root root 28 2009-09-01 23:15 cpu -> /usr/share/munin/plugins/cpu*
lrwxrwxrwx 1 root root 27 2009-09-01 23:15 df -> /usr/share/munin/plugins/df*
lrwxrwxrwx 1 root root 33 2009-09-01 23:15 df_inode -> /usr/share/munin/plugins/df_inode*
lrwxrwxrwx 1 root root 41 2009-09-08 09:32 hddtemp_smartctl -> /usr/share/munin/plugins/hddtemp_smartctl*
lrwxrwxrwx 1 root root 32 2009-09-01 23:15 if_err_eth0 -> /usr/share/munin/plugins/if_err_*
lrwxrwxrwx 1 root root 28 2009-09-01 23:15 if_eth0 -> /usr/share/munin/plugins/if_*
lrwxrwxrwx 1 root root 35 2009-09-01 23:15 interrupts -> /usr/share/munin/plugins/interrupts*
lrwxrwxrwx 1 root root 31 2009-09-01 23:15 iostat -> /usr/share/munin/plugins/iostat*
lrwxrwxrwx 1 root root 33 2009-09-01 23:15 irqstats -> /usr/share/munin/plugins/irqstats*
lrwxrwxrwx 1 root root 29 2009-09-01 23:15 load -> /usr/share/munin/plugins/load*
lrwxrwxrwx 1 root root 31 2009-09-01 23:15 memory -> /usr/share/munin/plugins/memory*
lrwxrwxrwx 1 root root 32 2009-09-01 23:15 netstat -> /usr/share/munin/plugins/netstat*
lrwxrwxrwx 1 root root 35 2009-09-01 23:15 nfs_client -> /usr/share/munin/plugins/nfs_client*
lrwxrwxrwx 1 root root 29 2009-09-01 23:15 nfsd -> /usr/share/munin/plugins/nfsd*
lrwxrwxrwx 1 root root 35 2009-09-01 23:15 ntp_offset -> /usr/share/munin/plugins/ntp_offset*
lrwxrwxrwx 1 root root 35 2009-09-01 23:15 open_files -> /usr/share/munin/plugins/open_files*
lrwxrwxrwx 1 root root 36 2009-09-01 23:15 open_inodes -> /usr/share/munin/plugins/open_inodes*
lrwxrwxrwx 1 root root 34 2009-09-01 23:15 processes -> /usr/share/munin/plugins/processes*
lrwxrwxrwx 1 root root 33 2009-09-02 10:26 sensors_temp -> /usr/share/munin/plugins/sensors_*
lrwxrwxrwx 1 root root 29 2009-09-01 23:15 swap -> /usr/share/munin/plugins/swap*
lrwxrwxrwx 1 root root 31 2009-09-01 23:15 vmstat -> /usr/share/munin/plugins/vmstat*

NFS を使ってなけりゃ, nfs で始まる2つ (nfs_client, nfsd) も削除する. 上記以外では,users を入れるのも良い. まだ導入したてなので,自分に必須の情報を絞りきれていない. 使っていくうちに不要なものを削除すればよいだろう.

  複数台監視の設定

munin を使った,複数台監視の方法.監視対象の計算機群それぞれにmunin-nodeのインストール

# yum -y install munin-node

ここでは2台の計算機A, B の情報を情報集積サーバSに集めるという状況を仮定する.

  • 計算機A: hoge1.domain1.jp (IP = 192.168.1.11)
  • 計算機B: hoge2.domain1.jp (IP = 192.168.1.12)
  • 情報集積サーバS: server.domain1.jp (IP = 192.168.1.100)

異なるドメインにまたがっている場合, セキュリティ設定などの都合でモニタリングできない事もありそう. ドメインを跨ぐ機材の直接モニタリングは,やらないことにする.

計算機A, Bにおいて,設定ファイル(munin-node.conf)の設定

# vi /etc/munin/munin-node.conf
 ※計算機Aの場合
   allow ^127\.0\.0\.1$
   allow ^192\.168\.1\.100$ # <= point 1
 
 ※計算機Bの場合
   allow ^127\.0\.0\.1$
   allow ^192\.168\.1\.100$ # <= point 1

上記の point 1 の部分は,情報集積サーバからのアクセス許可. 計算機A, B で firewall が稼働していたら, munin のTCPポート(4949)へのアクセス許可を与えておく.

# /usr/bin/system-config-securitylevel 

設定が完了したら,計算機A, Bそれぞれで munin-nodeを起動.

# /etc/init.d/munin-node start 

続いての情報集積サーバ S での munin.conf の設定.

# vi /etc/munin/munin.conf 

以下を書き込む:

   [localhost]
       address 127.0.0.1
       use_node_name yes
   
   # 以下に munin-nodeをインストールした計算機A, Bの情報を記述
   [hoge1.domain1.jp]    #←ここの部分は各サーバのFQDN
    address 192.168.1.11
       use_node_name yes
   [hoge2.domain1.jp]    
    address 192.168.1.12
       use_node_name yes

情報集積サーバSの munin.conf の設定が完了したら,設定ファイルの再読み込み.

# /etc/init.d/munin-node reload

再読み込みの5分後には計算機A, Bの情報が情報集積サーバSに集まり, グラフが見られるようになるはず.

応用例: グループ分割

監視対象が2,3台なら上記のような簡易設定でも良いが, 同一ドメイン内の監視対象台数が5, 6台以上になると,day, week などの overview ページで全サーバのグラフが横並びになるため,非常に見にくい. そこで,監視対象のサーバを3-4台程度以下のグループごとに分割してみる.

例えば,以下のような記述を情報集積サーバの /etc/munin/munin.conf に書けば良い.

[groupA;]
[groupA;hoge11.domain1.jp]
   address 192.168.1.11
       use_node_name yes
[groupA;hoge12.domain1.jp]    
    address 192.168.1.12
       use_node_name yes
[groupA;hoge13.domain1.jp]    
    address 192.168.1.13
       use_node_name yes

[groupB;]
[groupB;hoge21.domain1.jp]
   address 192.168.1.21
       use_node_name yes
[groupB;hoge22.domain1.jp]    
    address 192.168.1.22
       use_node_name yes
[groupB;hoge23.domain1.jp]    
    address 192.168.1.23
       use_node_name yes

これ以外にも,「ロードアベレージだけのページ」とか,いくつかの応用例がある. その記載は誰かが書いてくれているはず... 自分で作るのは面倒なので,これも pending.

  情報源

munin に関するセットアップ情報

coretemp に関する情報

古い記述

以下の記述は,ELrepo からの coretemp 取得できなくなったため, munin セットアップのメイン部分から削除した(2011-11-21 確認). 覚え書きの意味で残しておく.

coretemp の導入

# rpm -Uvh http://elrepo.org/elrepo-release-0.1-1.el5.elrepo.noarch.rpm
(CASE: Using Intel Xeon processor)
# yum -y --disablerepo=\* --enablerepo=elrepo install kmod-coretemp lm_sensors
(CASE: Using AMD Opteron processor)
# yum -y --disablerepo=\* --enablerepo=elrepo install kmod-k10temp lm_sensors

以下の記述は,munin 関連ソフトが yum でインストールできる事が判明したので, 不要になった(2010年6月下旬頃に知った).覚え書きの意味で残しておく.

hddtemp の導入

※結局,hddtemp は未使用.以後の記述は不要となったが,記録の意味で残しておく.

ハードディスク温度のモニタリングのため,hddtemp を yum install.

# hddtemp /dev/sdc
/dev/sdc: ST31500341AS: 42°C

と表示されればよし.

smartmontool の導入

※CentOS なら,デフォルトで導入済み... だったかどうか,覚えてない. でも,自分でインストールした記憶に乏しいので,大抵の場合は導入済みだと思われる.

ハードディスク温度のモニタリングのため,smartmontools を yum install.

# yum search smart    ※たくさん表示されるが,この中にある smartmontools を install
# yum install smartmontools
# /usr/sbin/smartctl --all /dev/sdc
 (たくさんの表示.中略)
190 Airflow_Temperature_Cel 0x0022   058   055   045    Old_age   Always       -       42 (Lifetime Min/Max 26/45)
194 Temperature_Celsius     0x0022   042   045   000    Old_age   Always       -       42 (0 20 0 0)
 (まだ続く.以下略)

と Tempreature_Celsius の部分が表示されればよし.

coretemp モジュールの導入

CPUが Xeon の場合, coretemp という kernel module を使い,CPU温度をCPUのレジスタから直接取得(するらしい).というか,lm_sensors の sensors-detect で,有効なセンサーを検出できなかったため,これを使うしかない.

  • coretemp の src.rpm を取得.

http://www.pperry.f2s.com/linux/ 以下より. ここで使用したのは,coretemp-1.1-2.el5.src.rpm

  • rpm をbuild する
# cd /usr/src/redhat/SRPMS/
# rpm -ivh coretemp-1.1-2.el5.src.rpm

   Edit spec file (if you need)
 !! Rebuilind package mentioned above requires to get kernel-xen-header !!
 現在使用中の kernel と同じ release number のものをインストールする.

# uname -r
2.6.18-128.4.1.el5.centos.plus
# yum -y install kernel-xen-devel-2.6.18-128.4.1.el5.centos.plus
# rpmbuild -ba /usr/src/redhat/SPECS/coretemp-kmod.spec

# ls -l /usr/src/redhat/RPMS/x86_64/
total 100
-rw-r--r-- 1 root root  2731 Sep  2 01:16 coretemp-debuginfo-1.1-2.el5.x86_64.rpm
-rw-r--r-- 1 root root 47539 Sep  2 01:16 kmod-coretemp-1.1-2.el5.x86_64.rpm
-rw-r--r-- 1 root root 47526 Sep  2 01:16 kmod-coretemp-xen-1.1-2.el5.x86_64.rpm
# rpm -ivh /usr/src/redhat/RPMS/x86_64/kmod-coretemp-1.1-2.el5.x86_64.rpm
Preparing...                ########################################### [100%]
   1:kmod-coretemp          ########################################### [100%]
  • 次にインストールする lm_sensors のコマンド, sensors-detect を実行する(実行手順は後述)

lm_sensors のセットアップ

  • 事前準備: bison, flex のインストールが必要
 # yum install bison flex 
  • yum install lm_sensors でインストール出来る
  • sensors-detect を実行,特に意味がわからなければ, 質問には全てデフォルトのまま(全てリターン)で良いはず
  • sensors を実行してみる. sensors-detect でうまく情報取得できていれば, CPU温度だけでなくファン回転数や電圧などの情報まで取得できるはず.
  • うまくセンサー(モニタ機能を持つチップなど?)の情報が取れなかったら, 出力は少々さびしいものになる
# LANG=C
# sensors 
coretemp-isa-0000
Adapter: ISA adapter
Core 0:      +48 C  (high =  +100 C)                   

coretemp-isa-0001
Adapter: ISA adapter
Core 1:      +48 C  (high =  +100 C)                   

coretemp-isa-0002
Adapter: ISA adapter
Core 2:      +45 C  (high =  +100 C)                   

coretemp-isa-0003
Adapter: ISA adapter
Core 3:      +45 C  (high =  +100 C)  

MRTG

munin に比べて,かなり面倒.pending.

top コマンド

top コマンドは,監視といっても稼動状況をリアルタイムで確認するときに利用. 自分のジョブが正常に動いているのか(suspend 状態になっていないか,並列実行できているか,など), メモリ使用状況は,などをさっと見る事が出来る.

並列計算時のCPU別負荷を見たければ,top 実行中に "1" (いち)を押してみればいい.

Appendix

  Appendix A. sensors-detect の出力結果サンプル

# sensors-detect

# sensors-detect revision 5729 (2009-06-02 15:51:29 +0200)
# System: Gigabyte Technology Co., Ltd. EP45-UD3P

This program will help you determine which kernel modules you need
to load to use lm_sensors most effectively. It is generally safe
and recommended to accept the default answers to all questions,
unless you know what you're doing.

Some south bridges, CPUs or memory controllers contain embedded sensors.
Do you want to scan for them? This is totally safe. (YES/no): 
Silicon Integrated Systems SIS5595...                       No
VIA VT82C686 Integrated Sensors...                          No
VIA VT8231 Integrated Sensors...                            No
AMD K8 thermal sensors...                                   No
AMD K10 thermal sensors...                                  No
Intel Core family thermal sensor...                         Success!
    (driver `coretemp')
Intel AMB FB-DIMM thermal sensor...                         No
VIA C7 thermal and voltage sensors...                       No

Some Super I/O chips contain embedded sensors. We have to write to
standard I/O ports to probe them. This is usually safe.
Do you want to scan for Super I/O sensors? (YES/no): 
Probing for Super-I/O at 0x2e/0x2f
Trying family `National Semiconductor'...                   No
Trying family `SMSC'...                                     No
Trying family `VIA/Winbond/Fintek'...                       No
Trying family `ITE'...                                      Yes
Found `ITE IT8718F Super IO Sensors'                        Success!
    (address 0x290, driver `it87')
Probing for Super-I/O at 0x4e/0x4f
Trying family `National Semiconductor'...                   No
Trying family `SMSC'...                                     Yes
Found unknown chip with ID 0x0b00

Some systems (mainly servers) implement IPMI, a set of common interfaces
through which system health data may be retrieved, amongst other things.
We first try to get the information from SMBIOS. If we don't find it
there, we have to read from arbitrary I/O ports to probe for such
interfaces. This is normally safe. Do you want to scan for IPMI
interfaces? (YES/no): 
Probing for `IPMI BMC KCS' at 0xca0...                      No
Probing for `IPMI BMC SMIC' at 0xca8...                     No

Some hardware monitoring chips are accessible through the ISA I/O ports.
We have to write to arbitrary I/O ports to probe them. This is usually
safe though. Yes, you do have ISA I/O ports even if you do not have any
ISA slots! Do you want to scan the ISA I/O ports? (yes/NO): 

Lastly, we can probe the I2C/SMBus adapters for connected hardware
monitoring devices. This is the most risky part, and while it works
reasonably well on most systems, it has been reported to cause trouble
on some systems.
Do you want to probe the I2C/SMBus adapters now? (YES/no): 
Using driver `i2c-i801' for device 0000:00:1f.3: Intel ICH10

Next adapter: SMBus I801 adapter at 0500 (i2c-0)
Do you want to scan it? (yes/NO/selectively): 

Next adapter: NVIDIA i2c adapter 0 at 1:00.0 (i2c-1)
Do you want to scan it? (YES/no/selectively): 
Client found at address 0x50
Probing for `Analog Devices ADM1033'...                     No
Probing for `Analog Devices ADM1034'...                     No
Probing for `SPD EEPROM'...                                 No
Probing for `EDID EEPROM'...                                Yes
    (confidence 8, not a hardware monitoring chip)

Next adapter: NVIDIA i2c adapter 1 at 1:00.0 (i2c-2)
Do you want to scan it? (YES/no/selectively): 

Next adapter: NVIDIA i2c adapter 2 at 1:00.0 (i2c-3)
Do you want to scan it? (YES/no/selectively): 

Next adapter: NVIDIA i2c adapter 3 at 1:00.0 (i2c-4)
Do you want to scan it? (YES/no/selectively): 

Next adapter: NVIDIA i2c adapter 4 at 1:00.0 (i2c-5)
Do you want to scan it? (YES/no/selectively): 

Next adapter: NVIDIA i2c adapter 5 at 1:00.0 (i2c-6)
Do you want to scan it? (YES/no/selectively): 
Client found at address 0x50
Probing for `Analog Devices ADM1033'...                     No
Probing for `Analog Devices ADM1034'...                     No
Probing for `SPD EEPROM'...                                 No
Probing for `EDID EEPROM'...                                No
Client found at address 0x51
Probing for `Analog Devices ADM1033'...                     No
Probing for `Analog Devices ADM1034'...                     No
Probing for `SPD EEPROM'...                                 No
Client found at address 0x52
Probing for `Analog Devices ADM1033'...                     No
Probing for `Analog Devices ADM1034'...                     No
Probing for `SPD EEPROM'...                                 No
Client found at address 0x53
Probing for `Analog Devices ADM1033'...                     No
Probing for `Analog Devices ADM1034'...                     No
Probing for `SPD EEPROM'...                                 No

Now follows a summary of the probes I have just done.
Just press ENTER to continue: 

Driver `it87':
  * ISA bus, address 0x290
    Chip `ITE IT8718F Super IO Sensors' (confidence: 9)

Driver `coretemp':
  * Chip `Intel Core family thermal sensor' (confidence: 9)

Do you want to overwrite /etc/sysconfig/lm_sensors? (YES/no): 
lm_sensors を起動中:                                       [  OK  ]

  Appendix B. サーバ移設時の munin 移動

サーバを移設する場合,これまでに保存してきた munin の情報も引き継ぎたい こともあるだろう. 移設するための方法は至極簡単.

旧計算機の munin で集積したデータベースファイルを, 適切に新計算機にコピーすればよい. web のアドレス以下の html やら表示画像は,データベースを元に作りなおされているもの. munin の実行のたびに書き換えられるので, 管理情報の移設時に 旧計算機上の画像たちを移設先にコピーする事は無意味である.

  • DBファイルは,/var/lib/munin/(domain名)/ というディレクトリ以下にある
  • ファイル名は (サーバ名)-(監視対象判別名).rrd (例: hoge.private.com-load-load-g.rrd)

もし,移設に際してホスト名を変更した場合, DBファイル名も新ホスト名に変更せねばならない. 私が使用したサンプル shell script を以下に示す:

#!/bin/sh
workdir=/dev/shm    # Use RAM disk

old_domain=hoge.com
old_server_name=old01

new_domain=hogehoge.com
new_server_name=new02

old_FQDN=${old_server_name}.${old_domain}
new_FQDN=${new_server_name}.${new_domain}

tmp00=$workdir/tmp00_$$.txt

### Copied from /var/lib/munin/
cp -pr /var/lib/munin/${old_domain}  ~/tmp
cd ~/tmp/${old_domain}

#file_list=`find -type f -name "*rrd" | head -2`
file_list=`find -type f -name "*rrd"`
for old_name in $file_list ; do 

cat > ${tmp00} << EOF
{
s/${old_FQDN}/${new_FQDN}/g
}
p
EOF

  new_name=`echo ${old_name} | sed -n -f ${tmp00}`
#  echo "DEBUG: mv ${old_name} ${new_name}"
  \mv -f ${old_name} ${new_name}
done  # i

\rm -f $tmp00

サーバ名変更後,新計算機のデータベース置き場に手動にてコピー. owner/group を munin にするのを忘れないように.

おそらく,もっと単純 & 簡単な方法があるのだろうが, その方法を探すよりも自分でやっちゃった方が早かったので, こんなドロ臭い方法になった.

当然ながらファイル名は任意である. ちなみに,私の場合は rename_munin_DB.sh として $HOME/bin/ 以下のとある場所に保管. 近い将来,確実に再利用するのだが,ファイル名(またはその所在) を忘れる可能性が高い. 自分のために記録.