Solstice AdminSuite 2.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