Solstice AdminSuite 2.3 管理者ガイド

パート III その他の管理

パート III では、Solstice AdminSuite ソフトウェアを使用した後で必要となる可能性のある管理作業、および Solstice AdminSuite ソフトウェアが提供している追加の管理機能について説明します。

第 12 章「ネットワークからのシステムブート」

ネットワークを介してディスクレスクライアントを手動でブートする方法、および自動ブートの設定方法について説明します。

第 13 章「ソフトウェア使用率の監視」

ソフトウェア使用率監視機能の概要、およびクライアント/サーバー環境やネットワーク化されていない環境における監視機能ソフトウェアの使用方法について説明します。

第 12 章 ネットワークからのシステムブート

サーバーにディスクレスシステムを追加 (「ディスクレスクライアントのサポートの追加」を参照) した後、システムをブートして Solaris を実行できます。


注 -

ディスクレスシステムは、必ずネットワークからブートしてください。


この章では、次の事項について説明します。

SPARC: ネットワークからのブート

ここでは、ネットワークから (リモートで操作して) 手動で SPARC システムをブートする手順、およびネットワークから SPARC システムを自動ブートするための設定方法を説明します。

必要な部分以外は読み飛ばしてもかまいません。表 12-1 に、システムタイプ別に参照箇所を示します。

表 12-1 システムタイプ別の参照箇所

システムタイプ 

参照箇所 

Solaris を実行している SPARCstation 以降のシステム (PROM モニタープロンプト) またはそれ以外 (ok プロンプト)

「SPARC: システムを手動でブートする」

 

「SPARC: システムを自動ブートする」

 

Sun-4 システム 

「SPARC: Sun-4 システムを手動でブートする」

 

「SPARC: Sun-4/3nn システムを自動ブートする」

 

「SPARC: Sun-4/1nn、2nn、4nn システムを自動ブートする」


注 -

Solaris 2.5 環境でサポートされるプラットフォームは、Sun-4c、Sun-4d、Sun-4m、Sun-4u の各カーネルアーキテクチャと x86 プラットフォームです。Sun-4 と Sun-4e はサポートされません。


表 12-2 に、ネットワークからシステムを手動でブートするコマンドをシステムタイプ別に示します。

表 12-2 Sun システムのブートコマンド

システムタイプ 

ブートコマンド 

SPARCstationTM 以降

boot net

Sun-4/3nn 

b le()

Sun-4/1nn、Sun-4/2nn、Sun-4/4nn 

b ie()

一般的なブート手順については、『Solaris のシステム管理 (第 1 巻)』を参照してください。

SPARC: システムを手動でブートする


注 -

ネットワークから Sun-4 システムを手動でブートする場合は、「SPARC: Sun-4 システムを手動でブートする」を参照してください。


  1. ディスクレスシステムが、「ディスクレスクライアントのサポートの追加」の説明に従って設定されていることを確認します。

  2. PROM モニタープロンプトが表示されていることを確認します。

    システムが停止している場合は電源を入れます。システムが動作している場合は、init 0 コマンドを実行して PROM モニタープロンプトを表示します。

  3. > プロンプトが表示されている場合は、n と入力して Return (または Enter) キーを押し、ok プロンプトに変更します。

    ok プロンプトが表示されます。表示されない場合は、「SPARC: Sun-4 システムを手動でブートする」を参照してください。

  4. ネットワークからシステムをブートします。


    ok boot net
    

ネットワークから SPARC システムを手動でブートする例


# init 0
> n
ok
.
.
.
ok boot net
Booting from: le(0,0,0)
2bc00 hostname: pluto
domainname: Solar.COM
root server:
root directory: /export/root/pluto
SunOS Release 5.4 Version [2.4_FCS] [UNIX(R) System V Release 4.0]
Copyright (c) 1983-1994, Sun Microsystems, Inc.
configuring network interfaces: le0.
Hostname: pluto
Configuring cache and swap:......done.
The system is coming up. Please wait.
NIS domainname is Solar.COM
starting rpc services: rpcbind keyserv ypbind kerbd done.
Setting netmask of le0 to 255.255.255.0
Setting default interface for multicast: add net 224.0.0.0:
gateway pluto
syslog service starting.
Print services started.
volume management starting.
The system is ready.
login: root
password:
# exit

SPARC: Sun-4 システムを手動でブートする

  1. ディスクレスシステムが、「ディスクレスクライアントのサポートの追加」の説明に従って設定されていることを確認します。

  2. PROM モニタープロンプトが表示されていることを確認します。

    システムが停止している場合は電源を入れます。システムが動作している場合は、init 0 コマンドを実行して PROM モニタープロンプトを表示します。

  3. 使用中のシステム用のブートコマンドを実行して、ネットワークからシステムをブートします。


    > b le()
    または
    > b ie()
    

SPARC: システムを自動ブートする


注 -

Sun-4 システムをネットワークから自動ブートするための設定方法については、「SPARC: Sun-4/3nn システムを自動ブートする」または 「SPARC: Sun-4/1nn、2nn、4nn システムを自動ブートする」を参照してください。


  1. ディスクレスシステムが、「ディスクレスクライアントのサポートの追加」の説明に従って設定されていることを確認します。

  2. PROM モニタープロンプトが表示されていることを確認します。

    システムが停止している場合は電源を入れます。システムが動作している場合は、init 0 コマンドを実行して PROM モニタープロンプトを表示します。

  3. > プロンプトが表示されている場合は、n と入力して Return (または Enter) キーを押し、ok プロンプトに変更します。

    ok プロンプトが表示されます。表示されない場合は、「SPARC: Sun-4/3nn システムを自動ブートする」または 「SPARC: Sun-4/1nn、2nn、4nn システムを自動ブートする」を参照してください。

  4. banner コマンドを実行して、PROM のバージョンを確認します。


    ok banner
    SPARCstation 2, Type 4 Keyboard
    
    ROM Rev. 2.0, 16MB memory installed, Serial # 289
    Ethernet address 8:0:20:d:e2:7b, Host ID: 55000121
  5. ブートデバイスを設定します。

    PROM のバージョンが 2.0 以降の場合は、次のコマンドを実行します。


    ok setenv boot-device net
    boot-device=net

    PROM のバージョンが 2.0 より前の場合は、次のコマンドを実行します。


    ok setenv boot-from net
    

    PROM については、『OpenBoot 2.x コマンド・リファレンスマニュアル』または『OpenBoot 3.x コマンド・リファレンスマニュアル』を参照してください。

  6. boot コマンドを実行して、ネットワークからシステムを自動ブートします。


    ok boot
    

SPARC: Sun-4 システムの既存ブートデバイスの値を表示する

ここでは、ブートデバイスの現在値を表示する方法について説明します。これによって、値を変更する前に必要な情報を確認して記録しておくことができます。

  1. システムの現在のブートデバイスの値を表示します。


    > q18
    

    最初の EEPROM の値が表示されます。

  2. EEPROM の番号と値を書き留めておきます。

    たとえば、EEPROM 018:12? のように表示された場合は、EEPROM の番号は 018、値は 12 です。

  3. Return キーを押して、次の値を表示します。

  4. 最後の値が表示されるまで、手順 2手順 3 を繰り返します。

    最後の値は 00 です。

  5. EEPROM 表示モードを終了します。


    EEPROM 01B: 00? q
    

Sun-4 システムの既存ブートデバイスの値を表示する例


> q18
EEPROM 018: 12?
EEPROM 019: 69?
EEPROM 01A: 65?
EEPROM 01B: 00? q
>

q18 と入力して Return キーを 3 回押すと、3 つの値が表示されるので、これを書き留めておいてください。最後の q を入力すると > プロンプトに戻ります。

SPARC: Sun-4/3nn システムを自動ブートする

  1. ディスクレスシステムが、「ディスクレスクライアントのサポートの追加」の説明に従って設定されていることを確認します。

  2. PROM モニタープロンプトが表示されていることを確認します。

  3. (必要な場合のみ) ブートデバイスの現在値を確認するには、「SPARC: Sun-4 システムの既存ブートデバイスの値を表示する」を参照してください。

  4. コマンドプロンプトで、ブートデバイスのコードを入力します。

    le (Lance Ethernet) 用のコード例


    > q18 12 6c 65
    

    q の後に EEPROM の 16 進アドレスを入力して、Sun-4 アーキテクチャに EEPROM (または NVRAM) へプログラムを入力します。この手順によって、使用しているオペレーティングシステムに合ったブートデバイスが設定されます。

  5. ネットワークからシステムを自動ブートします。


    > b
    

ネットワークから Sun-4/3nn システムを自動ブートするための設定例


> q18 12 6c 65
EEPROM 018 -> 12
EEPROM 019 -> 6C
EEPROM 01A -> 65
>

上記のように出力された場合は、コードが正しく設定されています。次のように出力された場合は、システムアーキテクチャにコードが正しく設定されていないので、システムはブートされません。


> b

EEPROM boot device... ie(0,0,0)

Invalid device = `ie'

Sun-4/3nn のデバイスコードが、le ではなく ie に設定されているので、コードを設定し直す必要があります。

SPARC: Sun-4/1nn、2nn、4nn システムを自動ブートする

  1. ディスクレスシステムが、「ディスクレスクライアントのサポートの追加」の説明に従って設定されていることを確認します。

  2. PROM モニタープロンプトが表示されていることを確認します。

  3. (必要な場合のみ) ブートデバイスの現在値を確認するには、「SPARC: Sun-4 システムの既存ブートデバイスの値を表示する」を参照してください。

  4. > プロンプトで、ブートデバイスの値を入力します。

    ie (Intel Ethernet) 用のコード例


    > q18 12 69 65
    

    q の後に EEPROM の 16 進アドレスを入力して、Sun-4 アーキテクチャに EEPROM (または NVRAM) へプログラムを入力します。この手順によって、使用しているオペレーティングシステムに合ったブートデバイスが設定されます。

  5. ネットワークからシステムを自動ブートします。


    > b
    

ネットワークから Sun-4/1nn、2nn、4nn システムを自動ブートするための設定例


> q18 12 69 65
EEPROM 018 -> 12
EEPROM 019 -> 69
EEPROM 01A -> 65
>

上記のように出力された場合は、コードが正しく設定されています。

次のように出力された場合は、システムアーキテクチャにコードが正しく設定されていないので、システムはブートされません。


> b

EEPROM boot device... le(0,0,0)

Invalid device = `le'

Sun-4/1nn、2nn、4nn のデバイスコードが、ie ではなく le に設定されているので、コードを設定し直す必要があります。

x86: ネットワークからのブート

ここでは、x86 システムをブートする手順を説明します。x86 システムのブートでは、次の 2 つのサブシステムを使用します。

x86: システムを手動でブートする

ネットワークから x86 システムを手動でブートする手順を説明します。画面の表示内容は、システムの設定によって異なります。

  1. ディスクレスシステムが、「ディスクレスクライアントのサポートの追加」の説明に従って設定されていることを確認します。

  2. Solaris ブートディスクをドライブに挿入します。

  3. リセットボタンを押します。

    しばらくすると、一次ブートサブシステムのメニューが表示されます。

    Graphic

    Solaris ブートディスクによって、ディスク、ネットワーク、CD-ROM などの現在接続されているブートデバイスが、メニューに表示されます。


    注 -

    左下に表示される 30 という数字は、ブートデバイスコードが設定されるまでの残り時間 (秒数) を表わしています。値は次第に小さくなり、30 秒以内に (数字が 0 になるまでに) ブートデバイスコードを指定しないと、C ドライブ (デフォルトのデバイス) からブートします。


  4. ネットワークからブートするブートデバイスのコードを入力します。

    この例では、ブートデバイスコードは 12 です。

    しばらくすると、二次ブートサブシステムのメニューが表示されます。

    Graphic
  5. b または boot と入力して Return キーを押し、システムをブートします。

x86: システムを自動ブートする

ここでは、x86 MDB (マルチデバイスブート) フロッピーを作成して、x86 ディスクレスシステムが常にネットワークから自動ブートされるようにする手順について説明します。ネットワークからブートしない場合は、マスター MDB フロッピーをドライブに挿入すると、x86 システムの電源を入れた後に C ドライブからブートされます。詳細は、「x86: ネットワークからのブート」を参照してください。


注 -

MDB ブートフロッピーを作成し始める前に、x86 システム用の MDB マスターフロッピーと 1.44 M バイトのフロッピーを用意してください。フロッピーはフォーマットされるので、必要なデーターが入っているフロッピーは使用しないでください。


  1. サーバー上でスーパーユーザーになります。

  2. ディレクトリを変更します。


    # cd /opt/SUNWadm/2.3/floppy
    
  3. MDB ブートフロッピーを作成します。


    # ./mk_floppy
    

    MDB マスターフロッピーと空のフロッピーをフロッピードライブに挿入するタイミングが、スクリプトによって指示されます。その他の情報も表示されます。


    Please insert the master MDB floppy and press Return:
    Please insert a blank floppy and press Return:
    Formatting 1.44 MB in /dev/rdiskette
    .............................................................
    ...................
    fdformat: using "./mdboot" for MS-DOS boot loader
    Successfully created the AutoClient floppy.
    #

    注 -

    スクリプトから、AutoClient フロッピーを作成した旨が表示されますが、そのフロッピーを x86 ディスクレスシステムに使用できます。


  4. 作成した MDB ブートフロッピーを、x86 システムのフロッピードライブに挿入します。

    電源を入れなおすとシステムが自動的にネットワークからブートされるように、作成した MDB ブートフロッピーをフロッピードライブに挿入しておいてください。

第 13 章 ソフトウェア使用率の監視

本章で説明する項目は次のとおりです。

本章では、以下の手順について説明します。

ソフトウェア使用率監視機能とは

ソフトウェア使用率監視機能は、使用中のコンピュータシステムでのソフトウェアの使用率を監視するためのソフトウェアプログラムを集めたものです。ソフトウェア使用率監視システムは、ネットワークサーバーおよびワークステーション上でのソフトウェアの使用率とインストール状況を継続的にチェックし、システムの管理やシステム購入の決定時に役立てることができます。たとえば、ソフトウェア使用率監視機能を使うと、まったく使われていないソフトウェアもあれば、使用率が非常に高くライセンスの追加が必要なソフトウェアもあることがわかります。さらに、ワークステーションにインストールされたまま使われていないが、別のユーザーが必要としているソフトウェアがあることもわかります。

ソフトウェア使用率監視システムは、ライセンスを管理するためのものではなく、またコンピュータシステム上のすべてのソフトウェアをチェックするためのものでもありません。ソフトウェア使用率監視機能は、自動的に情報を収集するのではなく、送られて来る情報を格納するシステムです。つまりソフトウェア監視機能は、コンピュータシステムから利用情報を取得できません。コンピュータシステム上で実行されているソフトウェアから利用情報が送られて来るのを待っています。

ソフトウェア使用率監視機能の機能

ソフトウェア使用率監視機能には、次の 3 つの基本機能があります。

ソフトウェア使用率監視機能は、表 13-1 に示したコマンドを使って上記のような処理を実行します。


注 -

これらのコマンドの詳しい説明は、マニュアルページを参照してください。


表 13-1 ソフトウェア使用率監視機能のコマンド

コマンド名 

説明 

swu_rpt (コマンドおよび関数)

ソフトウェア使用率エントリを作成して、クライアント上のローカルの待ち行列 (/var/opt/SUNWswusg/swusage) またはソフトウェア使用率監視サーバー上のマスターログファイル (/var/opt/SUNWswusg/swusage.log) に保存します。

swu_queue コマンド

ローカルの待ち行列にある使用率監視レポートを監視サーバーに移動します。また、ローカルの待ち行列を有効または無効にします。 

swu_svr コマンド

クライアントからの swu_queue コマンドや swu_rpt 関数によって送られた使用率監視レポートを受け取るデーモンです。

swu_print コマンド

マスターログファイル (/var/opt/SUNWswusg/swusage.log) にある使用率情報を書式化し、標準出力または指定のファイルに出力します。

ソフトウェア使用率監視機能の使用方法

ソフトウェア使用率情報を生成するには、swu_rpt コマンドまたは関数をソフトウェアアプリケーションと一緒に実行します。この操作は、以下のいずれかの方法で行います。

上記の実行方法については、「ソフトウェア使用率レポートエントリの作成」を参照してください。

ソフトウェア使用率監視機能の働き

ソフトウェア使用率監視システムは、クライアント/サーバー環境でも、また共有ファイルシステム環境でも使用できます。ソフトウェア使用率監視機能は、環境によって異なる働きをします。この節では、環境別のソフトウェア使用率監視機能の動作について説明します。

クライアント/サーバー環境

図 13-1 に、クライアント/サーバー環境でソフトウェア使用率監視機能を実行した場合の、イベントの流れを示します。

図 13-1 ソフトウェア使用率監視機能のイベント (クライアント/サーバー環境)

Graphic


注 -

クライアントに swu_svr デーモン、マスターログファイル、swu_print コマンドがインストールされている場合、そのクライアントは監視サーバーとしても機能します。


イベントの流れについて説明します。

  1. swu_rpt コマンドまたは関数が、コマンド行、シェルスクリプト、アプリケーションのいずれかから、監視サーバーまたはクライアント上で起動されます。

  2. swu_rpt コマンドまたは関数は、指定のプログラムに関するソフトウェア使用率レポートのエントリをローカルの待ち行列に作成します (エントリの種類は、swu_rpt コマンドまたは関数で使われているオプションによって決まります)。


    注 -

    ローカルの待ち行列が無効になっている場合、レポートエントリはログに保存されません。


  3. swu_queue コマンドを使用する cron ジョブ (スーパーユーザーの crontab から実行) がクライアントまたはサーバー上で実行され、ローカルの待ち行列にある情報をソフトウェア使用率監視サーバー上で実行中の swu_svr デーモンに転送 (フラッシュ) します。


    注 -

    スーパーユーザーは、コマンド行から swu_queue コマンドと -F オプションを使って、ファイルをローカルの待ち行列から swu_svr デーモンに手動で転送できます。


  4. swu_svr デーモンは、swu_queue コマンドから受信したレポートエントリをマスターログファイル (/var/opt/SUNWswusg/swusage.log) または監視サーバー上で swu_svr デーモンの起動時に指定されたファイルに保存します。


    注 -

    swu_svr デーモンが、エントリに指定されている監視サーバー上で実行されていない場合、ローカルの待ち行列にあるそのエントリは待ち行列から削除されます。


  5. swu_print コマンドは、マスターログファイル (/var/opt/SUNWswusg/swusage.log) または指定のファイルにある情報の一部、要約、あるいはすべてを、awk などの検索ツールによる情報の検索が可能な別のファイルにコピーします。ファイル名を指定しない場合、このコマンドはデフォルトで標準出力デバイスにこの情報を送ります。


    注 -

    各コマンドは上記の番号順に実行されます。ただし、swu_rpt コマンドまたは関数は、swu_queue コマンドがローカルの待ち行列からのソフトウェア使用率レポート情報を転送するまで何回でも実行できます。


共有ファイルシステム環境

ソフトウェア使用率監視機能は、共有ファイルシステム環境でも、クライアント/サーバー環境と同じように動作します。専用の監視サーバーにソフトウェア使用率監視機能をインストールすると、ネットワーク上の他のホストとそのバイナリファイルを共有できます。

図 13-2 に、共有ファイルシステム環境でソフトウェア使用率監視機能を実行した場合の、イベントの流れを示します。

図 13-2 ソフトウェア使用率監視機能のイベント (共有ファイルシステム環境)

Graphic

イベントの流れについて説明します。

  1. swu_rpt コマンドまたは関数が、コマンド行、シェルスクリプト、アプリケーションのいずれかから、任意のホスト上で起動されます。

  2. swu_svr デーモンは、swu_rpt コマンドまたは関数が作成した情報を受け取り、マスターログファイル (/var/opt/SUNWswusg/swusage.log) または swu_svr デーモンの起動時に指定されたファイルに保存します。


    注 -

    swu_svr デーモンがホストサーバー上で実行していない場合、エントリは失われます。


  3. swu_print コマンドは、マスターログファイル (/var/opt/SUNWswusg/swusage.log) または指定のファイルにある情報の一部、要約、あるいはすべてを、awk などの検索ツールによる情報の検索が可能な別のファイルにコピーします。ファイル名を指定しない場合、このコマンドはデフォルトで標準出力デバイスにこの情報を送ります。

ソフトウェア使用率監視機能を使用する前に

ソフトウェア使用率監視機能を使用する前に、いくつかの手順を実行する必要があります。これらの手順は、通常は 1 回だけ実行すれば済みますが、中には繰り返し実行する必要があるものもあります。

ソフトウェア使用率監視機能に必要な設定は、実行する環境によって異なります。この節では、ソフトウェア使用率監視機能をサーバー上で設定する場合と、クライアント上で設定する場合について説明します。

使用率監視機能が監視サーバーにインストールされているか検証する

  1. ソフトウェア使用率監視機能のサーバー向けコードがホストサーバーにインストールされていることを確認します。


    $ cd /opt/SUNWswusg/bin
    $ ls
    swu_print	swu_svr

    ソフトウェア使用率監視機能がインストールされていない場合は、『Solstice AdminSuite 2.3 ご使用にあたって』を参照して、インストールしてください。

  2. swu_svr デーモンがホストサーバー上で実行されていることを確認します。


    $ ps -ef | /usr/bin/grep swu_svr
    root 264 1 0 Jan 04 console 2:43 /opt/SUNWswusg/bin/swu_svr
    jod 752 311 1 14:50:16 pts/3 0:00 grep swu_svr
    $

    swu_svr デーモンを実行していない場合は、起動してください。swu_svr デーモンの起動および終了方法については、swu_svr デーモンの起動と終了」を参照してください。


注 -

ホスト上にソフトウェア使用率監視情報を作成する場合は、そのホストにソフトウェア使用率監視機能のクライアント向けバイナリパッケージをインストールするか、または NFS を介してそのホストから利用できるように設定してください。


使用率監視機能がクライアント上で有効であるか検証する

  1. ソフトウェア使用率監視機能のサーバー向けコードがホストサーバーにインストールされていることを確認します 。


    $ cd /opt/SUNWswusg/bin
    $ ls
    swu_queue	swu_rpt

    ソフトウェア使用率監視機能がインストールされていない場合は、『Solstice AdminSuite 2.3 ご使用にあたって』を参照して、インストールしてください。

  2. swu_queue が有効であることを確認します。


    $ cd /var/opt/SUNWswusg/swusage
    $ ls
    $

    ls コマンドの後に queue_disabled が表示された場合は、スーパーユーザーになって次のように待ち行列を有効にしてください。


    $ ls
    queue_disabled
    $ su
    Passwd: <スーパーユーザーのパスワードを入力>
    # /opt/SUNWswusg/bin/swu_queue -e
    # ls
    #

使用率監視機能が共有ファイルシステム環境で有効であるか検証する

  1. ソフトウェア使用率監視サーバーがネームサービスに追加されていることを確認します。


    $ rpcinfo -t host 120100
    program 120100 version 1 ready and waiting
    
  2. swu_rpt コマンドがどのシェルスクリプトからでも (つまり共有ファイルシステムを通じてでもローカルにコピーしてでも) 実行可能であることを確認します。


注 -

swusage_host サーバーの設定方法については、『Solstice AdminSuite 2.3 ご使用にあたって』を参照してください。


swu_svr デーモンの起動と終了

ソフトウェア使用率監視機能がインストールされると、swu_svr デーモンが監視サーバー上で起動されます。swu_svr デーモンは、いつでも起動および終了できます。この節では、swu_svr デーモンの起動と終了方法について説明します。

swu_svr デーモンの起動

  1. スーパーユーザーとしてソフトウェア使用率ホストサーバーにログインします。

  2. swu_svr デーモンを起動します。


    # /etc/init.d/swusage start
    
  3. ログアウトします。

swu_svr デーモンの終了

  1. スーパーユーザーとしてソフトウェア使用率ホストサーバーにログインします。

  2. swu_svr デーモンを終了します。


    # /etc/init.d/swusage stop
    
  3. ログアウトします。

ソフトウェア使用率レポートエントリの作成

ソフトウェア使用率監視機能レポートエントリは、以下の方法で作成できます。

どの方法でも使われるソフトウェア使用率監視機能の基本的なコンポーネントは同じです。ただし、基本的なコンポーネントへのアクセス方法は異なります。以下の節では、それぞれの方法で採用されている方式と手順について説明します。

コマンド行インタフェースの使用

コマンド行インタフェースを使う方法は、ソフトウェア使用率監視機能を実行するための最も簡単な方法と言えます。ただし、この方法ではアプリケーションとソフトウェア使用率監視機能を毎回手動で実行しなければならないので、最も面倒な方法ともいえます。

コマンド行インタフェースでソフトウェアの使用率を監視する方法

以下の swu_rpt コマンド行のいずれかを使って使用率レポートを作成します。

上記のコマンドで、各オプションは次の意味を持ちます。

-p product-name

ソフトウェア使用率を記録する製品名を示します。このオプションは必ず指定しなければなりません。 

-I identifier

使用率記録の ID 番号を指定します。指定しない場合、swu_rpt は自身の ID 番号を提供します。

-s server

使用率の記録を送る先のソフトウェア使用率監視サーバーを指定します。デフォルトは、swusage_host に別名設定されているホストです。

-a attr1=val1, attr2=val2,...

ユーザーはソフトウェア使用率情報に説明を付け加えることができます。 

-b

開始 (Begin) エントリが記録されます。 

-e

終了 (End) エントリが記録されます。 

-i

インストールエントリが記録されます。 

-c command

実行するコマンドを指定します。このコマンド実行の前後にそれぞれ開始 (Begin) と終了 (End) エントリが記録されます。 

コマンド行インタフェースでソフトウェア使用率を監視する例

コマンド行からソフトウェア使用率監視コマンドを実行する例を示します。このコマンドでは、スクリプト maker を使って FrameMaker を起動し、ソフトウェア使用率監視コマンドの swu_rpt を使ってアプリケーションのログを記録します。


$ swu_rpt -p FrameMaker -I 29581 -s sherlock -c maker

この例では、-c オプションが使われている (-c オプションは Begin エントリと End エントリを作成します) ので、次のような 2 つのソフトウェア使用率レポートエントリが作成されます。

レポートエントリ 1 

 

レポートエントリ 2 

 

Type

Admin/Usage

Type

Admin/Usage

Product

FrameMaker

Product

FrameMaker

SubType

Begin

SubType

End

Time

8444845890

Time

8444845957

UserID

30581

UserID

30581

User

jod

User

jod

Host

buck

Host

buck

Domain

forest.field.com

Domain

forest.field.com

HostID

1234567890

HostID

1234567890

Locale

C

Locale

C

Version

1

Version

1

Usage Server

sherlock

Usage Server

sherlock

RecordID

29581

RecordID

29581

シェルスクリプトの使用

ソフトウェア使用率を監視するもう 1 つの方法は、プログラムを起動するシェルスクリプトを作成する方法です。この方法を使うと、ユーザーがシェルスクリプトを実行するたびにログに記録されます。シェルスクリプトを変更する方法は 2 つあります。1 つはシェルスクリプトラッパーを作成する方法で、もう 1 つは既存のシェルスクリプトプログラムのスクリプトを変更する方法です。どちらの方法でも、Begin エントリと End エントリが作成されます。

以下に各ソフトウェア使用率監視シェルスクリプトを実行するための手順を説明します。

シェルスクリプトラッパーでソフトウェア使用率を監視する方法

  1. エディタを使って、ソフトウェア使用率監視コマンドを追加するシェルスクリプトを開きます。

  2. 実行可能プログラムのコマンド行の前に、以下の swu_rpt コマンド行を追加します。


    swu_rpt -p product-name [-I identifier] [-s server] [-a attr1=val1, attr2=val2,...] -b
    

    このコマンドでは、次のオプションが使われます。

    -p product-name

    ソフトウェア使用率を記録する製品名を示します。このオプションは必ず指定しなければなりません。 

    -I identifier

    使用率記録の ID 番号を指定します。指定しない場合、swu_rpt は自身の ID 番号を提供します。

    -s server

    使用率の記録を送る先のソフトウェア使用率監視サーバーを指定します。デフォルトは、swusage_host に別名設定されているホストです。

    -a attr1=val1, attr2=val2,...

    ユーザーはソフトウェア使用率情報に説明を付け加えることができます。 

    -b

    開始 (Begin) エントリが記録されます。 

  3. 実行可能プログラムのコマンド行の後に、次の swu_rpt コマンドを追加します。


    swu_rpt -p product-name [-I identifier] [-s server] [-a attr1=val1, attr2=val2,...] -e
    

    このコマンドでは、次のオプションが使われます。

    -p product-name

    ソフトウェア使用率を記録する製品名を示します。このオプションは必ず指定しなければなりません。 

    -I identifier

    使用率記録の ID 番号を指定します。指定しない場合、swu_rpt は自身の ID 番号を提供します。

    -s server

    使用率の記録を送る先のソフトウェア使用率監視サーバーを指定します。デフォルトは、swusage_host に別名設定されているホストです。

    -a attr1=val1, attr2=val2,...

    ユーザーはソフトウェア使用率情報に説明を付け加えることができます。 

    -e

    終了 (End) エントリが記録されます。 

  4. 変更を保存して、スクリプトを終了します。スクリプトが実行可能であることを確認します。

シェルスクリプトラッパーでソフトウェア使用率を監視する例

dir_script というシェルスクリプトに追加されたソフトウェア使用率監視コマンドの例を示します。このスクリプトは、スクリプトが呼び出されたディレクトリ、そのディレクトリの中のファイル、そして現在の日付と時間をリストします。


swu_rpt -p dir_script -I 295833 -s sherlock -a ¥
"Command1=pwd,Command2=ls,Options=-la,Command3=date" -b
pwd
ls -la
date
swu_rpt -p dir_script -I 295833 -s sherlock -a ¥
"Command1=pwd,Command2=ls,Command3=date" -e 

この例では、次のような 2 つのソフトウェア使用率レポートエントリが作成されます。

レポートエントリ 1 

 

レポートエントリ 2 

 

Type

Admin/Usage

Type

Admin/Usage

Product

dir_script

Product

dir_script

SubType

begin

SubType

end

Time

8444845890

Time

8444845892

UserID

30581

UserID

30581

User

jod

User

jod

Host

buck

Host

buck

Domain

forest.field.com

Domain

forest.field.com

HostID

1234567890

HostID

1234567890

Locale

C

Locale

C

Version

1

Version

1

Usage Server

sherlock

Usage Server

sherlock

RecordID

295833

RecordID

295833

C_Command1

pwd

C_Command1

pwd

C_Command2

ls

C_Command2

ls

C_Options

-la

C_Command3

date

C_Command3

date

 

 

シェルスクリプトの実行可能コマンド行に使用率監視機能を追加する方法

  1. エディタで、ソフトウェア使用率監視コマンドを追加する先のシェルスクリプトを開きます。

  2. プログラムを呼び出すコマンド行を検索します。

  3. 次の引き数をプログラムのコマンド行に追加します。


    swu_rpt -p product-name [-I identifier] [-s server] [-a attr1=val1, attr2=val2,...] ¥
      -c command
    

    このコマンドでは、次のオプションが使われます。

    -p product-name

    ソフトウェア使用率を記録する製品名を示します。このオプションは必ず指定しなければなりません。 

    -I identifier

    使用率記録の ID 番号を指定します。指定しない場合、swu_rpt は自身の ID 番号を提供します。

    -s server

    使用率の記録を送る先のソフトウェア使用率監視サーバーを指定します。デフォルトは、swusage_host に別名設定されているホストです。

    -a attr1=val1, attr2=val2,...

    ユーザーはソフトウェア使用率情報に説明を付け加えることができます。 

    -c command

    プログラムの実行コマンド名を指定します。 

  4. 変更を保存して、スクリプトを終了します。スクリプトが実行可能であることを確認します。

シェルスクリプトの実行可能コマンド行に使用率監視機能を追加する例

FrameMaker を実行するコマンド行にソフトウェア使用率監視コマンドを追加する例を示します。


swu_rpt -p Frame -I 295836 -s sherlock -a ¥
"Command=maker,Version=4.0" -c maker

この例では、次のようなソフトウェア使用レポートエントリが使われます。

レポートエントリ 1 

 

レポートエントリ 2 

 

Type

Admin/Usage

Type

Admin/Usage

Product

Frame

Product

Frame

SubType

Begin

SubType

End

Time

814824487

Time

8148244920

UserID

30581

UserID

30581

User

jod

User

jod

Host

buck

Host

buck

Domain

forest.field.com

Domain

forest.field.com

HostID

1234567890

HostID

1234567890

Locale

C

Locale

C

Version

1

Version

1

Usage Server

sherlock

Usage Server

sherlock

RecordID

295836

RecordID

295836

C_Command

maker

C_Command

maker

C_Version

4.0

C_Version

4.0

アプリケーションの使用

ソフトウェア使用率監視機能は、swu_rpt 関数の呼び出しをアプリケーションに埋め込んで実行することもできます。この方法を使うと、コンピュータネットワーク上のユーザーが作成したアプリケーションの使用率を効果的に監視できます。

たとえば、さまざまなプロジェクトに費やされる時間をチェックするためにオンラインタイムカードアプリケーションを作成したとします。ただし、全員がこの機能を使っているかどうか確認できません。このような場合に、このオンラインタイムカードアプリケーションの中に swu_rpt 関数の呼び出しを埋め込むと、この関数はアプリケーションが実行されるたびに使用率レポートを作成します。

次に、アプリケーションにソフトウェア使用率監視レポート関数を埋め込むための手順を説明します。

アプリケーションにソフトウェア使用率監視機能を埋め込む方法

  1. エディタで、ソフトウェア使用率監視コマンドを埋め込む先のアプリケーションソースコードファイルを開きます。

  2. 次のヘッダファイルをアプリケーションソースコードに追加します。


    #include <swusage.h>
  3. アプリケーションの開始を報告する swu_rpt 関数を追加します。


    swu_rpt ("Server_name", "Identifier", SWU_BEGIN, "Product_name", avl)
    
  4. アプリケーションの終了を報告する swu_rpt 関数を追加します。


    swu_rpt ("Server_name", "Identifier", SWU_END, "Product_name", avl)
    
  5. 次のいずれかの引き数を使って、アプリケーションソースコードをコンパイルします。

    ライブラリを静的にリンクする場合


    $ ... -I/opt/SUNWswusg/include -L/opt/SUNWswusg/lib ¥
      -Bstatic -lswusage -lnsl ...
    

    ライブラリを動的にリンクする場合


    $ ... -I/opt/SUNWswusg/include -R/opt/SUNWswusg/lib ¥
      -L/opt/SUNWswusg/lib -lswusage -lnsl ...
    

アプリケーションにソフトウェア使用率監視機能を埋め込む例

以下の例はソフトウェア使用率監視関数が埋め込まれたアプリケーションを示したものです。


#include <stdio.h>	/* definition of NULL */
#include <swusage.h>	/* swu_rpt() prototype, swusage_alist definition */
#define 	ATTRIBUTE_COUNT 3
 
main()
{
	struct swusage_alist avl[ATTRIBUTE_COUNT];
 
	/*
	 *ソフトウェア使用率監視レコードに入れる、製品固有の属性と値の組み合わせを定義
	 */
	avl[0].u_attr = "ATTR_1";
	avl[0].u_value = "val_1";
	avl[1].u_attr = "ATTR_2";
	avl[1].u_value = "val_2";
 
	/*
	 * 属性値リストの終端
	 */
	avl[2].u_attr = NULL;
	avl[2].u_value = NULL;
 
	/*
	 * アプリケーションの開始 (Begin) レコードを生成
	 */
	swu_rpt("Server_name", "Identifier", SWU_BEGIN, "My product name", avl);
 
	/*
	 * ここにアプリケーションが入る
	 */
 
	/*
	 * アプリケーションの終了 (End) レコードを生成
	 */
	swu_rpt("Server_name", "Identifier",SWU_END, "My product name", avl);
}

この例では、次のようなソフトウェア使用レポートエントリが使われます。

レポートエントリ 1 

 

レポートエントリ 2 

 

Type

Admin/Usage

Type

Admin/Usage

Product

My product name

Product

My product name

SubType

Begin

SubType

End

Time

8148244876

Time

8148244920

UserID

30581

UserID

30581

User

jod

User

jod

Host

buck

Host

buck

Domain

forest.field.com

Domain

forest.field.com

HostID

1234567890

HostID

1234567890

Locale

C

Locale

C

Version

1

Version

1

Usage Server

Server_name

Usage Server

Server_name

RecordID

Identifier

RecordID

Identifier

C_ATTR_1

val_1

C_ATTR_1

val_1

C_ATTR_2

val_2

C_ATTR_2

val_2

使用率情報の転送

ソフトウェア使用率監視機能がクライアントにインストールされ、使用率エントリがクライアント上で記録されたら、ローカルの待ち行列に入っているソフトウェア使用率レポートエントリを監視サーバー上のマスターログファイルに転送する作業が必要です。図 13-3 は、データの位置を示したものです。

図 13-3 ソフトウェア使用率監視機能のファイルとその位置

Graphic

ローカルの待ち行列のソフトウェア使用率レポートエントリは、/var/opt/SUNWswusg/swusage ディレクトリに入っています。レポートエントリは、英数字で表示されます。たとえば、ローカルの待ち行列に ls コマンドを入力すると、次のように表示されます。


$ cd /var/opt/SUNWswusg/swusage
$ ls
swrepAAAa000Tv  swrepAAAa000UL  swrepBAAa000Tv  swrepBAAa000UL

ソフトウェア使用率レポートエントリは、swu_queue コマンドによってこのディレクトリから転送されます。

ソフトウェア使用率監視システムをインストールしたときに、cron ジョブがホストのルート crontab に追加されています。この cron ジョブは、夜中の 12 時から朝の 7 時までの任意の時間に swu_queue コマンドを実行します。この swu_queue コマンドは、ローカルの待ち行列に入っている使用率レポートをソフトウェア使用率ホストサーバー上のマスターログファイル (/var/opt/SUNWswusg/swusage.log) に転送 (書き出) します。

このジョブは自動的に実行されますが、cron ジョブによるデータ転送とは別にローカルの待ち行列にあるデータを監視サーバーに転送する必要がある場合には、「マスターログファイルへの転送方法」の手順を実行してください。


注 -

swu_queue コマンドによってファイルがローカルの待ち行列からマスターログファイルへ転送された後、そのファイルはローカルの待ち行列から消去されます。ファイルが転送されなければ (たとえばエントリで指定されたホストが稼働していない場合)、ローカルの待ち行列からファイルは削除されず、継続してログが行われるため、ファイルシステムがいっぱいになってしまうことがあります。この場合、swu_queue -d コマンドで待ち行列を無効にすると、使用率レコードのログの取得を止めることができます。


クライアント上のソフトウェア使用率エントリをマスターログファイルに転送する際に問題が起こりうる処理段階について、以下にまとめます。

マスターログファイルへの転送方法

  1. ソフトウェア使用率レポートエントリがあるクライアントにログインします。

  2. スーパーユーザーになります。

  3. swu_queue コマンドを実行します。


    # swu_queue -F
    

    このコマンドでは、次のオプションを使用します。

    -F

    ローカルの待ち行列にあるデータを監視ホストサーバー上の swu_svr デーモンに転送します。

マスターログファイルからの印刷

ソフトウェア使用率データをローカルの待ち行列からサーバー上のマスターログファイルに転送した後で、マスターログファイルの情報を別のファイル、標準出力 (モニター)、またはプリンタに出力できます。

ソフトウェア使用率記録エントリは、マスターログファイルでは書式化されません。swu_print コマンドは、マスターログファイルにある使用率レポートエントリを標準の出力デバイスに移して書式化します。エントリの書式化方法には 3 通りあり、swu_print コマンドの後に指定するオプションで指定できます。

swu_print コマンドに指定できるオプションと書式化の例を表 13-2 にまとめます。

表 13-2 swu_print オプション

オプション 

書式の例 

 

 

-a

PRODUCT

maker

vi

SUBTYPE

Begin

Begin

TIME

Feb 26 17:08:17

Feb 27 19:09:19

RECORD_ID

IDstring

IDstring

USER

jod

jad

HOST

sherlock

holmes

-d

TYPE=Admin/Usage

Product=maker

SubType=Begin

Time=819653293

UserID=49740

User=jod

Host=buck

Domain=field.forest.com

HostID=55003efc

Locale=C

Version=1

Server=sherlock

RecordID=IDString

 

 

-s

PRODUCT

maker

vi

TIME

01:31:47

19:09:19

USER

jod

jad

HOST

buck

doe

 

エントリをこのように書式化すると、awk や他の検索ツールを使ってキーワードでの検索が可能になります。また書式化することにより、別のデータベースやレポートに容易に変換できます。


注 -

swu_print を実行しても、使用率レポートエントリはマスターログファイルから削除されません。エントリを削除するには、マスターログファイルを削除しなければなりません。削除しないと、エントリは swu_print コマンドを使ってコピーしたソフトウェア使用率レポートエントリの後に追加されるため、ファイルシステムがいっぱいになってしまうことがあります。マスターログファイルを安全に削除する方法については、「マスターログファイルの削除方法」を参照してください。


ソフトウェア使用率監視システムを使って作成したレポートエントリの内容は、そのエントリを作成したコマンドによって異なります。ただし、すべてのエントリに共通のフィールドがいくつかあります。表 13-3 に、すべてのレポートエントリ、各エントリの説明、およびどのような場合に使用されるかを示します。

表 13-3 レポートエントリ

フィールド 

エントリの項目 

説明 

使用される条件 

Type

Admin/Usage 

記録がシステム管理のソフトウェア使用率情報であることを示します。 

常時 

Product

不特定 

ログに記録されるソフトウェアの製品名 (またはプログラム名) を示します。swu_rpt コマンドまたは関数を使って指定します。

常時 

User

不特定 

ソフトウェアを実行しているユーザーを示します。エントリがユーザーのログイン名を示します。 

常時 

SubType

Begin 

関連するソフトウェアが表示された時刻に実行を開始したことを示します。 

swu_rpt コマンドの -b または -c オプション

 

End 

関連するソフトウェアが表示された時刻に終了したことを示します。 

swu_rpt コマンドの -e または -c オプション

 

Install 

関連するソフトウェアがインストールされたことを示します。 

swu_rpt コマンドの -i オプション

 

Enable Queue 

ローカルの swu_queue が有効であることを示します。

swu_queue コマンドの -e オプション

 

Disable Queue 

ローカルの swu_queue が無効であることを示します。

swu_queue コマンドの -d オプション

Time

不特定 

ソフトウェアの実行開始、実行終了、インストールのいずれかの時刻を示します。この値は、1970 年 1 月 1 日の UTC 00:00:00 から起算した秒数で表わします。 

常時 

UserID

不特定 

ソフトウェアを実行したユーザーのユーザー ID を示します。 

常時 

Host

不特定 

プログラムまたはコマンドが実行されているワークステーション名またはサーバー名を示します。 

常時 

Domain

不特定 

ホストが常駐しているネームサービスドメインを示します。 

常時 

HostID

不特定 

ホストのワークステーションまたはサーバーのハードウェア固有のシリアル番号を示します。 

常時 

 

Locale

不特定 

現在の環境変数 LANG の値を示します。 

常時 

Version

不特定 

ソフトウェア使用率監視機能のバージョン (監視プログラムで指定されたもの) を示します。 

常時 

Usage Server

不特定 

使用率エントリを転送する先の監視サーバーを示します。 

常時 

RecordID

不特定 

swu_rpt コマンドで指定する、数値からなる ID 番号。この値を指定しないと、親のプロセス ID と時間がデフォルトとして使用されます。

常時 


注 -

フィールドの変数が設定されていない場合、使用率監視機能は値を判断できないため、フィールドのエントリには ?? が入力されます。


マスターログファイルにあるソフトウェア使用率監視のレポートエントリを、別のファイルまたは標準出力デバイスにコピーして書式化するには、次のようにします。

マスターログファイルからの印刷方法

  1. ソフトウェア使用率監視のホストサーバーにログインします。

  2. swu_print コマンドを入力します。


    $ swu_print [-a|-d|-s] [-f filename] [-l log_file]

    このコマンドでは、次のオプションを使用します。

    -a

    swu_print が使用する書式 (すべて) を指定します。これがデフォルトです。書式の例は、表 13-2 を参照。

    -d

    swu_print が使用する書式 (ダンプ) を指定します。書式の例は、表 13-2 を参照。

    -s

    swu_print が使用する書式 (要約) を指定します。書式の例は、表 13-2 を参照。

    -f filename

    ログファイルにある情報をダイレクトする先のファイルを指定します。 

    -l log_file

    マスターログファイルを指定します。このオプションを指定しないと、デフォルトファイル /opt/SUNWswusg/swusage.log が使用されます。

マスターログファイルの削除

ファイルシステムがいっぱいにならないように、定期的にマスターログファイルを削除しなければなりません。次の手順に従ってマスターログファイルを適切に削除することで、データの消失を防止できます。

マスターログファイルの削除方法

  1. ソフトウェア使用率監視サーバーにスーパーユーザーとしてログインします。

  2. マスターログファイルを一時的なログファイルに移動します。


    # mv /var/opt/SUNWswusg/swusage.log /tmp/tmp.log
    
  3. /tmp/tmp.log ファイルに必要な処理を行います。

  4. /tmp/tmp.log を削除します。


    # rm /tmp/tmp.log
    
  5. ログアウトします。


注 -

この手順では、swusage.log にあるすべての使用率レコードエントリを新しいファイルに移動します。この処理中に新しいレコードが作成されると、新しい swusage.log ファイルが作成されます。