SUSE Linux のコンピュータの状態をブラウザでチェックする

随分と昔「UNIX の全てが解る」と題した本を買ってしまって、中身が全て sed の使い方で閉口したことがあります。何しろ、 vi は使えてもラインエディタと言えば DOS の edlin 位しか使ったことがないころの話です。それくらい sed は枯れたプログラムなので、使い方によっては便利に使えるだろう、ということで...

Linux にはさまざまなコマンドがあり、多くはテキストで吐き出されます。

しかしテキストデータはブラウザで読むことが出来ません(たまに化けることがあるし、Windows のテキストエディタでは見れない)。もちろんそのためにテキストエディタがあるのだろ、というのはもちろんなのですが、ものぐさな私にとってはいちいち端末を使うのも面倒なのです。何しろどこに何がありどうすれば良いのかいちいち覚えていられません。

ということでシステムの状態をブラウザで見るにはどうすればいいのか、UNIX/Linux なら当たり前についている sed でプレーンテキストを html に変換するスクリプトというのを見つけてしまいました。

こちらに色々あります。

a program for text to html???

ブログには直接貼れないので画面のキャプチャで失礼します。一番簡単そうなのを使ってみました。
SUSE Linux のコンピュータの状態をブラウザでチェックする_a0056607_23242362.gif


※ハイパーバイザーだけ無料の仮想化プラットフォームより、こういった標準ツールを使えるところは XEN サーバーの最大のメリットと言えるでしょう。

これから夏になって、サーバのトラブルがちょっと怖くなったので HDD の S.M.A.R.T 情報を確認できるようにしてみましょう。

smartctl は SUSE Linux で標準に付いてくる S.M.A.T 情報を収集するプログラムです。サンプルとしてこのコマンド出力を、ブラウザで参照出来るスクリプトの例です。

-実際の利用方法-

スクリプトファイルを tex2html.sed という名前で保存します。


sles11~# #
sles11~# # smartctl -a /dev/sda > smart.txt <--- smart の除法を -a 全部ダンプ
sles11~# # sed -f tex2html.sed smart.txt > smart.html <--- sed のスクリプトで html 化
sles11~# # cp smart.html /srv/www/htdocs/smart.html <--- htdocs の下にコピー
sles11~# # chown wwwrun /srv/www/htdocs/smart.html <-- オーナーを変更
sles11~# #


ブラウザからアドレスを指定するとこんな感じでブラウザに表示されます。
SUSE Linux のコンピュータの状態をブラウザでチェックする_a0056607_2328883.gif


他の監視すべき機能のいくつかはこちらに詳しく書かれています。
第2章 システム監視ユーティリティ

ただし、いくつかのパッケージは標準パッケージに含まれていないため、Novell からサブスクリプションを購入して YaST からインストールする必要があります。

sysstat というもっと便利なパッケージがあるようなのでこれを応用すると、簡単なリモート管理ツールを作ることが出来ます。SLES には標準パッケージに含まれていないため、download.novell.com の patch finder から見つけてインストールするか YaST を使ってインストールできるようです。
ただし、色々パッケージの依存関係があるので、リポジトリから導入するのが正解です。

sensors というパッケージでは、メディアにはあるのですが、デフォルトでインストールされないので、 yast から sensors を search してチェックを入れて導入します。

sles:~ # sensors-detect
# sensors-detect revision 5337 (2008-09-19 17:05:28 +0200)

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.

We can start with probing for (PCI) I2C or SMBus adapters.
Do you want to probe now? (YES/no): y
Probing for PCI bus adapters...
Use driver `i2c-piix4' for device 0000:00:14.0: ATI Technologies Inc SB600 SMBus

We will now try to load each adapter module in turn.
Module `i2c-piix4' already loaded.
If you have undetectable or unsupported I2C/SMBus adapters, you can have
them scanned by manually loading the modules before running this script.

We are now going to do the I2C/SMBus adapter probings. Some chips may
be double detected; we choose the one with the highest confidence
value in that case.
If you found that the adapter hung after probing a certain address,
you can specify that address to remain unprobed.

Some chips are also 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): y
Probing for `National Semiconductor LM78' at 0x290... No
Probing for `National Semiconductor LM78-J' at 0x290... No
Probing for `National Semiconductor LM79' at 0x290... No
Probing for `Winbond W83781D' at 0x290... No
Probing for `Winbond W83782D' at 0x290... No
Probing for `IPMI BMC KCS' at 0xca0... No
Probing for `IPMI BMC SMIC' at 0xca8... No

Some Super I/O chips may also contain 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): y
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'... No
Probing for Super-I/O at 0x4e/0x4f
Trying family `National Semiconductor'... No
Trying family `SMSC'... No
Trying family `VIA/Winbond/Fintek'... Yes
Found unknown chip with ID 0x0723

Some south bridges, CPUs or memory controllers may also contain
embedded sensors. Do you want to scan for them? (YES/no): y
Silicon Integrated Systems SIS5595... No
VIA VT82C686 Integrated Sensors... No
VIA VT8231 Integrated Sensors... No
AMD K8 thermal sensors... No
AMD K10 thermal sensors... Success! <--- 見つけたらしい
(driver `to-be-written')
Intel Core family thermal sensor... No
Intel AMB FB-DIMM thermal sensor... No
VIA C7 thermal and voltage sensors... No

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

Driver `to-be-written' (should be inserted):
Detects correctly:
* Chip `AMD K10 thermal sensors' (confidence: 9)

Do you want to overwrite /etc/sysconfig/lm_sensors? (YES/no): y
sles:~ #


この後、一度システムをリブートする必要があります。

これでCPUの内部温度の監視ができるようになります。

が、あまりに貧弱なマシンの都合で正しく検出できないようだったので、同じ操作を openSUSE が動くマシンで実行してみました。

---
センサーが認識できた場合

mutant:~ # sensors
radeon-pci-0008
Adapter: PCI adapter
temp1: +48.0°C

k10temp-pci-00c3
Adapter: PCI adapter
temp1: +48.1°C (high = +70.0°C)
(crit = +75.0°C, hyst = +72.0°C)

mutant:~ #



やはり、ちゃんとアクティベーションコードを購入して、最新のハードウェアのセンサーを取得することをお勧めします。


このほかに proc や meminfo などの情報を html 化して、ブラウザからちょこっと管理するという方法もあるというわけです・・

HP や Dell などのメーカー品であれば、管理ツールは無償(もしくは有償の高機能品)が使えますが、ホワイトボックスサーバーなどの場合は、管理ツールを工夫することで、「ある程度」使い物になる監視ツールとなります。

もちろん webmin 使った方がいいよ、というご意見もあります。

もっともログが読めることと理解できることに違いがあることは勿論です、

-オチ-

どうも機材の動作がおかしいなと思ったらCPUファンが壊れていました.....


SUSE Linux 15 での vmstat, sysstat のインストールと利用法
https://islandcnt.exblog.jp/239846987/

-keyword-

SUSE Linux リモート管理 温度管理 SMART管理 XEN 仮想化ホストのハードウェア管理

islandcenter.jp

by islandcenter | 2012-06-27 17:30 | SUSE | Comments(0)