N1 Provisioning Server は、ファームレベルとリソースプールレベルで、チャージ可能イベントを生成します。 チャージ可能イベントのすべてのメッセージには、UTC 形式で表現された時刻、シーケンス番号、およびイベントの詳細が含まれています。 チャージ可能イベントのすべてのメッセージは、次の共通の形式を取ります。
event-message ::= utc-date-time ",” sequence-info ",” event-info ",” event-details
event-info ::= "event” "=” event
event ::= "resource” | "control” | "farm”
event-details ::= rl-event-desc | cl-event-desc | farm-event-desc
シーケンス番号により、N1 Provisioning Server 内のイベントが一意に識別されます。 シーケンスには次の定義が含まれます。
sequence-info ::= "seq” "=” fabric-name ":” sequence-id
チャージ可能イベントのレコードには、データを生成したコントロールプレーンサーバーのタイムゾーンでの、イベントタイムスタンプが含まれています。
通常、イベントは名前/値のペアのシーケンスとして記述されます。 特に断りのない限り、XML 形式に簡単に変換できるよう、すべての値は二重引用符で囲まれています
次の定義は、前の節で説明されている、ファームレベルとリソースプールのすべての定義の値に適用されます。
number ::= digit { digit }
digit ::= "0" | "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9"
|
ここで、number は 10 進数値を表します。
name ::= letter { letter | digit | special } | quoted-string
special ::= "." | "-" | "_"
ここで、value::= は非空白文字の連続したシーケンスを表します。
コンマ (",") が含まれる名前や値は、二重引用符記号で囲む必要があります。 このような場合、1 つの二重引用符記号は 2 つの連続した二重引用符としてエスケープされます (つまり "" は、二重引用符で囲まれた 1 つの二重引用符を表します)。
fabric-name、account-name、 image-name、および dns-name は、名前であると定義されます。
そのため、sequence-id、account-id、device-id、farm-id、device-id、disk-id、vlan-id、および disk-size は数値であると定義されます。 また、disk-size と mask-len は両方とも number であると定義されます。
ID は N1 Provisioning Server によって設定および作成されます。 名前は、N1 Provisioning Server のユーザーにより作成されます。 たとえば、image-name は Control Center を操作するユーザーにより指定されます。
subnet-mask は二重引用符で囲まれた文字列で、TCP/IP サブネットマスクを表します。 一般的に、文字列は IP アドレスの形式になります。
ipaddr ::= number "." number "." number "." number
ここで、number は 0 から 255 の範囲を取ります。 IP アドレスは、サブネットマスクと同じ形式を取るよう定義されています。
utc-date-time の定義は次のようになります。
utc-date-time ::= utc-date utc-time
utc-date ::= year "-" month "-" day
utc-time ::= hours ":" minutes ":" seconds [ "." subseconds ]
ここで、year は数値で、month は範囲が 1 から 12 である数値で、day は範囲が 1 から 31 である数値です。
hours は範囲が 0 から 23 である数値で、minutes と seconds は範囲が 0 から 59 である数値です。 subseconds は 数値です。
wml-description は、指定したデバイスの WML アーキテクチャーです。 アーキテクチャーは、二重引用符で囲まれた文字列であると定義されています。
ファームレベルイベントは、ファームが作成または停止された時点を表します。 イベントのメッセージはファーム ID に関連付けられている顧客を表すため、後でリソースプールイベントとファームレベルイベントを関連付けることができます。 ファームレベルイベントは、次の例のような構造になっています。
farm-event-desc ::= farm-operation "," farm-info "," farm-state-info "," account-info
farm-operation ::= "op" "=" farm-op
farm-op ::= "add" | "del" | "update"
farm-info ::= "farm-id" "=" farm-id
farm-state-info ::= "state" "=" farm-state
farm-state ::= "new" | "active" | "standby" | "deactivated"
account-info ::= "account-id" "=" account-id [ "," "name" "=" account-name ]
2003-01-20 14:00:01.0,newyork:1001,event="farm",op="add",farm-id="99",state="ACTIVE", account-id="jdoe"
1001 はこのイベントのシーケンス ID です。 ファーム 99 が追加され、ACTIVE 状態になっています。 このイベントは、2003 年 1 月 20 日の 14:00:01 に発生しました。
2003-01-20 19:10:01.0,newyork:1022,event="farm",op="update",farm-id="99", state="UPDATE",account-id="jdoe"
1022 はこのイベントのシーケンス ID です。 ファーム 99 が更新され、UPDATE 状態になっています。 このイベントは、2003 年 1 月 20 日の 19:10:01 に発生しました。
リソースプールイベントは、リソースが割り当てられた時点、リソースが利用可能になった時点、リソースに障害が発生した時点、およびリソースの割り当てが解除された時点を表します。 リソースプールイベントの定義は次のようになります。
rl-event-desc ::= rl-operation "," farm-info "," category-info "," resource-desc [ "," account-info ]
rl-operation ::= "op" "=" rl-op
rl-op ::= "add" | "del" | "update" | "avail" | "fail" | "reboot"
farm-info ::= "farm-id" "=" farm-id
category-info ::= "category" "=" category
category ::= "device" | "disk" | "vlan" | "subnet" | "ipaddress"
resource-desc ::= device-desc | disk-disc | vlan-desc | subnet-desc | ipaddr-desc
次の表に、イベントの種類と、イベントが発生する時点を示します。
イベント |
発生時点 |
---|---|
"add” |
サーバーなどのデバイスが割り当てられた時点 |
"avail” |
デバイスが使用可能になった時点 |
"fail” |
デバイスに障害が発生した時点 |
"del” |
デバイスの割り当てが解除された時点 |
"add” and "avail” |
デバイスが復元された時点 |
デバイスに関係するすべてのイベントにはデバイス ID が含まれています。 イベントがディスクに関係する場合は、イベントにはディスク ID が含まれています。 デバイス ID とディスク ID により、すべてのデバイスとディスクを正確に追跡できます。
デバイスイベントの定義は次のようになります。
device-desc ::= deviceclass-info "," devicetype-info "," deviceid-info
deviceclass-info ::= "class" "=" device-class
device-class ::= "lb" | "fw" | "server" | "nas" | "ethport"
devicetype-info ::= "type" "=" wml-description
deviceid-info ::= "device-id" "=" device-id
"ethport" は管理対象外 Ethernet デバイスなど、IP アドレスを持つその他のデバイスに与えられる名前です。
2003-02-01 10:00:00.0,newyork:2998,event="resource",op="add",farm-id="99", category="device",class="server",type="sun-svr-blade",device-id="50101", service-units="0" |
2003 年 2 月 1 日の 10:00:00、newyork I-Fabric で、シーケンス id 2998 のリソースがファーム 99 に追加されました。 このリソースは device でした。 device のクラスはサーバーでした。 サーバーの種類は、sun-svr-blade サーバーでした。 実際にデバイスに割り当てられた ID は 50101 でした。
ディスクイベントの定義は次のようになります。
disk-desc ::= diskclass-info "," disktype-info "," diskid-info size-info "," [ "," image-info]
diskclass-info ::= "location" "=" disk-location
disk-location ::= "internal" | "external"
disktype-info ::= "type" "=" wml-description
diskid-info ::= "disk-id" "=" disk-id
size-info ::= "size" "=" disk-size
image-info ::= "image-name "=" image-name
2003-02-01 10:00:10.0,newyork:2999,event="resource",op="add",farm-id="99", category="disk",location="internal",type="local",disk-id="62", size="1000000000",image-name="small_solaris_blade"
2003 年 2 月 1 日の 10:00:10、newyork I-Fabric で、シーケンス ID 2999 のリソースがファーム 99 に追加されました。 このリソースは disk でした。 ディスクの位置は internal です (つまり、物理的にサーバー内に位置しています)。 ディスクの種類は local です。 物理ディスク ID は 62 です。 バイト単位でのサイズは 1000000000 です。 ディスク上に配置されているイメージは small_solaris_blade です。
VLAN イベントの定義は次のようになります。
vlan-desc ::= "vlan" "=" vlan-id
2003-02-01 10:00:25.0,newyork:3002,event="resource",op="add",farm-id="99", category="vlan",vlan="22"
2003 年 2 月 1 日の 10:00:25、newyork I-Fabric で、ファーム 99 に VLAN が追加されました。VLAN ID は 22 です。
サブネットイベントの定義は次のようになります。
subnet-desc ::= subnet-mask-info "," masklen-info "," addr-type-info
subnet-mask-info ::= "subnet-mask" "," subnet-mask
masklen-info ::= "mask-len" "," mask-len
addr-type-info ::= "type" "," addr-type
addr-type ::= "internal" | "external"
2003-02-01 10:00:15.0,newyork:3000,event="resource",op="add",farm-id="99", category="subnet",subnet="10.10.0.81",mask-len="28",type="external"
2003 年 2 月 1 日の 10:00:15、newyork I-Fabric で、イベント 3000 が生成されました。 リソースはファーム 99 に追加されました。 リソースは subnet でした。 サブネットの位置は 10.10.0.81 で、サブネットのマスク長は 28 で、サブネットの種類は external です。
IP アドレスイベントの定義は次のようになります。
ipaddr-desc ::= ipaddr-info "," addr-type-info [ "," dns-name]
ipaddr-info ::= "ipaddress" "=" ipaddress
2003-02-01 10:00:20.0,newyork:3001,event="resource",op="add",farm-id="99", category="ipaddress",ipaddress="10.10.0.83",type="external",server1
2003 年 2 月 2 日の 10:00:20、newyork I-Fabric で、イベント 3001 が生成されました。 イベントは resource イベントでした。 リソースはファーム 99 に追加されました。 リソースは IP アドレスでした。 IP アドレスは 10.10.0.83 で、これは外部 IP アドレスであり、その IP アドレスに対応する DNS 名は server1 です。