この章では,以下の項目について説明します。
基本的なモニタリング・ガイドラインとユーティリティの概要,および関連するトピックの参照先 (11.1 節)
一部のモニタリング・ユーティリティについての詳細 (11.2 節)
温度や,冷却ファンが動作しているかどうかなど,システムのハードウェア・ステータスを監視する,環境モニタリング。 この機能を使用するためには,このようなモニタリングをサポートするセンサをハードウェアが備えている必要があります。 すべてのシステムがこの機能をサポートしているわけではありません (11.3 節)。
システム・コンポーネントであるテスト・ユーティリティの使用方法。 システム・ハードウェアにもテスト・ルーチンが用意されています。 詳細については,オーナーズ・マニュアルを参照してください (11.4 節)。
システム・デバイス (ディスクやテープなど) の特性についての詳細は,『ハードウェア管理ガイド』の
hwmgr
コマンドを参照してください。
システムのモニタリングには,動作状況のパラメータ (CPU 負荷や I/O スループットなど) のベースラインを取得するための,基本的なコマンドおよびオプション・ユーティリティを使用します。 稼働中のシステムの動作状況をモニタリング,記録,比較するためにこれらのベースラインを使用することで,システムが動作要件からかけ離れないようにできます。
システムのモニタリングを行うと,ユーザがシステムやその周辺機器を利用できなくなるような問題を事前に見つけ,防止することもできます。 モニタリング・ユーティリティの情報により,システム・パニックやディスク・クラッシュなどの予期しないイベントに対し素早く対処し,問題を素早く解決してシステムをオンラインに戻すことができます。
モニタリングのトピックは,テクニカル・サポート上のニーズに深く関わっています。 この章で説明するユーティリティには,二重の機能を持つものがあります。 リアルタイムのシステム・モニタリングとは別に,これらのユーティリティはテクニカル・サポート担当者が使用する履歴データやイベント固有データも収集します。 このデータは,オペレーティング・システムやハードウェアの障害後,迅速にシステムを立ち上げて稼働させるために必要になることがあります。 少なくとも,11.1.1 項のモニタリング・ガイドラインに従ってください。
テストでは,システムの部品や周辺デバイス (ディスクなど) を試験するツールやユーティリティを使用します。 利用可能なテスト・ユーティリティについては,この章で説明します。 システム・ハードウェアにも,コンソール・プロンプトで実行できるテスト・ユーティリティが用意されています。 ハードウェア・テスト・コマンドについては,オーナーズ・ガイドを参照してください。
11.1.1 項では,システムのモニタリングの一般的なガイドラインについて説明します。
11.1.2 項では,オペレーティング・システムに用意されているすべてのユーティリティについて概要を説明します。
11.1.1 システムのモニタリングの概要
目的の動作に合わせてシステムを構成した後で,次の手順を実行してください。
毎日使用するモニタリング・ユーティリティを選択する。
11.1.2 項にある,モニタリング・ユーティリティの概要を参照してください。
システム構成に基づいて,構成およびモニタリングの要件に合うユーティリティを選択します。
たとえば,グラフィック・ターミナルがあり,分散システムのモニタリングを行う場合は,SysMan Stationをセットアップすることを考慮してください。
単一のローカル・サーバのモニタリングを行う場合は,dxsysinfo
ウィンドウで十分です。
必要に応じて,警告やメッセージを表示するトリガーとなる属性を設定します。 たとえば,ファイル・システムが満杯になってデータが紛失するのを防ぐには,85% で満杯になるような制限をすべてのファイル・システムに設定できます。
注意
多くのオプション・サブシステムには,独自のモニタリング・ユーティリティが用意されています。 これらのインタフェースを十分に理解し,一般のユーティリティよりも適しているかどうかを判断してください。
ベースラインを確定する。
sys_check
ユーティリティを
-all
オプションを指定して実行し,次の処理を行います。
負荷のない状態でのベースラインを確定する。
チューニングが必要なシステム属性がないか調べる。
必要であれば,sys_check
ユーティリティの情報を使用して,システムの属性をチューニングします。
システムのチューニングについては,『システムの構成とチューニング』を参照してください。
このベースラインのデータを,別のシステム上など,後で簡単にアクセスできる場所に保管します。
また,このレポートのコピーを印刷することもできます。
負荷のある状態で
sys_check
ユーティリティを実行する。
システムに適度な負荷がかかっている状態で,sys_check
ユーティリティを実行します。
モニタリングしたいオプション (-perf
など) だけを選択します。
この操作は,システムの性能に多少影響を与えることがあるため,エンドユーザの使用がピークになる時間帯を避けて実行してください。
sys_check
ユーティリティの出力を分析し,動作要件に合わせるために変更が必要であれば追加で変更します。
この操作では,システム属性のチューニングがさらに必要となる場合や,クラス・スケジューラなどのユーティリティによるシステム・リソースの再配置などの構成の変更が必要となる場合もあります。
sys_check
ユーティリティの使用方法については,11.2.2 項を参照してください。
Event Managerをセットアップする。
モニタリング方式を選択すると同時に,システムのイベント管理ログおよびレポート方式を構成します。 Event Manager の構成方法については,第 13 章および第 12 章を参照してください。
モニタリング・ユーティリティを構成する。
使用するモニタリング・ユーティリティが他にあれば,セットアップします。 たとえば,次の処理を行います。
11.2.2 項で説明しているように,cron
ユーティリティを
runsyscheck
スクリプトとともに使用して,sys_check
ユーティリティがオフ・ピーク時に定期的に実行されるように構成します。
定期的に更新されるレポートは,システムの障害時に,問題の分析およびトラブルシューティングに役立ちます。
注意
システムの問題の診断には,クラッシュ・ダンプ・データが必要になる場合もあります。 クラッシュ・ダンプ環境の構成については,第 14 章を参照してください。
オプションの性能ユーティリティをインストールして構成します。 ターゲット・システムでサポートされている場合は,11.3 節で説明しているように,環境モニタリングも構成してください。
オペレーティング・システムには,多数のモニタリング・コマンドおよびユーティリティが用意されています。 システム・データの単純なスナップショットを数値形式で返却するコマンドもあれば,情報を選択したりフィルタリングするオプションを多数持つコマンドもあります。 また,リアル・タイムでシステム・データをフィルタリングして追跡し,そのデータをグラフィック・ターミナルに表示する,複雑なグラフィカル・ユーザ・インタフェースもあります。
ローカルな環境やモニタリングの要件に最適なモニタリング・ユーティリティを選択してください。 また,次の事項を考慮してください。
モニタリング・ユーティリティを使用すると,システムの性能に影響を与えることがあります。
入出力のボトルネックなどの性能上の問題の診断に利用する場合は,iostat
などの簡単なコマンドが適しています。
シングルユーザ・システム上のリソースを素早く視覚的に検査する場合は,X11 システム情報インタフェース (dxsysinfo
) が適しています。
root ユーザ専用のユーティリティと,すべてのシステム・ユーザがアクセスできるユーティリティがあります。
エンタプライズ・レベルのモニタリングでは,SysMan Station を使用すると,多数のシステムの状態を同時に 1 つの画面に表示できます。
エンタプライズ・レベルで資産を追跡管理したり,どのオプションがどのシステムにインストールされているかを確認する (およびそのオプションが正しく動作するかどうかを確認する) には,UNIX サーバおよびクライアント PC システムの両方で,Web ベースの HP Insight Manager ユーティリティを使用できます。
問題の診断時に,モニタリング・ユーティリティからの出力をテクニカル・サポート・サイトに渡さなければならないことがあります。 問題が発生する前に,システムのベースラインを調査し,定期的なモニタリングとデータ収集のスケジュールを決めておくと,システムのダウン時間を大幅に短縮できます。
以降の項では,モニタリング・ユーティリティについて説明します。
11.1.2.1 コマンド行ユーティリティ
各種のシステム統計情報のスナップショットを表示するには,以下のコマンドを使用します。
vmstat
vmstat
コマンドは,仮想メモリ,プロセス,トラップ,および CPU 動作のシステム統計情報を表示します。
vmstat
の出力例を次に示します。
bigrig> vmstat Virtual Memory Statistics: (pagesize = 8192) procs memory pages intr cpu r w u act free wire fault cow zero react pin pout in sy cs us sy id 2 97 20 8821 50K 4434 653K 231K 166K 1149 142K 0 76 250 194 1 1 98
詳細については,
vmstat
(1)
iostat
iostat
コマンドは,端末およびディスクの入出力情報と,各種の動作の実行に使用された CPU 時間の割合を報告します。
iostat
の出力例を次に示します。
bigrig> iostat tty floppy0 dsk0 cpu tin tout bps tps bps tps us ni sy id 0 1 0 0 3 0 0 0 1 98
詳細については,
iostat
(1)
who
who
コマンドは,ローカル・システムのユーザとプロセスの情報を報告します。
who
の出力例を次に示します。
bigrig>who # who root console Jan 3 09:55 root :0 Jan 3 09:55 root pts/1 Jan 3 09:55 bender pts/2 Jan 3 14:59 root pts/3 Jan 3 15:43
類似のコマンド
users
があります。
これは,ログインしているユーザについて,簡潔なリストを表示します。
詳細については,
who
(1)users
(1)
uptime
uptime
コマンドは,システムが稼働した時間を報告します。
bigrig> uptime 16:20 up 167 days, 14:33, 4 users, load average: 0.23, 0.24, 0.24
詳細は,
uptime
(1)
uptime
と同じ情報を表示する,類似のコマンド
w
がありますが,w
はログインしているユーザの情報も表示します。
詳細は,
w
(1)
netstat
netstat
コマンドは,ネットワーク関連の統計情報を,各種のフォーマットで表示します。
ネットワークのモニタリングの詳細は,netstat
コマンドと『ネットワーク管理ガイド:接続編』を参照してください。
11.1.2.2 SysMan Menu のモニタリング作業およびチューニング作業
SysMan Menu には,いくつかのモニタリング作業のオプションがあります。 SysMan Menu の使用方法についての一般的な説明は,第 1 章を参照してください。 [モニタリング/チューニング] メニュー項目下には,以下のオプションがあります。
このオプションは,EVM イベント・ビューア (第 13 章を参照) を起動します。
HP Insight Manager を構成して HP Insight Manager デーモンを開始するインタフェースを起動します。 HP Insight Manager の構成については,第 1 章を参照してください。
11.1.2.1 項で説明した
vmstat
コマンドへの SysMan Menuインタフェースです。
11.1.2.1 項で説明した
iostat
コマンドへの SysMan Menuインタフェースです。
11.1.2.1 項で説明した
uptime
コマンドへの SysMan Menuインタフェースです。
この他,[サポートとサービス] メニュー項目の下には以下のオプションがあります。
このオプションによって,sys_check
ユーティリティのエスカレーション・レポート機能を起動します。
エスカレーション・レポートは診断サービスの際にのみ使用され,テクニカル・サポート部門がこのレポートを必要とします。
sys_check
ユーティリティのエスカレーション・オプションの使用方法についての詳細は,11.2.2 項を参照してください。
このオプションによって,sys_check
ユーティリティのシステム構成レポート機能を起動します。
このオプションを使用すると,システム構成のベースラインを記録し,定期的にベースラインを更新できます。
このオプションを使用すると,省略時の完全なレポートが作成されますが,完了までに長い時間がかかり,システムの性能に影響を与える可能性があります。
sys_check
ユーティリティの使用方法についての詳細は,11.2.2 項を参照してください。
SysMan Stationは 1 つ以上のシステムをグラフィカルに表示でき,どのシステム上でも管理作業を行うためのアプリケーションを起動することができます。
SysMan Stationの使用方法については,第 1 章を参照してください。
11.1.2.4 X11 準拠のグラフィカル・ユーザ・インタフェース
オペレーティング・システムには,省略時の共通デスクトップ環境 (CDE) ウィンドウ環境下で一般的に使用されるいくつかのグラフィカル・ユーザ・インタフェース (GUI) があります。 これは「システム管理」フォルダにあります。
これらのインタフェースは,CDE フロント・パネルの「SysMan アプリケーション」パネルから起動できます。
「SysMan アプリケーション」パネルの詳細は,図 1-5
を参照してください。
ここには,「モニタリング/チューニング」フォルダ,「ツール」フォルダ,および「日常管理」フォルダを指すアイコンがあります。
「モニタリング/チューニング」フォルダ
このフォルダには,以下の SysMan Menu の項目を起動するアイコンがあります。
このアイコンは,sys_check
ユーティリティのシステム構成レポート機能のグラフィカル・ユーザ・インタフェースを起動します。
このアイコンは,sys_check
ユーティリティのエスカレーション・レポート機能のグラフィカル・ユーザ・インタフェースを起動します。
このアイコンは,HP Insight Manager を構成して HP Insight Manager デーモンを開始するインタフェースを起動します。
このフォルダ内の残りのアプリケーションは,システムのチューニングに関連するアプリケーションです。
プロセス・チューナ (nice
コマンドへのグラフィカル・ユーザ・インタフェース) およびカーネル・チューナ (dxkerneltuner)
を使用するチューニングについては,『システムの構成とチューニング』を参照してください。
「ツール」フォルダ
「ツール」フォルダには,vmstat
などのコマンドへのグラフィカル・ユーザ・インタフェースが用意されています。
これらのインタフェースは,CDE フロント・パネルから「アプリケーション・マネージャ」アイコンを選択して「アプリケーション・マネージャ」フォルダから,「システム管理」アイコン,「ツール」アイコンの順で選択します。
このフォルダには,以下のインタフェースが用意されています。
iostat
コマンド (11.1.2.1 項参照) へのグラフィカル・ユーザ・インタフェースです。
netstat
コマンドへのグラフィカル・ユーザ・インタフェースです。
ネットワークのモニタリングについては,『ネットワーク管理ガイド:接続編』を参照してください。
/var/adm/messages
ログ・ファイルへのグラフィカル・ユーザ・インタフェースです。
このファイルには,システム・イベント管理の現在の設定内容に応じて特定のシステム・メッセージが格納されます。
イベント,イベントが生成するメッセージ,メッセージ・ログ・ファイルについては,第 12 章および第 13 章を参照してください。
vmstat
コマンド (11.1.2.1 項参照) へのグラフィカル・ユーザ・インタフェースです。
who
コマンド (11.1.2.1 項参照) へのグラフィカル・ユーザ・インタフェースです。
「日常管理」フォルダ
この他の X11 準拠モニタリング・アプリケーションは,「システム情報」です。 これは 「アプリケーション・マネージャ - 日常管理」フォルダにあります。
このインタフェースを起動するには,「システム情報」(dxsysinfo
) アイコンをクリックします。
このインタフェースを使用すると,以下のシステム・リソースおよびデータを素早く参照することができます。
プロセッサ (CPU) の数とタイプの簡単な説明
UNIX オペレーティング・システムのバージョンと,利用可能なシステム・メモリの量
CPU 動作,使用中のメモリ,および使用中の仮想メモリ (スワップ) の量の概算を示す,3 つの表示。
この情報は,vmstat
などのコマンドを使用しても取得できます。
ファイルおよびスワップ用の,2 つの警告インジケータ。 いずれかのファイル・システムがほぼ満杯になるか,スワップ領域の量が少なすぎる場合は,これらのインジケータの色が変わります。
すべてのローカルおよびリモート・マウントのファイル・システムの,現在利用可能なスペースの状況。 ここでは,利用可能なスペースが一定の割合を下回った場合に警告インジケータを表示するように,限界値を割合で設定できます。 利用可能なファイル・システム・スペースを増やす方法については,第 6 章および第 9 章を参照してください。
以下のユーティリティには,多数の動作パラメータを参照し記録するオプションがあります。
collect
collect
ユーティリティを使用すると,事前に決めたサンプリング期間の間,多くの種類のシステム・データやプロセス・データを同時にサンプリングできます。
情報をデータ・ファイルに収集し,端末でそのファイルを再生することができます。
collect
ユーティリティを使用すると,性能上の問題の診断に役立ちます。
また,テクニカル・サポート・サービスがシステムの問題解決の手助けをする際に,このユーティリティの出力結果を必要とすることがあります。
collect
ユーティリティの使用方法については,11.2.1 項を参照してください。
詳細は,インストレーション・キットにある『Collect User's Guide』を参照してください。
sys_check
ユーティリティsys_check
ユーティリティは,システム構成および多数のシステム属性の現在の設定を恒久的に記録するために使用する,コマンド行インタフェースです。
このユーティリティの詳細は,11.2.2 項で説明しています。
MPH (Monitoring Performance History) ユーティリティは,オペレーティング・システムやハードウェア環境の信頼性や可用性の情報 (クラッシュ・データ・ファイルなど) を収集するシェル・スクリプト群です。 このユーティリティの詳細は,11.2.3 項で説明しています。
本書の以下のトピックは,システムのモニタリングおよびテストに密接に関連しています。
プリンタなどのリソースへのアクセスをモニタリングして記録することが可能なシステム課金サービスの管理については,第 10 章を参照してください。
基本的な
binlogd
および
syslogd
イベント・チャネルを使用した基本システム・イベント・ロギングの構成および使用の手順については,第 12 章を参照してください。
この章では,イベントやエラーが記録されているシステム・ログ・ファイルへのアクセス方法も説明しています。
特定のタイプのイベントへの自動応答など,高度なシステム・イベント管理が可能なイベント・マネージャ (EVM) の構成および使用については,第 13 章を参照してください。
次のマニュアルにも,システム・モニタリングとテストについての追加情報が含まれています。
システムのモニタリングおよびテストで収集した情報に従って,システムをチューニングする方法については,『システムの構成とチューニング』を参照してください。
システムのネットワーク構成要素のモニタリングについての詳細は,『ネットワーク管理ガイド:接続編』を参照してください。
以降の項では,いくつかのモニタリング・ユーティリティを紹介し,セットアップ方法と使用方法について説明します。 詳細については,各アプリケーションに付属のドキュメントおよびリファレンス・ページを参照してください。 グラフィック環境を備えたシステムのモニタリング用に SysMan Station を構成して使用する方法については,第 1 章を参照してください。
イベント管理とエラー・ロギングは,密接に関連するトピックです。
これらのトピックについては,第 12 章および第 13 章を参照してください。
11.2.1 collect ユーティリティによるシステム・データの記録
/usr/sbin/collect
コマンド行ユーティリティは,現在のシステム状態を示すデータを収集します。
このユーティリティを使用すると,多数のパラメータから選択してソートすることや,データ収集期間を指定することができます。
データはリアルタイムに表示できますが,後で分析したり再生するためにファイルに記録することもできます。
collect
ユーティリティを使用したために発生する CPU のオーバヘッドは少しだけです。
これは,記録するシステム動作だけに焦点を置くことができるので,システムの性能に悪影響を与えないためです。
何も指定しないで
/usr/sbin/collect
コマンドを実行すると,出力は
vmstat
,iostat
,または
netstat
などのモニタリング・コマンドを実行した場合と同じようになります。
コマンド構文の詳細は,
collect
(8)collect
ユーティリティの重要な機能は,以下のとおりです。
データのサンプルを取得する期間と頻度を制御します。 プロセッサの使用量に従って,出力をソートします。
データ・レコード・ファイルから,データのタイム・スライスを抽出します。 たとえば,使用量が最も多い時間帯でのシステム・パラメータをいくつかを参照したい場合,-C オプションを使用すると,データ・ファイルからデータを抽出できます。
デバイス特殊ファイル名を使用して,特定のデバイスを指定します。 たとえば,次のコマンドでは,指定したデバイスからデータを収集するように指示しています。
# collect -sd -Ddsk1,dsk10
CPU やネットワークなど特定のサブシステムを指定します。 たとえば,次のコマンドでは,CPU のデータだけを収集することを指定しています。 また,データのサンプルをコマンドの下に示します。
# collect -e cf CPU SUMMARY USER SYS IDLE WAIT INTR SYSC CS RUNQ AVG5 AVG30 AVG60 FORK VFORK 13 16 71 0 149 492 725 0 0.13 0.05 0.01 0.30 0.00 SINGLE CPU STATISTICS CPU USER SYS IDLE WAIT 0 13 16 71 0
-H (履歴) オプションを使用して,一連のデータ・ファイルを記録し保存します。
記憶域を節約するために,データ・ファイルは圧縮されます。
データのサンプルを取得するユーザ,グループ,およびプロセッサを指定します。
-p オプションを使用して,データ・ファイルを再生します。 -f オプションを使用すると,複数のバイナリ入力ファイルを,1 つのバイナリ出力ファイルにまとめることができます。
collect
ユーティリティはページ・ロック関数
plock()
を使用して,自分自身をメモリ内にロックします。
このためシステムは,このユーティリティをスワップ・アウトすることはできません。
またこのユーティリティは,優先順位関数
nice()
を使用して,自身の優先順位を上げます。
必要であれば,-ol
コマンド・オプションを使用してロックを無効にでき,-on
コマンド・オプションを使用して優先順位の設定を無効にできます。
ただし,負荷の高いシステムで
collect
ユーティリティを使用しても最小限の影響しかありません。
11.2.2 sys_check ユーティリティの使用
sys_check
ユーティリティを使用すると,次の処理ができます。
ソフトウェアとハードウェアの両方のシステム構成情報のベースラインを確定し,Web ブラウザで簡単にアクセスできる HTML 形式のレポートとして記録することができます。 このレポートは定期的に再作成するか,システム構成が変化したときに再作成することができます。
多数のシステム属性 (チューニング・パラメータなど) の自動検査を実行することができ,現在のシステムの使用状況にもっと適した設定についてのフィードバックを受け取ることができます。
sys_check
は,推奨される保守作業 (パッチ・キットのインストールやスワップ領域の保守など) についても,検査しレポートします。
テクニカル・サポート・サービスがシステムの問題の診断や修正に使用する,問題のエスカレーション・レポートを作成できます。
現在のハードウェアおよびソフトウェアの構成を記録する他に,sys_check
ユーティリティはシステム性能状況のパラメータの拡張ダンプを作成できます。
この機能を使用すると,多数のシステム属性値を記録でき,システム・データの有用なベースラインを得ることができます。
このようなベースラインは,大規模な変更や,トラブルシューティングを行う際には,特に役立ちます。
sys_check
ユーティリティを実行すると,HTML ドキュメントが標準出力に出力されます。
-escalate
フラグを指定してこのスクリプトを実行すると,特に指定しなければ
$TMPDIR/escalate*
出力ファイルが作成されます。
環境変数
$TMPDIR
によって,現在の一時ディレクトリが決まります。
これらのファイルをテクニカル・サポート部門に転送し,システムの問題やエラーの診断に使用することができます。
コマンド・オプションの完全なリストを表示するには,次のコマンドを実行します。
# /usr/sbin/sys_check -help
sys_check
ユーティリティが生成する出力は,通常 0.5 MB 〜 3 MB のサイズで,検査の完了までに 30 分〜 1 時間かかります。
各種のコマンド・オプションの詳細は,
sys_check
(8)sys_check
ユーティリティはインストールされているソフトウェアを記録するために
setld
を実行します。
setld
動作を除外すると,sys_check
の実行期間を大幅に短縮できます。
標準の
sys_check
実行タスクは,次の方法で起動することができます。
CDE を使用して,CDE フロント・パネルから「アプリケーション・マネージャ」をオープンします。
「システム管理」を選択してから,「モニタリング/チューニング」を選択します。
標準の
sys_check
実行タスクのアイコンが 2 つ (「構成レポート」と「エスカレーション・レポート」) 表示されます。
SysMan Menu を使用して,[サポートとサービス] メニュー項目を展開し,次のオプションから選択します。
エスカレーション・レポートの作成
構成レポートの作成
SysMan Menu の使用方法については,第 1 章を参照してください。
root の
crontabs
ファイルでオプションを有効にすることで,sys_check
タスクを自動的に実行することができます。
/var/spool/cron/crontabs
ディレクトリの
root
ファイルには,cron
が定期的に起動する省略時のタスクのリストが入っています。
次の行からコメント (#
) コマンドを削除してください。
#0 3 * * 0 /usr/share/sysman/bin/runsyscheck
このオプションを有効にすると,結果のレポートを HP Insight Manager が参照します。
そのため,HP Insight Manager のデバイス・ホーム・ページの「Tru64 UNIX 構成レポート」アイコンを選択して,参照することができます。
HP Insight Manager の詳細は,第 1 章を参照してください。
11.2.3 Monitoring Performance History ユーティリティの使用
MPH (Monitoring Performance History) ユーティリティは,オペレーティング・システムとそのハードウェア環境の信頼性や可用性の情報 (クラッシュ・データ・ファイルなど) を収集するシェル・スクリプト群です。 この情報は,インターネット・メールまたは DSN リンク (利用可能な場合) によって,システムのベンダに自動的にコピーされます。 このデータを使用して性能分析レポートが作成され,開発グループおよびサポート・グループに配布されます。 この情報は,信頼性の高い高可用性のシステムの設計を改善するために,システム・ベンダの内部でのみ使用されます。
MPH の処理は自動的に実行されるため,ユーザの操作は不要です。 初回の構成に,約 10 分かかります。 MPH は,システムの性能に影響を与えたり,低下させることはありません。 これは,MPH がわずかな CPU リソースを使用して,バックグラウンド・タスクとして実行されるためです。 収集データおよびアプリケーションに必要はディスク・スペースは,1 システムあたり約 300 ブロックです。 この値は,エラーの数が多いと若干大きくなることがあります。 またこの値は,初回の実行でベースラインを確立する際には,かなり大きくなります (ただし,これは 1 回だけです)。
MPH ユーティリティは,次のように動作します。
10 分ごとに,システムが動作中であることを示すタイムスタンプを記録します。
毎日午前 2:00 に,省略時のイベント・ログ
/var/adm/binary.errlog
から新たに追加されたイベント・レコードを抽出します。
毎日午前 3:00 に,イベントおよびタイムスタンプのデータ,/var/adm/crash
内の新しい
crashdc
データ・ファイルを,システム・ベンダに転送します。
平均の転送量は,データ 150 ブロックです。
MPH を実行する前に,次の情報について確認してください。
Standard Programmer Commands (Software Development) の OSFPGMR400 サブセットがインストールされていなければなりません。
setld
-i
コマンドを使用すると,このサブセットがインストールされているか確認できます。
MPH ソフトウェア・キットは,必須のベース・ソフトウェア・サブセット OSFHWBASE400 に含まれています。
このサブセットは,オペレーティング・システムのインストレーション時に自動的にインストールされます。
完全なドキュメントは,/usr/field/mph/unix_installation_guide.ps
にあります。
テキスト・ファイルのドキュメントも利用できます。
MPH ソフトウェア・サブセットで必要となるディスク・スペースは,約 100 ブロックです。
MPH をシステムに構成する人は,root ユーザでなければならず,ターゲット・システムの主管理者でなければなりません。 MHP を構成する際には,名前,電話番号,e-mail アドレスを入力する必要があります。 次の手順で実行します。
ターゲット・システムのシリアル番号 (SN) を調べます。 この番号は通常,システム本体の背面に記録されています。 インストレーション・スクリプトを完了させるには,この番号が必要です。
次のコマンドを入力して,MPH スクリプトを実行します。
# /usr/field/mph/MPH_UNIX***.CSH
ここで,***
はバージョン番号 (025 など) です。
スクリプトが要求する情報を入力します。 スクリプトの実行が完了したら,MPH が自動的に開始されます。
何らかの理由でオペレーティング・システムをシャットダウンする必要がある場合は,正常なシャットダウン処理に従わなければなりません。
従わなかった場合は,MPH のドキュメントで説明されているように,MPH スクリプトを再起動しなければなりません。
詳細については,
mph
(1)11.3 環境モニタリングと envmond/envconfig
どのようなシステムでも,換気の悪さ,過熱状態,あるいはファンの故障のために温度が上昇することがあります。
このような状態が検出されなければ,予期しないシャットダウンのためにシステムのデータが失われたり,システム自体が損傷する恐れがあります。
環境モニタリング機能を使用すると,前もって警告されるため,システムを回復したり,通常の段階的なシャットダウンを実行することができます。
コマンド行からの環境モニタリング
次のように
sysconfig
コマンド行ユーティリティを使用して,システム環境の状態のモニタリングを行えます。
# /sbin/sysconfig -q envmon
このコマンドを使用すると,現在の温度,ファンの状態,その他の一般的な環境情報がレポートされます。
環境センサのモニタリング
少数の最新のハードウェア・プラットフォームには,プロセッサの温度やファンの回転速度しきい値など,温度環境をモニタリングする機能が備わっています。 root で次のコマンドを実行して,ご使用中のハードウェア・プラットフォームにこの機能が備わっているかどうかを調べてください。
# /sbin/hwmgr view hier | grep sensor 52: sensor systhermal-cpu0 53: sensor systhermal-cpu1 54: sensor systhermal-cpu2 55: sensor systhermal-pci_zone-1 56: sensor systhermal-pci_zone-2 57: sensor systhermal-pci_zone-3 58: sensor sysfan-pci_zone-1/2 59: sensor sysfan-power_supply-3/4 60: sensor sysfan-cpu_memory-5/6 61: sensor syspower-ps-0 62: sensor syspower-ps-1 63: sensor syspower-ps-2
このコマンドの出力には,個々のアクティブなセンサが表示されます。
出力がなかった場合,これらの機能はご使用中のプラットフォームには備わっていません。
これらのセンサは,しきい値に達した場合,Event Manager にイベントをポストします。
Event Manager ログ・ファイルを参照して Hardware Manager コマンド行プログラムを使用すると,どの構成要素がクリティカルになっているかがわかります。
Event Manager の詳細は,第 13 章を参照してください。
Hardware Manager コマンド行ユーティリティの詳細は,『ハードウェア管理ガイド』と
hwmgr
(8)HP Insight Manager
HP Insight Manager でも 「回復->環境」画面によって,環境条件のモニタリングが行えます。
詳細は,『HP Management Agents for AlphaServers for Tru64 UNIX』を参照してください。
envmond/envconfig フレームワーク
環境モニタリングのフレームワークは,4 つのコンポーネントから構成されています。
ロード可能カーネル・モジュールおよびその関連 API
Server System MIB サブエージェント・デーモン
envmond
デーモン
envmond
デーモンはシステム環境のモニタリングのために使用します。
詳細は,
envmond
(8)
envconfig
ユーティリティ
envconfig
ユーティリティを使用すると,envmond
デーモンをカスタマイズできます。
詳細は,
envconfig
(8)
これらのコンポーネントについて,以下の各項で説明します。
11.3.1 ロード可能カーネル・モジュール
ロード可能カーネル・モジュールおよびその関連 API には,システムのしきい値レベルをモニタして状態を返すために必要なパラメータが含まれています。 カーネル・モジュールは,11.3.1.1 項で説明するように,カーネル構成マネージャ (CFG) インタフェースを介してのみサーバ管理属性をエクスポートします。 これは,サーバ管理をサポートするすべてのプラットフォームで動作するとともに,開発中の他のサーバ管理システムとの互換性を提供します。
ロード可能カーネル・モジュールには,プラットフォーム固有のコード (状態レジスタの位置など) は含まれていません。 カーネル・モジュールは,どのオプションがプラットフォームでサポートされているのかを意識する必要がありません。 つまり,カーネル・モジュールおよびプラットフォームは,オプションがサポートされている場合には有効なデータを返し,サポートされないオプションに対しては一定の値またはヌルを返すように設計されています。
ロード可能カーネル・モジュールは,表 11-1
に示すパラメータをカーネル構成マネージャ (CFG) にエクスポートします。
表 11-1: カーネル・モジュールで定義されているパラメータ
パラメータ | 用途 |
env_current_temp |
システムの現在の温度を指定します。 システムに KCRCM モジュールを構成している場合,返される温度は摂氏です。 システムが温度の読み取りをサポートしておらず,温度がしきい値を超えていない場合は,-1 が返されます。 システムが温度の読み取りをサポートしておらず,温度がしきい値を超えている場合には,-2 が返されます。 |
env_high_temp_thresh |
システム固有の動作温度のしきい値を指定します。 返される値は,ハードコードされたプラットフォーム固有の温度です。 単位は摂氏です。 |
env_fan_status |
危険ではないファンの状態を指定します。 返される値はゼロ (0) のビット値です。 この機能に対してハードウェア・サポートがある場合には,この値は異なります。 |
env_ps_status |
冗長電源の状態を指定します。 冗長電源の故障のために割り込みを行うプラットフォームでは,対応するエラー状態ビットを読み込んでリターン値を決定します。 エラーの場合には値 1 が返され,それ以外の場合には ゼロ (0) が返されます。 |
env_supported |
プラットフォームがサーバ管理および環境モニタリングをサポートしているかどうかを示します。 |
ロード可能カーネル・モジュールは,照会されているプラットフォームに基づいて環境状態を返さなければなりません。
環境状態を取得するには,get_info()
関数を使用します。
get_info()
関数の呼び出しは,platform_callsw[]
テーブルを通してフィルタにかけられます。
get_info()
関数は,表 11-2
に示す関数タイプを使用して,動的な環境データを取得します。
表 11-2: get_info() 関数タイプ
関数タイプ | 関数の使用 |
GET_SYS_TEMP |
KCRCM モジュールが構成されているプラットフォーム上のシステムの内部温度を読み取ります。 |
GET_FAN_STATUS |
エラー・レジスタからファンの状態を読み取ります。 |
GET_PS_STATUS |
エラー・レジスタから冗長電源の状態を読み取ります。 |
get_info()
関数は,HIGH_TEMP_THRESH
関数タイプを使用して静的なデータを取得します。
この関数タイプは,プラットフォーム固有の動作温度の上限しきい値を読み取ります。
11.3.2 Server System MIB サブエージェント
Server System MIB エージェント (eSNMP サブエージェント) は,Server System MIB で指定された環境モニタリング・パラメータのサブセットをエクスポートするために使用されます。 Server System MIB は,インストールされているオペレーティング・システムに応じて,すべてのサーバ・プラットフォームに共通するハードウェア固有パラメータ・セットをエクスポートします。
表 11-3
は,環境モニタリングをサポートする Server System MIB 変数サブセットのカーネル・パラメータ (11.3.1.1 項で説明) へのマッピングを示しています。
表 11-3: サーバ・サブシステム変数のマッピング
Server System MIB 変数名 | カーネル・モジュール・パラメータ |
svrThSensorReading |
env_current_temp |
svrThSensorStatus |
env_current_temp |
svrThSensorHighThresh |
env_high_temp_thresh |
svrPowerSupplyStatus |
env_ps_temp |
svrFanStatus |
env_fan_status |
MIB 記述をコンパイルして骨組みサブエージェント・デーモン用のコードにするには,SNMP MIB コンパイラおよび他のユーティリティを使用します。
サブエージェント・デーモンとマスタ・エージェント eSNMP デーモン (snmpd
) の間の通信は,eSNMP シェアード・ライブラリ (libesnmp.so
) 内のインタフェースで処理されます。
サブエージェント・デーモンは,システムをブートして eSNMP デーモンが起動された後に起動する必要があります。
サブエージェント・デーモンには,表 11-3
に示した Server System MIB の各変数に対する処理が含まれています。
このデーモンは,CFG インタフェースを介してカーネル・モジュールから適切なパラメータにアクセスします。
11.3.3 環境モニタリング・デーモン
環境モニタリング・デーモン
envmond
を使用することにより,しきい値レベルをチェックして,システムに障害が発生する前に修復作業を行うことができます。
envmond
デーモンは,次の処理を行います。
システムにしきい値レベルを照会します。
冷却ファンが故障したときに,システムのシャットダウンを開始します。
AlphaServer 1000A の冷却ファンが故障すると,カーネルはエラーのログを取り,ディスクの同期を取ったのち,システムの電源をオフにします。
その他のファンが故障した場合には,ハード・シャットダウンが行われます。
高温のしきい値状態が解決すると,ユーザに通知します。
回復が不可能な場合には,通常のシャットダウンを行っていることをすべてのユーザに通知します。
システムに照会するため,envmond
デーモンはベース・オペレーティング・システムの
/usr/sbin/snmp_request
コマンドを使用して,Server System MIB に指定されている環境変数の現在の値を取得します。
環境モニタリングを有効にするためには,envmond
デーモンをシステム・ブート中に起動する必要がありますが,eSNMP および Server System MIB エージェントが起動された後でなければなりません。
詳細は,
envmond
(8)11.3.4 envconfig を使用した envmond デーモンの構成
envconfig
ユーティリティを使用して,envmond
デーモンが環境を照会する方法をカスタマイズすることができます。
これらのカスタマイズは,/etc/rc.config
ファイルに格納されます。
このファイルは,スタートアップ時に
envmond
デーモンによって読み込まれます。
envconfig
ユーティリティを使用すると,次の処理を行うことができます。
システム・ブート中に環境モニタリングを有効または無効に設定します。
システム・ブート後に
envmond
デーモンを起動または停止させます。
envmond
デーモンによるシステム照会の頻度を指定します。
envmond
デーモンによって温度イベントが通知される前に検出される最も高いしきい値レベルを設定します。
高いしきい値レベルが検出された場合に
envmond
デーモンに実行させるユーザ定義スクリプトのパスを指定します。
シャットダウン・メッセージがブロードキャストされた場合にユーザがデータを保存するための,シャットダウンまでの猶予期間を指定します。
環境モニタリング変数の値を表示します。
詳細は,
envconfig
(8)11.3.5 ユーザ定義可能なメッセージ
環境モニタリング・ユーティリティでブロードキャストされたりログに記録されるメッセージは,すべて変更できます。 メッセージは,次のファイル内にあります。
/usr/share/sysman/envmon/EnvMon_UserDefinable_Msg.tcl
このファイルを編集するには,root でなれけばなりません。
中カッコ ({}) の中のメッセージは,すべて編集することができます。
このファイルの各セクションの編集方法については,#
で始まるコメント・フィールドに説明があります。
たとえば,次のメッセージは,高温状態の原因を示すサンプルです。
set EnvMon_Ovstr(ENVMON_SHUTDOWN_1_MSG){System has reached a \ high temperature condition. Possible problem source: Clogged \ air filter or high ambient room temperature.}
このメッセージ・テキストを,次のように変更できます。
set EnvMon_Ovstr(ENVMON_SHUTDOWN_1_MSG) {System \ has reached a high temperature condition. Check the air \ conditioning unit}
中カッコ ({}) 内のテキスト文字列以外は,このファイル内のデータを変更しなでください。
11.4 システム・エクササイザの使用
オペレーティング・システムには,システムのトラブルシューティングに使用できるシステム・エクササイザがあります。 エクササイザは,ファイル・システムやシステム・メモリなど,システムの特定領域をテストします。 以下の節で,システム・エクササイザについて説明します。
システム・エクササイザの実行 (11.4.1 項)
エクササイザ診断の使用 (11.4.2 項)
fsx
コマンドを使用した,ファイル・システムのエクササイズ (11.4.3 項)
memx
コマンドを使用した,システム・メモリのエクササイズ (11.4.4 項)
shmx
コマンドを使用した,共用メモリのエクササイズ (11.4.5 項)
cmx
コマンドを使用した,通信システムのエクササイズ (11.4.6 項)
また,diskx
コマンドを使用してディスク・ドライブのエクササイズと,tapex
コマンドを使用してテープ・ドライブのエクササイズを行うことができます。
詳細は,それぞれ
diskx
(8)tapex
(8)
この章で説明するエクササイザの他に,システムにはエクササイザと同様の機能を持つ Verifier and Exerciser Tool (VET) もサポートされています。
VET についての詳細は,最新のファームウェア CD-ROM に付属のドキュメントを参照してください。
11.4.1 システム・エクササイザの実行
システム・エクササイザを実行するには,スーパユーザとしてログインし,現在のディレクトリを
/usr/field
にしなければなりません。
システム・エクササイザを起動するコマンドにはオプションが用意されており,エクササイザが作業を終了したときに診断出力を保存するファイルを指定できます。
ほとんどのエクササイザ・コマンドには,そのエクササイザの使用方法についての説明が表示されるオンライン・ヘルプ・オプションがあります。
オンライン・ヘルプにアクセスするには,コマンドに
-h
オプションを指定します。
たとえば,diskx
エクササイザのヘルプにアクセスするには,次のようにコマンドを入力します。
# diskx -h
エクササイザは,フォアグラウンドでもバックグラウンドでも実行することができ,フォアグラウンドで [Ctrl/c] を入力することにより,いつでも取り消すことができます。 また,一度に複数のエクササイザを実行することもできます。 ただし,実行するプロセス数が多くなるに従って,システムの実行速度は遅くなります。 このため,広範囲に渡ってシステムのエクササイズを行うときには,システム上に他のユーザがいないことを確認してください。
システム・エクササイザの実行を,NFS リンクを経由したり,ディスクレス・システム上で行う場合には,いくつかの制約があります。
ファイル・システムに書き込みが必要な
fsx
のようなエクササイザの場合は,root によるターゲット・ファイル・システムへの書き込みが可能でなければなりません。
また,実行されるエクササイザが置かれているディレクトリも,一時ファイルがそのディレクトリに書き込まれるため,root による書き込みが可能でなければなりません。
NFS ファイル・システムは root による書き込みを防止する方法でマウントされることが多いため,これらの制約に従うのは難しいことがあります。
これらの問題のいくつかは,エクササイザを別のディレクトリにコピーしてから実行することで解決できます。
11.4.2 エクササイザ診断の使用
[Ctrl/c] を入力するかタイム・アウトによってエクササイザが停止すると,診断が表示され,またエクササイザの最新のログ・ファイルに保存されます。 この診断によって,テスト結果が報告されます。
エクササイザが起動されるたびに,新しいログ・ファイルが
/usr/field
ディレクトリに作成されます。
たとえば,fsx
コマンドが最初に実行されるときには,#LOG_FSX_01
という名前のログ・ファイルが作成されます。
ログ・ファイルには,各エクササイザの実行結果レコードが格納されます。
このレコードには,開始/終了時刻や,エラー情報および統計情報が含まれます。
開始/終了時刻は,省略時のシステム・エラー・ログ・ファイル
/var/adm/binary.errlog
にも記録されます。
このファイルには,デバイス・ドライバやシステムによって報告されたエラー情報も格納されます。
ログ・ファイルは診断の記録を提供します。 ただし,エクササイザは 9 個のログ・ファイルしか持てないため,ログ・ファイルを読み終わった後は必ず削除してください。 ログ・ファイルが 9 個あるエクササイザを実行しようとすると,古いログ・ファイルをいくつか削除して新しいファイルが作成できる状態にするように,エクササイザがユーザに通知します。
エクササイザがエラーを検出した場合は,dia
コマンド (推奨) または
uerf
コマンドのいずれかを使用して
/var/adm/binary.errlog
ファイルをチェックすることにより,システムのどのデバイスまたは領域に問題があるかを判断することができます。
エラー・ロガーについての詳細は,12.1 節を参照してください。
エラー番号およびシグナル番号の意味については,
intro
(2)sigvec
(2)11.4.3 ファイル・システムのエクササイズ
ローカル・ファイル・システムのエクササイズを行うには,fsx
コマンドを使用します。
fsx
コマンドは,複数のプロセスを開始することにより,指定されたローカル・ファイル・システムのエクササイズを行います。
各プロセスでは,ランダムなデータのテスト・ファイルの作成,書き込み,クローズ,オープン,読み取り,検証,およびリンク解除を行います。
注意
NFS ファイル・システムは,
fsx
コマンドではテストしないでください。
fsx
コマンドの構文は次のとおりです。
fsx
[-fpath
]
[-h
]
[-ofile
]
[-pnum
]
[-tmin
]
コマンド・オプションの詳細については,
fsx
(8)
次の
fsx
コマンドの例は,バックグラウンドで 5 つの
fsxr
プロセスを 60 分間実行することにより,/usr
ファイル・システムをテストします。
# fsx -p5 -f/usr -t60 &
システム・メモリのエクササイズを行うには,memx
コマンドを使用します。
memx
コマンドは,複数のプロセスを開始して,システム・メモリのエクササイズを行います。
省略時の設定では,各プロセスのサイズは,全システム・メモリのバイト数を 20 で割った値として定義されています。
各プロセスの許容最小バイト数は 4,095 です。
memx
コマンドは,オール 1 とオール 0,オール 0 とオール 1,およびランダム・データ・パターンで,割り当てられたメモリ内をテストします。
memx
エクササイザの実行に必要なファイルには,次のものがあります。
memx
memxr
memx
コマンドは,利用可能なスワップ領域の量によって制約を受けます。
スワップ領域のサイズと利用可能な内部メモリにより,システムで同時に実行できるプロセス数が決まります。
たとえば,スワップ領域が 16 MB で,メモリが 16 MB の場合には,プロセスが 20 個 (省略時の設定) 開始されてすべて同時に動作すると,すべてのスワップ領域が使用されます。
これによって,他のプロセスの実行が妨げられます。
このため,メモリの量が多くてスワップ領域の量が少ない場合は,-p
オプション,-m
オプション,またはその両方を指定して,memx
プロセスの数を制限するか,テストするメモリのサイズを制限してください。
memx
コマンドの構文は,次のとおりです。
memx
-s
[-h
]
[-msize
]
[-ofile
]
[-pnum
]
[-tmin
]
コマンド・オプションの詳細は,
memx
(8)
次の
memx
コマンドの例は,4,095 バイトのメモリをテストする 5 つの
memxr
プロセスを開始して,バックグラウンドで 60 分間実行します。
# memx -m4095 -p5 -t60 &
共用メモリ・セグメントのエクササイズを行うには,shmx
コマンドを使用します。
shmx
コマンドは,shmxb
と呼ばれるバックグラウンド・プロセスを作成します。
shmx
コマンドは,セグメント内の
shmxb
のデータに対して,書き込みと読み取りを行います。
shmxb
プロセスは,セグメント内の
shmx
のデータに対して,書き込みと読み取りを行います。
shmx
を使用することにより,メモリ・セグメントおよび
shmxb
プロセスの数とサイズをテストすることができます。
shmx
エクササイザは,プロセスが強制終了されるか,-t
オプションで指定された時間が経過するまで,実行されます。
memx
コマンドに
-s
オプションを指定しなかった場合は,memx
エクササイザを起動すると,shmx
エクササイザが自動的に起動されます。
shmx
エクササイザは,手動で起動することもできます。
shmx
コマンドの構文は以下のとおりです。
/usr/field/shmx
[-h
]
[-ofile
]
[-v
]
[-ttime
]
[-msize
]
[-sn
]
コマンド・オプションの詳細は,
shmx
(8)
次の例は,省略時のセグメント・サイズのメモリ・セグメントを,省略時の数だけテストします。
# shmx &
次の例は,100,000 バイトのメモリ・セグメントを 3 つ,180 分間テストします。
# shmx -t180 -m100000 -s3 &
ターミナル通信システムのエクササイズを行うには,cmx
コマンドを使用します。
cmx
コマンドは,指定された通信回線上でランダムなデータおよびパケット長の,書き込み,読み取り,および検証を行います。
エクササイズを行う回線では,分配パネルまたはケーブルにループバック・コネクタが接続されていなければなりません。
また,回線は,/etc/inittab
ファイルで使用不能に設定され,非モデム回線である必要があります。
つまり,CLOCAL
オプションにオンが設定されていなければなりません。
オンが設定されていない場合,時間切れになるか
[Ctrl/c]
が入力されるまで,cmx
コマンドは,エラー・メッセージを繰り返しターミナル画面上に表示します。
擬似デバイス回線や
lta
デバイス回線をテストすることはできません。
擬似デバイスの名前は,tty
の直後の文字が,p
,q
,r
,s
,t
,u
,v
,w
,x
,y
,z
のいずれかになっています。
たとえば,ttyp3
です。
cmx
コマンドの構文は次のとおりです。
/usr/field/cmx
[-h
]
[-o file
]
[-t min
]
[-l line
]
コマンド・オプションの詳細は,
cmx
(8)
次の例では,通信回線
tty22
および
tty34
のエクササイズを,バックグラウンドで 45 分間行います。
# cmx -l 22 34 -t45 &
次の例では,回線
tty00
から
tty07
までのエクササイズを,[Ctrl/c]
が入力されるまで行います。
# cmx -l 00-07