付録G.62 ovspmd
NNMi プロセス管理サービス
SYNOPSIS
ovspmd [ [install] [start] [stop] [remove] [-W] [-d] [-V] [-f startup_file] ]
DESCRIPTION
ovspmdはNNMiの一部である各サービスプロセスを管理します。ovspmdはovstart,ovstop,およびovstatusからの要求に応じてこれらプロセスの起動,停止,状態の報告を行います。通常,ovspmdはovstartが自動的に起動します。Windowsでは,ovspmdはサービスとして登録されています。ovspmdはサービス名HP OpenView Process Manager 配下に登録します。
ovstartは,NNMi起動ファイル(SUF)に指定したオブジェクトマネージャプログラムの開始要求をovspmdに送信します。SUFのデフォルトはovsufです。NNMi管理対象プロセスはローカル登録ファイル(LRF)で構成され,ovaddobjによってSUFに追加されます。引数なしでovstartを呼び出した場合,ovspmdは自動的に起動するように構成された(つまり初期開始フラグOVs_YES_STARTをLRFに設定した)すべての管理対象プロセスを起動します。
ovstopは構成済みの管理対象プロセスの停止要求をovspmdに送信します。ovstopを引数なしで呼び出す場合,ovspmdは現在実行中のすべての管理対象プロセスを停止,終了します。
ovstatusは,構成済みの管理対象プロセスの現在の実行状態の報告要求をovspmdに送信します。
管理対象プロセスはovspmdによってサービスとして(つまり標準入力,標準出力,標準エラー出力のすべてを無視した状態のバックグラウンドで)起動されます。
各管理対象プロセスは,依存関係リスト(プロセスの起動を成功させるためにあらかじめ起動しておく必要がある他プロセスのリスト)を付けて構成できます。ovspmdは管理対象プロセスが依存しているすべてのプロセスの初期化が成功していなければ,その管理対象プロセスを起動しません。起動時には,ovspmd はLRF指定の依存関係が循環形式になっていないことを確認します。(循環例は A -> B -> C -> Aです。)この依存関係で,起動の相対的な順序付けも停止の逆順序も決定します。
ovspmd には,予期せず失敗したプロセスを自動的に再起動する仕組みがあります。このプロセスでは,%NNM_SHARED_CONF%\ovspmd.restart.propertiesファイル(Windows),または,$NNM_SHARED_CONF/ovspmd.restart.propertiesファイル(Linux)に一覧表示しているようにデーモンプロセスのリトライ数を追加する必要があります。デフォルトでは,リトライ数は0です。プロセスが予期せず終了すると,この数が0に達するまで一つずつ減ります。その時点では,プロセスは自動的に再起動されません。
ovstartでプロセスを起動しようとすると,リトライ数がリセットされ,プロセスが再度起動されます。プロセスが2時間実行を続けた場合,そのプロセスはリトライカウンターをリセットします。エントリを削除すると,ovspmdは再起動を行わなくなります。これはリトライ数が0である場合にも当てはまります。
ovspmdはオブジェクトマネージャの三つのクラスを区別します。
- OVs_WELL_BEHAVED
-
well-behavedなプロセスはOVsPMD API(OVsPMD_API(3)参照)を使ってovspmdと通信します。このプロセスは,初期化の成否や正常終了と異常終了に関するovspmd状態情報を送信するように構成されている場合は,これらの情報を送信します。well-behavedなプロセスから初期化の成功が明示的に報告された場合にのみ,ovspmdはこのプロセスの初期化が成功したと見なします。また,well-behavedなプロセスは,ovspmdからOVS_CMD_EXITコマンドを受信したときに終了します。
管理対象プロセスがovspmdに渡した状態情報は,ovstart,ovstop,ovstatusのうち現在実行中のものに転送されます。各管理対象プロセスから受信した最後のメッセージは,保存されてから,要求があり次第ovstatusに転送されます。well-behavedなプロセスから受信したメッセージもアプリケーションイベントログ(イベントビューアで調べることができます)にロギングされます。
- OVs_NON_WELL_BEHAVED
-
ovspmdはOVsPMDAPI(non-well-behaved processes)を使わないオブジェクトマネージャ(non-well-behavedなプロセス)が自発的にバックグラウンドに突入しない場合に限り,これらも管理できます(下記OVs_DAEMONを参照)。non-well-behaved なプロセスは状態メッセージを返さないので,ovspmdはこのようなプロセスが LRF 指定のタイムアウト時間内に終了しなくても,プロセスの初期化が成功したものと見なします。
設定されたタイムアウト内に non-well-behavedなプロセスが終了しない場合は,Terminal Processで終了されます。
- OVs_DAEMON
-
バックグラウンドに突入する管理対象プロセスは,通信チャネルまたは信号を使って管理できません。ovspmdはこのようなプロセスを起動できますが,必要な通信チャネルもプロセスIDもないので,プロセスを停止したり意味のある状態を報告したりできません。
Parameters
- install
- ovspmd をサービスとしてインストールします。
- start
- ovspmdサービスを起動します。
- stop
- ovspmdサービスを停止します。
- remove
- ovspmd サービスを削除します。
- -W
- ovspmdの起動時に管理対象プロセスを起動しません。ovstartからの起動要求を待ちます。
- -d
- デバッグ用に使用します。このオプションを使用した場合,ovspmdはサービスになりません。
- -V
- 超冗長モードで実行します。このモードでは,ovspmdは管理対象プロセスの構成に関する非常に詳しい情報を出力します。これは通常の使用では詳細過ぎる情報です。
- -f startup_file
- デフォルトではなくstartup_fileを起動ファイル(SUF)として読み込みます。なお,startup_fileは絶対パスである必要があります。
Application Authorization
ovspmdはNNMiサービスの管理を統制します。ovspmdはどのホスト,ユーザー,アプリケーションがNNMiサービスを起動および停止できるのかをovspmd.authファイルを使って制御します。ovspmd.authファイルの格納場所は%NNM_SHARED_CONF%(Windows)または$NNM_SHARED_CONF(Linux)です。
ovspmdはovspmd.authファイルのエントリを先頭から終わりまで検索します。検討中のアクセスを明示的に許可または拒否しているエントリを見つけ次第,ovspmdは検索を中止します。従って,より具体的なエントリのほうが一般的なエントリより優先されます。
ファイルには,権限があるホスト,ユーザー,およびアプリケーションを指定する行が含まれています。各行には,ovspmdへの接続権限がある単一のホスト,ユーザー,およびアプリケーションリストを表示します。ファイルの各行の形式は次のとおりです。
#comment
hostname [username [appname1 appname2 appname3... ]]
ナンバー記号(#)およびそれに続く部分はコメントであり,無視されます。空白行も無視されます。
usernameとappnameは任意指定です。アプリケーションを指定しない場合,その行はどのアプリケーションからのアクセスも許可(または拒否)します。ユーザー名を指定しない場合,その行はどのアプリケーションで動作しているどのユーザーからのアクセスも許可(または拒否)します。
hostnameにプラス記号(+)を指定すると,その行はどのホストからのアクセスも参照します。usernameにプラス記号(+)を指定すると,その行はどのユーザーからのアクセスも参照します。hostnameの先頭にマイナス記号(-)を指定すると,その行はそのホストからのすべてのアクセスを明示的に拒否します(同じ行にユーザー名やアプリケーション名が指定されていても無視されます)。usernameの先頭にマイナス記号(-)を指定すると,その行は指定ホストのユーザーによるアクセスを明示的に拒否します(同じ行にアプリケーション名が指定されていても無視されます)。
アプリケーションが一覧表示されている場合,その行は表示されたアプリケーションへの(指定ホストからの指定ユーザーによる)アクセスだけを許可します。登録アプリケーション名に含まれる空白はアンダースコアに置換する必要があるという点を除いて,権限ファイルに一覧表示されたアプリケーション名はアプリケーションの登録名に一致しなければならないことに注意してください。
インストール時に作成されるovspmd.auth ファイルには,ファイル形式の例がさらに格納されており,いくつかの例は「EXAMPLES」の項にも記載されています。
DIAGNOSTICS
ovspmdは構成エラーおよびシステム呼び出し障害に関するエラーメッセージを発行します。これらのメッセージは内容が一目瞭然であることを目的としています。ovspmdが現在ovstart,ovstop,ovstatusのいずれかとオープン通信チャネルを持っている場合,ovspmdはこれらのエラーメッセージをプログラムが出力する通信チャネル経由で転送します。
ovspmdは複数の要求(start,stop,status)を一度に処理できます。追加の要求は現在の要求が完了するまでタイプ別に待ち行列に入れられます。
さらに,ovspmdはERRORレベルのOVSサブシステム内の nettl を使って,処理,構成,システムエラーなどをロギングします。初期化成功などの通常イベントを示すメッセージはINFORMATIVEレベルでロギングされます。初期化失敗または異常終了を示すメッセージはWARNINGレベルでロギングされます。
EXAMPLES
ovspmd.authファイルの内容例を次に示します。
# Normally, you should authorize any application # run by any user on the same host on which ovspmd is running. # To do so, use a single line listing the # name of the host on which this file is located # (for example, "thishost"): thishost # Similarly, if you are running Management # Consoles, you should authorize any application # run by any user on all the client hosts and on # the server host. For example, if your server # system named "bigsystem" has one client named # "hohum", list each of them on a separate line in # this file on bigsystem: bigsystem hohum # It is possible to permit specific users to run # specific applications from a remote system. The # following line permits the user "shem" from host # "blimp" to run the applications "Toaster Manager" # and "Blender". Note that, because the application's # registered name "Toaster Manager" contains white # space, you must replace the whitespace with the # underscore character in the authorization file: shem blimp Toaster_Manager Blender # It is not possible to exclude specific applications, # except by explicitly permitting all non-excluded # applications. # The following line denies access by the user "fred" # from any host: + -fred # The following line denies any application access # from the host "badguy": -badguy
AUTHOR
ovspmd was developed by Micro Focus.
FILES
次に示すファイルの環境変数の使用については,nnm.envvarsリファレンスページを参照してください。
- Windows:
- %NNM_BIN%\ovspmd
- %NNM_SHARED_CONF%\ovsuf
- Linux:
- $NNM_BIN/ovspmd
- $NNM_SHARED_CONF/ovsuf
再起動プロパティ構成については,%NNM_SHARED_CONF%\ovspmd.restart.properties(Windows)または$NNM_SHARED_CONF/ovspmd.restart.properties(Linux)を参照してください。
EXTERNAL INFLUENCES
Environmental Variables
$LANGは,国際化変数 LC_ALL,LC_CTYPE,LC_MESSAGESが未設定,NULL,または無効な場合にデフォルト値を提供します。
$LANGが未設定,NULL,または無効な場合,デフォルト値のC(Windowsの場合English_UnitedStates.1252)が使用されます。
LC_ALL(または$LANG)はovspmdが起動したほかのすべてのプロセスのロケールを決定します。
LC_CTYPEは,テキストをシングルバイト文字,マルチバイト文字,あるいはその両方として解釈すること,文字の分類は印刷可能とすること,正規表現の文字クラス表現によって文字を一致させることを決定します。
LC_MESSAGESは,メッセージを表示する言語を決定します。
他のすべての環境変数はovspmdを実行しているシェル(またはovspmdを起動した初回 ovstart)から引き継がれます。ovspmdおよびすべてのサービスプロセスはこの環境を共有します。結果として,環境変更を有効にするためには ovspmd を停止し,再起動する必要があります(ovstart参照)。
SEE ALSO