課金計算の例を以下に示します。
【条件】
締め日は月末(1日0:00)
2011年4月の課金計算を行う
cpu、cpu_clock、memoryは時間料金、template、vm、diskは月額料金
時間料金の商品は、仮想サーバが起動している間課金する(時間は切上げ)
月額料金の商品は、月内に1回でも配備されたら課金する
【手順】
商品マスタメンテナンスコマンドを使用して、課金情報ファイルを出力します。
【Windows】
productmaintain.bat export c:\chargeinfofile
【Linux】
productmaintain.sh export /tmp/chargeinfofile
以下に、出力される課金情報ファイルの例を示します。
課金ログ出力コマンドを使用して、課金計算開始日時の課金日初ログと、計算期間の課金イベントログを出力します。
【Windows】
ctchg_getmeterlog.bat -start 2011-04-01 -end 2011-04-01 -period -outputfile periodfile (2011年4月1日の課金日初ログを出力) ctchg_getmeterlog.bat -start 2011-04-01 -end 2011-04-30 -event -outputfile eventfile (2011年4月度の課金イベントログを出力)
【Linux】
ctchg_getmeterlog.sh -start 2011-04-01 -end 2011-04-01 -period -outputfile periodfile (2011年4月1日の課金日初ログを出力) ctchg_getmeterlog.sh -start 2011-04-01 -end 2011-04-30 -event -outputfile eventfile (2011年4月度の課金イベントログを出力)
以下に、出力される課金ログファイルの例を示します。
No.1~3が課金日初ログ、No.4~14が課金イベントログです。
課金ログを仮想システム(vsys_id)、事象発生時刻(event_time)の順でソートします。
仮想システムID = VSYS01について課金計算します(対象課金ログはNo.1~4)。
仮想システムごとに、課金日初ログの内容を課金対象商品として抽出します。
No.1~3の課金日初ログを抽出します。ソフトウェア(resource_tyep=softwareのログ)と、システムディスク(resource_tyep=vserverのログにあるdisk_sizeの値)は、課金計算の対象にしません。
(抽出日時:4/1 0:00:00)
仮想システムごとに、時系列に課金ログをチェックし、No.4の課金イベントログからNo.3までの期間分、課金対象商品に対して課金を計算します。
(抽出日時:4/1 9:00:00)
No.3~4の期間は、仮想サーバが停止(STOPPED)していたため、月額料金だけを計算します。
以下の計算を課金対象商品に対して行い、金額を合計します。
商品の単価×単位量(月額のため1)×数量
No.4のイベントに応じて、課金対象商品の状態を変更します。
月額料金は計算済みとし、No.4のイベントはeventがSTARTのため、statusを稼動(RUNNING)に変更します。
5.と6.の操作を課金計算終了日時まで繰り返します。課金計算終了日時まで課金イベントがないため、以下の計算をします。
No.4~課金計算終了日時(4/1 9:00:00 ~ 4/30 23:59:59までの711時間)までは、仮想サーバが稼動(RUNNING)していたため、その分の時間料金を計算します。以下の計算を課金対象商品に対して行い、金額を合計します。
商品の単価×単位量(時間課金のため711)×数量
VSYS01に対しては、以下の金額となります。
\300 + \2,204.1 = \2,504.1
仮想システム(VSYS02)に対して課金を計算します(対象課金ログはNo.5~14)。
VSYS02に対して課金日初ログはないため、No.5~8のイベントから課金対象商品を抽出します。
ソフトウェア(resource_tyep=softwareのログ)と、システムディスク(resource_tyep=vserverのログにあるdisk_sizeの値)は対象にしません。
(抽出日時:4/30 13:00:00)
時系列に課金ログをチェックし、No.9のイベントログから、No.8のイベントまでの期間分、課金対象の商品に対して課金を計算します。
(抽出日時:4/30 13:10:00)
No.8~9の期間は、仮想サーバが停止(STOPPED)していたため、月額料金だけを計算します。
以下の計算を課金対象商品に対して行い、金額を合計します。
商品の単価×単位量(月額のため1)×数量
No.9のイベントに応じて、課金対象商品の状態を変更します。
月額料金は計算済みとし、No.9のイベントはeventがSTARTのため、statusを稼動(RUNNING)に変更します。
No.10のイベントから、No.9のイベントまでの期間分、課金対象商品に対して課金を計算します。
(抽出日時:4/30 18:00:00)
No.9~10の期間(4/30 13:10:00 ~ 4/30 18:00:00までの5時間)は、仮想サーバが稼動(RUNNING)していたため、その分の時間料金を計算します。
以下の計算を課金対象商品に対して行い、金額を合計します。
商品の単価×単位量(時間課金のため5)×数量
No.10のイベントに応じて、課金対象商品の状態を変更します。
No.10のイベントはeventがSTOPのため、statusを停止(STOPPED)に変更します。
No.11のイベントから、No.10のイベントまでの期間分、課金対象商品に対して課金を計算します。今回は課金が発生するものはありません。
(抽出日時:4/30 19:00:00)
No.11のイベントに応じて、課金対象商品の状態を変更します。
No.11のイベントはeventがDELETEのため、課金対象商品を削除します。課金計算終了日時まで課金イベントがないため、VSYS02の合計金額は以下となります。
\800 + \18 = \818
VSYS01とVSYS02について、利用部門ごとに集計して請求書を発行します。