名称
mxquery - Systems Insight Manager クエリ ファイルの形式
構文
mxquery
説明
mxquery コマンドは、拡張マークアップ言語 (XML) 形式で記述されたクエリ
やクエリ カテゴリ情報の、読み込みおよび書き込みをサポートしています。
この機能を利用して、Systems Insight Manager (SIM) 環境内で複数のクエリ
やクエリ カテゴリを追加、変更、または削除することが可能です。各ファイ
ルには、1 つまたは複数のクエリ、あるいは 1 つまたは複数のクエリ カテゴ
リ、あるいはその両方の定義を記述できます。
文書型定義
文書型定義 (DTD) ファイルは、XML ファイルの規則を定義したものです。こ
の規則には、有効な要素タグ、属性、XML ファイル内の要素の出現回数などが
あります。クエリ DTD ファイルの名前は querylist.dtd であり、その内容を
以下に示します。マンページの書式上、DTD の内容は実際のファイルと同じよ
うに表示されないことに注意してください。
<?xml version="1.0" encoding="UTF-8" ?>
<!--
最初にお読みください。このファイルは、意図的に右マージンを
70 に設定して書式化しています。こうすることで、DTD ファイルを直接
mxquery(4) マンページ ファイルに貼り付けることができます。
このファイルを編集するときには、この規則を守ってください。ある
特定のリリースについての編集内容が最終的に確定したら、DTD の最終
バージョンを mxquery(4) マンページに貼り付けてマニュアルを更新
してください。
-->
<!--
query-list は、ゼロ個以上の query 要素または category 要素から
構成されています。
-->
<!ELEMENT query-list ( query | category )* >
<!--
query 要素は、クエリ リスト内の各クエリを定義します。query 要素
には、クエリ名、クエリ タイプ、クエリ カテゴリ、およびクエリ
カテゴリ タイプを定義するための各属性が含まれています。
query 要素は、ゼロ個以上の条件からなります。
-->
<!ELEMENT query ( criteria* ) >
<!--
query id 属性はオプション属性です。query id は数値でなければなり
ません。query id はシステムによって割り当てられるので、クエリを
追加するときに、このフィールドを指定することはありません。
クエリを変更または削除するときに、このフィールドが必須となり、
システムが XML ファイルを生成するときにこのフィールドを生成します。
-->
<!ATTLIST query id CDATA #IMPLIED >
<!--
query name 属性は必須属性です。query name には、埋め込み空白を
含めることができます。
-->
<!ATTLIST query name CDATA #REQUIRED >
<!--
query type 属性は必須属性です。query type は、指定したクエリ
タイプの 1 つでなければなりません。
-->
<!ATTLIST query type ( DeviceViews | ClusterViews | EventViews |
ToolsViews ) #REQUIRED >
<!--
query access 属性は、クエリが public か personal かを指定します。
デフォルトでは、クエリは personal になっています。personal
クエリには、クエリの所有者のパーソナル カテゴリが関連付け
られています。パブリック クエリには、システム カテゴリが
関連付けられています。
-->
<!ATTLIST query access ( public | personal ) "personal" >
<!--
query category type 属性は、クエリに関連付けるカテゴリ
タイプを指定します。カテゴリ タイプを指定しない場合、クエリ
タイプと同じカテゴリ タイプがクエリに関連付けられます。
ユーザが、クエリ タイプとは異なるカテゴリをクエリに関連付け
たい場合に、このフィールドを指定する必要があります。
-->
<!ATTLIST query category-type ( DeviceViews | ClusterViews |
EventViews | ToolsViews ) #IMPLIED >
<!--
query category name 属性は必須属性です。クエリ カテゴリは、
複数の層の情報から構成されます。query category name は、その
情報の最後の層です。すべてのクエリにクエリ カテゴリを関連付け
る必要があります。システムは、クエリまたはカテゴリ タイプ、
クエリ アクセス、
クエリの所有者、およびカテゴリ名を使用してクエリ カテゴリを
決定します。
-->
<!ATTLIST query category-name CDATA #REQUIRED >
<!--
query owner 属性は、クエリのオーナーを指定するものです。
query owner 属性が必要になるのは、クエリが public ではなく、
かつクエリの所有者が、クエリを追加したときのセッションの
ユーザと異なる場合です。
オーナー名は、システム内の有効なユーザに対応している必要が
あります。
-->
<!ATTLIST query owner CDATA #IMPLIED >
<!--
クエリには、ゼロ個以上の criteria 要素を含めることができます。
条件は、有効な条件名と、ゼロ個以上の value 要素またはゼロ個以上
の sw-fw-value 要素を備えている必要があります。
条件タイプがソフトウェア/ファームウェア条件の場合、value 要素
は sw-fw-value 要素でなければなりません。他の条件タイプの場合、
value 要素は普通の value 要素になります。
-->
<!ELEMENT criteria ( value | sw-fw-value )* >
<!--
criteria name 属性には、既知の条件名を設定する必要があります。
-->
<!ATTLIST criteria name NMTOKEN #REQUIRED >
<!--
criteria sense は、"INCLUDE" または "EXCLUDE" のいずれかになり
ます。デフォルトでは、criteria sense は "INCLUDE" になります。
-->
<!ATTLIST criteria sense ( INCLUDE | EXCLUDE ) "INCLUDE" >
<!--
条件には、ゼロ個以上の値を含めることができます。正当な値は、
各条件の種類によって異なります。
-->
<!ELEMENT value ( #PCDATA ) >
<!ATTLIST value type CDATA #IMPLIED >
<!--
value operator 属性は、特定の条件値の評価方法を指定します。
コマンド mxquery -lmode <criteria-name> を使用すれば、ある特定
の条件名に有効な演算子を一覧で表示することができます。
条件オブジェクトの演算子が "is" および "is not" の場合、代わり
に "include" および "exclude" の sense 属性を使用します。
条件オブジェクトの演算子が "contains"、"starts with"、
"ends with"、または "equal to" の場合、システムは、指定された
演算子に対応する文字列照合アルゴリズムを使用してその条件値を
評価します。
条件オブジェクトの演算子の 1 つとして "between" 演算子が選択
されている場合、条件値として、1 つの値またはハイフン "-" 文字で
分離された 2 つの値のいずれかを指定する必要があります。
後者の場合、システムは、1つ目の値 (この値も含む) から 2 つ目の
値 (この値も含む) までを検索します。"between" 演算子を使用して
1 つの値だけを指定した場合、値は、"eq" 演算子を指定した場合と
同じように評価されます。
mxquery -lmode <criteria-name> コマンドは、"eq"、"gt"、"ge"、
"lt"、および "le" 演算子を返さないことに注意してください。
代わりに、コマンドは、演算子に相当する数学記号を返します。
"eq" 演算子は "=" 記号に相当します。
"gt" 演算子は ">" 記号に相当します。"ge" 演算子は ">=" 記号に
相当します。"lt" 演算子は "<" 記号に相当します。"le" 演算子は
"<=" 記号に相当します。数学記号が XML の予約済み字句でもあった
ため、これらの演算子が数学記号の代わりに使用されていました。
これらの字句を使用して XML を作成することは、ユーザにとって
非常に厄介な作業です。"equal to" と "eq" 演算子は同じものでない
ことに注意してください。"equal to" 演算子は、mxquery -lmode
コマンドが有効な演算子としてその値を返すときに使用します。
"equal to" 演算子は文字列の比較に使用されます。"eq" 演算子は、
その他のタイプの比較、たとえば IP アドレス、メモリ範囲、または
時刻の比較に使用されます。"eq" 演算子は、mxquery -lmode コマン
ドが有効な演算子として "=" 記号を返すときに使用します。
"between" 演算子とは異なり、"eq"、"gt"、"ge"、"lt"、
および"le" 演算子は、1 つの値だけを評価します。
-->
<!ATTLIST value operator ( is | is-not | contains | starts-with |
ends-with | equal-to | between | eq |
gt | ge | lt | le ) "is" >
<!--
ソフトウェア/ファームウェアのタイプの場合、ゼロ個以上の
sw-fw-value 要素を条件に含めることができます。sw-fw-value
要素は、その属性によって指定され、オプションとして
description 要素を含めることができます。
-->
<!ELEMENT sw-fw-value (description)? >
<!--
ソフトウェア/ファームウェア値は、条件として区分 (division)
を指定できます。区分は、ソフトウェア/ファームウェア条件に関連
付けられたバージョン コントロール レポジトリの入力済みの値
リストから得られます。
division 属性はオプション属性であり、システム内の関連付けられた
ソフトウェア/ファームウェア条件を見つけるために使用するものでは
ありません。システムがソフトウェア/ファームウェア条件を XML
ファイルに出力するときに、参考情報として division 属性を含めます。
-->
<!ATTLIST sw-fw-value division CDATA #IMPLIED >
<!--
ソフトウェア/ファームウェア値は、条件としてオペレーティング
システムを指定する必要があります。オペレーティング システムは、
ソフトウェア/ファームウェア条件に関連付けられたバージョン
コントロール レポジトリの入力済みの値リストから得られます。
-->
<!ATTLIST sw-fw-value operating-system CDATA #REQUIRED >
<!--
ソフトウェア/ファームウェア値は、条件としてパッケージ名を指定
する必要があります。パッケージ名は、ソフトウェア/ファームウェア
のパッケージまたはバンドルのいずれでも参照でき、
ソフトウェア/ファームウェア条件に関連付けられたバージョン
コントロール レポジトリの入力済みの値リストから得られます。
-->
<!ATTLIST sw-fw-value package CDATA #REQUIRED >
<!--
ソフトウェア/ファームウェア値は、クエリの間に利用可能なバージョン
に対して実行する演算を指定できます。デフォルトは "any" で、いずれ
の演算も実行されます。"any" 演算は、クエリが、指定した
ソフトウェア/ファームウェア条件のいずれのバージョンについても
一致を返す必要があることを示します。
"any" 演算の場合、version 属性は必須ではありません。この演算を
指定した場合、version 属性は無視されます。その他の演算子は、
version 属性を指定することが必須となります。
演算子は、「等しい」を表す "eq"、「大きい」を表す "gt"、「以上」
を表す "ge"、「小さい」を表す "lt"、および「以下」を表す "le" が
あります。
-->
<!ATTLIST sw-fw-value operator (any | eq | gt | ge | lt | le) "any" >
<!--
version 属性は、クエリ検索に適用されるバージョン値を指定します。
"any" 演算子を指定した場合、version 属性はオプション属性であり、
無視されます。
-->
<!ATTLIST sw-fw-value version CDATA #IMPLIED >
<!--
ソフトウェア/ファームウェア値は、条件としてパッケージの説明を
指定できます。説明は、ソフトウェア/ファームウェア条件に関連付け
られたバージョン コントロール レポジトリの入力済みの値リストから
得られます。
description 要素はオプションであり、システム内の関連付けられた
ソフトウェア/ファームウェア条件を見つけるために使用するものでは
ありません。システムがソフトウェア/ファームウェア条件を XML
ファイルに出力するときに、参考情報として description 属性を
含めます。
-->
<!ELEMENT description (#PCDATA) >
<!--
category 要素は、クエリ リスト内の各カテゴリを定義します。
category 要素には、カテゴリ名、カテゴリ タイプ、カテゴリ
アクセス、およびカテゴリの所有者を定義する各属性を記述します。
-->
<!ELEMENT category EMPTY >
<!--
カテゴリには、カテゴリ名を指定する name 属性が必要です。
-->
<!ATTLIST category name CDATA #REQUIRED >
<!--
カテゴリ アクセスのレベルは、public または personal のいずれも
可能で、デフォルトは personal です。
-->
<!ATTLIST category access ( public | personal ) "personal" >
<!--
カテゴリ タイプには、システム/デバイス、クラスタ、イベント、
ツー/タスクを関連付けることができ、デフォルトでは、
デバイス/システムが関連付けられています。
-->
<!ATTLIST category type ( DeviceViews | ClusterViews | EventViews |
ToolsViews ) "DeviceViews" >
<!--
カテゴリの所有者は、そのカテゴリを所有するユーザの名前を指定
します。つまり、オーナーは、指定したユーザのパーソナル クエリが
関連付けられたときのカテゴリを指定することになります。
オーナー フィールドはオプションです。
オーナー フィールドを指定せず、かつカテゴリが personal の場合、
カテゴリは、そのカテゴリをシステムに追加したユーザによって所有
されます。カテゴリが public の場合、オーナー フィールドは無視
され、システムは、デフォルトの管理ユーザをカテゴリの所有者に
任命します。
-->
<!ATTLIST category owner CDATA #IMPLIED >
要素
DTD で定義されているとおり、クエリ XML ファイルには以下の要素を記述で
きます。
クエリ XML ファイルの 1 行目は、次のように記述しなければなりません。
<?xml version="1.0" encoding="encoding-value" ?>
encoding-value パラメータは、有効なエンコード値に置き換えます。有効な
エンコード値は、次の Web サイトにあります。
http://www.iana.org/assignments/character-sets
XML ヘッダー行が指定されていない場合は、システムのデフォルトのエンコー
ドは "UTF-8" になります。
"query-list" 要素はクエリ XML ファイルに 1 度だけ記述され、クエリまた
はクエリ カテゴリ情報のリストを囲っている必要があります。"query-list"
要素には、ゼロ個以上の "query" 要素またはゼロ個以上の "category" 要素
を含めることができます。 "query-list" 要素に "query" 要素または
"category" 要素が含まれていない場合、対応する mxquery コマンドは何の効
果もありません。
"query" 要素は、クエリ XML ファイルにゼロ回以上記述できます。"query"
要素には 7 つの属性があります。
"id" 属性はオプション属性で、一意のクエリ ID を指定します。システム
は、既存のクエリを XML ファイルに出力するときに必ず "id" 属性を出力し
ます。ユーザは、既存のクエリの名前を変更したい場合にのみ、"id" 属性を
指定する必要があります。新しいクエリを追加するときには "id" 属性を指定
しないでください。システムが新しいクエリに id 値を割り当てるからです。
"name" 属性は必須属性で、クエリ名を指定します。ユーザは、"name" 属性に
新しい名前を指定するとともに、"id" 属性に既存のクエリの id を指定する
ことで既存のクエリの名前を変更することができます。
"type" 属性は必須属性で、クエリのタイプを指定します。これを指定すると
きには、システム タイプを表す "DeviceViews"、クラスタ タイプを表す
"ClusterViews"、イベント タイプを表す "EventViews"、またはタスクやツー
ルのタイプを表す "ToolsViews" を使用して指定する必要があります。
"ToolsViews" クエリ タイプとして定義されたクエリは、ポータル UI では利
用できないことに注意してください。
"access" 属性はオプション属性で、クエリをパブリック クエリにするかパー
ソナル クエリにするかを指定します。デフォルトは "personal" です。ユー
ザがパブリック クエリを指定する場合、パブリック リストを変更する権限が
必要となります。
"category-type" 属性はオプション属性で、クエリ タイプに関連付けられた
カテゴリとは異なるカテゴリをクエリに関連付けたい場合にのみ必要となりま
す。値は、"type" 属性と同じになります。たとえば、クエリ タイプが
"ClusterViews" であるクエリを定義し、このクエリに "DeviceViews" カテゴ
リ タイプを割り当てることができます。
"category-name" 属性は必須属性で、特定のカテゴリにクエリを割り当てま
す。システムには、"category-name" 属性によって指定されたカテゴリが存在
しなければなりません。
"owner" 属性はオプション属性で、クエリのオーナーを指定します。クエリの
オーナーが現在のユーザである場合、ユーザはこの属性を省略できます。クエ
リのオーナーが現在のユーザでない場合、ユーザはこのフィールドを指定する
必要があり、パブリック リストを変更する権限が必要となります。オーナー
の属性を指定するとき、この値が、システムによって認識されるユーザである
必要があります。
"query" 要素には、ゼロ個以上の "criteria" 要素を含めることができます。
"criteria" 要素は、クエリがシステムに照会すべき値を指定します。
"criteria" 要素には、ゼロ個以上の "value" 要素またはゼロ個以上の "sw-
fw-value" 要素を含めることができます (ただし両方を含めることはできませ
ん)。 "sw-fw-value" 要素は、ソフトウェア/ファームウェア条件の現在の名
前が "CriteriaBySoftwareComponent" であるときのみ使用できます。他の条
件はすべて、"value" 要素を使用してその条件値を指定します。criteria 要
素には 2 つの属性があります。
"name" 属性は必須属性で、条件名を指定します。条件名は、次のコマンドに
よって返される条件名のリストの 1 つでなければなりません。
mxquery -lcrit
"sense" 属性はオプション属性で、条件が包括条件または除外条件のいずれを
表すのかを指定します。許容値は "INCLUDE" または "EXCLUDE" で、デフォル
ト値は "INCLUDE" です。
"criteria" 要素は、ソフトウェア/ファームウェア条件を除くすべての条件に
ついて、1 つまたは複数の "value" 要素から構成されています。"value" 要
素は、クエリの条件の値と、場合によってはその演算を指定します。一部の条
件には事前に定義された値のリストが用意されており、ユーザはこの中から値
を選択して有効なクエリを構成する必要があります。ある条件についての有効
な選択値のリストは、次のコマンドを使用して得ることができます。
mxquery -lval <criteria-name>
たとえば、システム名でシステムをクエリする条件の選択値のリストを得るに
は、次のコマンドを使用することになります。
mxquery -lval CriteriaByName
mxquery コマンドを実行しても値のリストが返ってこなかった場合、その条件
には選択値のリストが備わっていない可能性があります。この場合、条件は、
"operator" 属性を使用して指定した演算とともに値を受け入れることができ
ます。次のコマンドを入力すれば、条件に演算モードがあるかどうかを知るこ
とができます。
mxquery -lmode <criteria-name>
コマンドが、演算モードとして "is" または "is not" を返した場合、その条
件には選択リストが備わっています。それ以外の場合、その条件では、ユーザ
が、一覧表示された演算モードの 1 つを条件値とともに指定する必要があり
ます。
特別な条件タイプとして、バージョン コントロール レポジトリに基づいたク
エリに使用するソフトウェア/ファームウェア条件があります。ソフトウェア/
ファームウェア条件の値を指定するには、"sw-fw-value" 要素を指定する必要
があります。 "sw-fw-value" の値には、ソフトウェア/ファームウェア条件の
指定に一意の属性が含まれています。
次のコマンドは、"sw-fw-value" 要素の各属性に相当する値を一覧で示しま
す。
mxquery -lval CriteriaBySWComponent
コマンド出力で、"System Type:" フィールドは "division" 属性に相当しま
す。"Operating System:" フィールドは "operating-system" 属性に相当しま
す。"Package Name:" フィールドは "package" 属性に相当します。
"Version:" フィールドは "version" 属性に相当します。"division" は、
"sw-fw-value" 要素を指定するときにはオプションであることに注意してくだ
さい。
"query" 要素に加えて、ユーザは "query-list" 要素内に "category" 要素も
指定できます。クエリ XML ファイルを使用して add 演算を実行するとき、シ
ステムは最初に "category" 要素を処理します。クエリ XML ファイル内での
その要素の位置には関係しません。
"query-list" 要素には、ゼロ個以上の "category" 要素を含めることができ
ます。"category" 要素は空の要素です。つまり、"category" 要素はすべて、
その属性によって指定されるということです。
"name" 属性はカテゴリ名を指定するもので、必須属性です。
"access" 属性は、カテゴリが "public" か "personal" かを指定します。
"public" カテゴリを追加するには、パブリック リストを変更する権限が必要
となります。
"type" 属性はカテゴリ タイプを指定します。カテゴリ タイプの値は、クエ
リ タイプに一致します。
"owner" 属性はカテゴリの所有者を指定します。オーナー フィールドは、カ
テゴリが personal カテゴリで、かつオーナーが、クエリ XML ファイルを処
理する現在のユーザと異なる場合にのみ必要となります。
コメント
XML ファイルにはコメントを記述することができます。コメントは "<!--" で
始まり、"-->" で終了しなければなりません。コメントは開始タグと終了タグ
の間で、複数行に渡って記述できます。
例
本セクションでは、クエリ XML ファイルの例を示します。
次の例は、重要なイベントを報告するクエリの定義を記述したファイルを示し
ています。
<?xml version="1.0" encoding="UTF-8"?>
<query-list>
<query name="Important Events" type="EventViews"
category-name="EventsBySeverity" access="public" >
<criteria name="CriteriaByEventSeverity" sense="INCLUDE">
<value>Critical</value>
<value>Major</value>
<value>Minor</value>
</criteria>
</query>
</query-list>
次の例は、重要な未確認イベントを報告するために 2 つの条件タイプを指定
するクエリの定義を記述したファイルを示しています。
<?xml version="1.0" encoding="UTF-8"?>
<query-list>
<query name="Important Uncleared Events" type="EventViews"
category-name="EventsBySeverity" access="public" >
<criteria name="CriteriaByClearedStatus" sense="INCLUDE">
<value>Not Cleared</value>
<value>In Progress</value>
</criteria>
<criteria name="CriteriaByEventSeverity" sense="INCLUDE">
<value>Critical</value>
<value>Major</value>
<value>Minor</value>
</criteria>
</query>
</query-list>
次の例は、オペレーティング システム名に文字列 "Windows" が含まれている
システムについて報告するクエリの定義を記述したファイルを示しています。
<?xml version="1.0" encoding="UTF-8"?>
<query-list>
<query name="All Windows" type="DeviceViews"
category-name="myqueries" >
<criteria name="CriteriaByOSNameComparison" sense="INCLUDE">
<value operator="contains">Windows</value>
</criteria>
</query>
</query-list>
次の例は、指定した範囲内の IP アドレスを含むシステムについて報告するク
エリの定義を記述したファイルを示しています。
<?xml version="1.0" encoding="UTF-8"?>
<query-list>
<query name="IP Range" type="DeviceViews"
category-name="myqueries" >
<criteria name="CriteriaByIPAddress" sense="INCLUDE">
<value operator="between">255.101.168.50-255.101.168.100</value>
</criteria>
</query>
</query-list>
次の例は、"ProLiant Support Pack for Microsoft Windows 2000 (English
(US))" という名前のソフトウェアがバンドルされたシステムについて報告す
るクエリの定義を記述したファイルを示しています。
<?xml version="1.0" encoding="UTF-8"?>
<query-list>
<query name="SW Bundle Query" type="DeviceViews"
category-name="myqueries" >
<criteria name="CriteriaBySWComponent" sense="INCLUDE">
<sw-fw-value division="System Software Baseline"
operating-system="Microsoft Windows 2000"
package="ProLiant Support Pack for Microsoft Windows 2000 (English (US))"
operator="any">
</sw-fw-value>
</criteria>
</query>
</query-list>
制限事項
このコマンドは、CMS 上でのみ動作します。
著者
mxquery は、HP により開発されました。
参照 (HP-UX)
mxquery(1M)
参照 (Linux)
mxquery(8)