Maximo シリーズ: Part6 - エスカレーション

Maximo のエスカレーション機能について紹介します。

Maximo のエスカレーション機能とは、定期的に各種レコードを検査し、設定した条件に合致したレコードがあった場合、様々なアクションを自動的に実行させることのできる機能です。例えば、定期的にインシデントレコードを検査し、インシデントがレポートされてから 24 時間以上、何の応答もされてないレコードがあった場合に、担当者にメールで通知するといったことが可能です。
エスカレーション機能と似ている機能として、クーロンタスク機能があります。本稿では、エスカレーション機能とクーロンタスク機能の違いについても説明します。

久冨 進作, Tivoli サービス / ソフトウェア開発研究所, IBM

久冨 進作(くどみ しんさく) 日本アイ・ビー・エム株式会社 ソフトウェア開発研究所に勤務。
2004年入社。Tivoli製品の開発及びTivoli製品を利用したお客様システムの構築に従事。現在は、Tivoliサービスにて、Maximo関連製品のデリバリー、コンサルティングを担当。



2009年 4月 17日

はじめに

Maximo は Maximo Asset Management/Tivoli Asset Management for IT/Tivoli Service Request Manager/その他各種 ISM 製品の基本となるフレームワークです。このフレームワークに組み込まれ、様々な業務アプリケーションから使用される機能の 1 つにエスカレーション機能があります。エスカレーション機能とは、定期的に各種レコードを検査し、設定した条件に合致したレコードがあった場合、様々なアクションを自動的に実行させることのできる機能です。例えば、定期的にインシデントレコードを検査し、インシデントがレポートされてから 24 時間以上、何の応答もされてないレコードがあった場合に、担当者にメールで通知するといったことが可能です。
あるエスカレーションタスクを定義するためには、以下のものを定義する必要があります。

  • 検査対象となるレコード
  • 検査条件
  • 実行するアクション
  • 検査実行スケジュール
  • その他オプション

ここでは、ひとつのエスカレーションタスク (上記、インシデントレコードを検査して、24 時間以上応答が無かった場合、担当者にメールを送るというタスク) を例にとり、具体的に各種定義をどのように設定していけばよいか解説します。
また、応用として、複数検査条件の定義の仕方、使い方についても解説します。
最後にエスカレーション機能と似ている機能であるクーロンタスク機能との違いやエスカレーション機能を使用する上での注意点等についてまとめます。


エスカレーションの定義と実行

あるひとつのエスカレーションタスク (インシデントレコードを検査して、24 時間以上応答が無かった場合、担当者にメールを送るというタスク) を例にとり、エスカレーションの定義の仕方、実行方法について解説していきます。インシデントアプリケーションが入っていない製品を導入している場合は、インシデント (INCIDENT) のところを、サービス要求 (SR) などの導入されているアプリケーションのオブジェクトに読み替えることで同様のエスカレーションを定義することができます。エスカレーションの作成方法は他のオブジェクトが検査対象でも変わりはありません。

Step1. エスカレーションの新規作成

まずは、エスカレーションの新規作成を行いましょう。エスカレーションの新規作成権限のあるユーザで Maximo にログインし、エスカレーションアプリケーションを開いてください。

エスカレーションアプリケーションは、リンク先メニューから「リンク先」→「システムの構成」→「プラットフォームの構成」→「エスカレーション」とたどっていくことで、開くことが出来ます。エスカレーションアプリケーションが開けたら、以下の図 1 に示した新規作成ボタンをクリックします。

図 1. エスカレーションの新規作成
図 1. エスカレーションの新規作成

エスカレーションを新規作成すると、エスカレーションの ID が自動採番されますが、今回は、わかりやすさのために ESC1 という名前に変えておきます。

以上でエスカレーションの新規作成は出来ました。Step2 の検査対象レコードの定義に進みます。

Step2. 検査対象レコードの定義

検査対象レコードの定義は、「適用先」と「条件」で行います。「適用先」には、検査対象となるレコードのテーブル名 (オブジェクト名) を指定します。今回の場合は、INCIDENT になります。「条件」には、「適用先」で指定したテーブルから検査対象となるレコードを絞り込むための条件を Where 文節の形式で指定します。今回のケースでは、発生してから何も応答が無い INCIDENT を検査したいので、ステータスが「新規」のものを検査対象とします。「条件」には、「STATUS = ‘新規’」と入力します。Where 文節の詳しい書き方は、「Maximo シリーズ Part 3 - Maximo Query」を参照してください。

入力した結果、図 2 のようになります。

図 2. 検査対象レコードの定義
図 2. 検査対象レコードの定義

ここで一旦、保存ボタンをクリックし、レコードを保存しておきましょう。保存してもエスカレーションのステータスをアクティブにしない限り、エスカレーションタスクの実行は始まりませんので、安心して保存してください。

以上で、検査対象レコードの定義が出来ました。Step3 の検査条件の定義に進みます。

Step3. 検査条件の定義

Step2 で指定した検査対象レコードの中で、アクションを実行すべきレコードを判断するための検査条件をエスカレーション・ポイントとして指定します。エスカレーション・ポイントのところにある新規行ボタンをクリックし、エスカレーション・ポイントを作成してください。今回の場合、レポートされてから 24 時間以上経っているレコードを探したいので、「経過時間属性」に「REPORTDATE」、「経過時間間隔」に「24」、「計測単位間隔」に「時間」を入力してください。
「エスカレーション・ポイントの条件」のところには、時間以外に検査条件が必要な場合に Where 文節形式でその条件を記述します。今回の場合は、特に必要ありませんので、空欄のままにします。(Step2 で指定した「条件」のところを空欄にし、こちらの「エスカレーション・ポイントの条件」に「STATUS=’新規’」と入力しても得られる結果は同じになりますが、内部的な動きには違いがあります。「条件」に指定した場合と「エスカレーションの条件」に指定した場合で内部的にどのように動きが違うかは、エスカレーション機能を使用する上での注意点のところで解説します)
「繰り返し?」チェックボックスはチェックしないままにしておきます。(この「繰り返し?」チェックボックスがどのような意味があるかは、Step6 その他オプションの定義のところで解説します)

入力した結果図 3 のようになります。

図 3. エスカレーション・ポイントの定義
図 3. エスカレーション・ポイントの定義

ここでも、一旦レコードを保存しておきましょう。
以上で、検査条件の定義が出来ました。Step4 実行するアクションの定義に進みます。

Step4. 実行するアクションの定義

Maximo では、メール通知のアクションは「通信テンプレート」で、メール通知以外のアクションは、「アクション」で定義します。アクションという言葉が違う 2 つの意味で出てきており、混乱してしまうので本稿では以下のように呼び分けることにします。

  • メール通知を含め、一般的な意味での自動アクションをアクションと呼びます
  • Maximo 上で「アクション」と定義されるものを Maximo アクションと呼びます

エスカレーションでは、実行するアクションとして、通信テンプレートと Maximo アクションのどちらも指定することができます。今回は、インシデント担当者へのメール通知がしたいので、通信テンプレートの方を指定することになります。早速通信テンプレートを指定したいところですが、まだ必要な通信テンプレートができていないので、通信テンプレートの作成からはじめましょう。
作成中のエスカレーションをまだ保存されていない方は、一旦保存して、通信テンプレートアプリケーションを開いてください。通信テンプレートアプリケーションは、リンク先メニューから
「リンク先」→「システムの構成」→「プラットフォームの構成」→「通信テンプレート」
とたどっていくことで、開くことが出来ます。

通信テンプレートを定義するには、以下の 3 点を定義する必要があります。

  • 通信テンプレートをキックするレコードのテーブル名 (オブジェクト名)
  • メールの内容 (送信元、件名、本文)
  • メールの宛先

まずは、通信テンプレートを新規作成し、通信テンプレートをキックするレコードのテーブル名を定義することにしましょう。新規作成ボタンをクリックしてください。通信テンプレートの ID が自動採番されますが、ここではわかりやすいように MAIL1 という名前に変えておきましょう。この通信テンプレートをキックするレコードのテーブル名は、「適用先」に入力します。今回の通信テンプレートは INCIDENT からキックされるので、「INCIDENT」と入力します。

次にメールの内容を入力していきます。
「送信元」フィールドは、メール受信者に送信元として表示される e-mail アドレスを入力するフィールドです。今回は、test@test.com と入れておくことにします。
「件名」及び「メッセージ」のフィールドでは、この通信テンプレートをキックしたインシデントレコードの各フィールドの値や関係を使って別テーブルの値を参照し、その値を入れることができます。今回の「件名」、「メッセージ」フィールドには、以下の Table 1 のように値を入れましょう。

Table 1. 「件名」、「メッセージ」に入力する値
フィールド名
件名インシデント番号: :ticketid に関して
メッセージ:affectedperson.displayname 様
貴殿が担当者となっているインシデント番号: :ticketid に関して、レポートされてから、24 時間以上経過しましたが、何の応答もされていません。
至急対応するようお願いします。

インシデントの概要は、以下の通りです。
インシデント番号: :ticketid
優先度: :reportedpriority
インシデントの要約: :description

コロンから始まる文字列は特別な意味を持ち、「件名」にある:ticketid のところは、この通信テンプレートをキックしたインシデントの ticketid フィールドの値が参照されて、その値に置換されることになります。:ticketid の後ろに半角スペースをいれることに注意してください。そうしないと「に関して」までがフィールド名だと認識してしまい、正しく置換が行われません。
「メッセージ」にあるドット ( . ) を使って連結された:affectedperson.displayname という式は、affectedperson という関係を使って、affectedpersonid フィールドに入っている担当者 ID を持つ担当者の displayname フィールドの値を、PERSON テーブルから参照する、という意味になります。

1 点補足すると、affectedperson という関係は、INCIDENT ではなく、TICKET オブジェクトに定義されている関係になります。INCIDENT は TICKET の View になっているので、 (View になっていることを Maximo では、INCIDENT は TICKET を拡張したものと表現する場合があります) TICKET に定義された関係を使用することが出来ます。
ここまで入力したところで一旦保存をしましょう。以下の図 4 のような状態になっているはずです。

図 4. 適用先及び、メールの内容を入力した状態
図 4. 適用先及び、メールの内容を入力した状態

次にメールの宛先を入力しましょう。
通信テンプレートアプリケーションの受信者タブをクリックしてください。

メールの宛先 (受信者) には、ロール、担当者、担当者グループ、電子メールアドレスが指定できます。宛先がある決まった担当者や担当者グループ、電子メールアドレスでよい場合は、この三つが使えます。しかし、今回のメールの宛先は、インシデント担当者であるため、エスカレーションの検査で検出されたインシデントレコードの担当者フィールド (今回は影響を受ける担当者フィールドを使用することにします) に入力されている値によって変わります。この通信テンプレートをキックしたインシデントレコードの affectedpersonid を id とする担当者にメールを送る必要があります。

そこでロールを使用することになります。データセットタイプというタイプのロールを使用すると、通信テンプレートの「件名」、「メッセージ」のところで出てきたコロン (:) から始まる式を利用でき、レコードの値に従った宛先を定義できます。通常、ここで、インシデントレコードの affectedpersonid を id とする担当者を意味するロールを定義する必要がありますが、このロールはすでに AFFECTEDBY という名前で事前定義されていますのでこちらを使うことにしましょう。

まずは、図 5 に示した、ロール脇の四角ボタンをクリックし、ロール指定画面を展開します。

図 5. ロール指定画面の展開
図 5. ロール指定画面の展開

展開できましたら、新規行ボタンをクリックし、「ロール」フィールドのところに AFFECTEDBY と入力してください。
また、「宛先?」チェックボックスにチェックを入れてください。
ここまで入力できましたら一旦レコードを保存しましょう。以下の図 6 のような状態になっているはずです。

図 6. 受信者の指定を行った状態
図 6. 受信者の指定を行った状態

最後にステータスをアクティブにします。
ステータス変更ボタンをクリックし、ステータスをアクティブにしてください。

通信テンプレートの作成ができましたので、エスカレーション:ESC1 に戻り、今作成した通信テンプレート:MAIL1 をアクションとして指定しましょう。エスカレーションアプリケーションに移動し、ESC1 を開いてください。ESC1 が開けましたら、下部にある通知タブをクリックしてください。通知の中にある、新規行ボタンをクリックし、テンプレートに先ほど作成した MAIL1 を指定してください。ここまで、できたところで一旦保存してください。以下の図 7 のような状態になっているはずです。

図 7. 通知までを設定した状態
図 7. 通知までを設定した状態

以上で、実行するアクションの定義が出来ました。Step5. 検査実行スケジュールの設定に進みます。

Step5. 検査実行スケジュールの設定

検査実行のスケジュールの設定画面は、スケジュールフィールドの右にあるスケジュールボタンをクリックすると表示されます。

図 8. スケジュール設定画面の表示
図 8. スケジュール設定画面の表示

デフォルトでは、1 時間おきに毎時 00 分に実行されるスケジュールになっています。今回のエスカレーションの場合、1 時間ごと程度がちょうど良いので、デフォルトのままの設定しておきましょう。プレビューボタンをクリックし、スケジュールを確認したら OK ボタンをクリックして、スケジュールを設定してください。

以上で、スケジュールの設定は出来ました。Step6 その他オプションの定義に進みます。

Step6. その他オプションの定義

これまでに設定してきた内容で、エスカレーションを実行するための十分な情報が設定できていますが、他にもいくつか設定できるオプションがありますので、それらの意味を解説しながら、設定していきましょう。
まず、サイト及び組織ですが、これらは、サイトレベル、組織レベルのデータに対して、エスカレーションの検査を実行する対象のレコードをサイト、組織で限定するためのオプションです。インシデントの場合はシステムレベルのデータになりますのでこの設定は出来ません。(サイトレベル、組織レベル、システムレベルといったものがどういう意味を持つのかに関しては、Maximo のマニュアル等、各種資料を参照ください)
次に、正常な実行エントリーの作成?というチェックボックスですが、これは、成功時にも ESCSTATUS テーブルに実行結果の記録をとるかどうかを示すチェックボックスになります。ESCSTATUS テーブルに関して簡単に解説すると、デフォルトではエスカレーションの実行がエラーになった場合、ESCSTATUS テーブルにそのエスカレーションの実行状況 (エスカレーション ID, 実行日時、検査に引っかかったレコード数、エラーメッセージなど) が記録されます。正常な実行エントリーの作成? チェックボックスにチェックが入っていると図 9 のように成功時にも ESCSTATUS テーブルに実行状況が記録されるようになります。今回は、記録がとられるのか確かめるためにもチェックを付けておきましょう。

図 9. ESCSTATUS テーブルのレコードを DB2 コントロールセンターで表示
図 9. ESCSTATUS テーブルのレコードを DB2 コントロールセンターで表示

最後にエスカレーション・ポイントの中にある「繰り返し?」というチェックボックスですが、こちらは、検査に引っかかったレコードが、あった際にアクションを繰り返すかを示すチェックボックスになります。今回の場合、こちらをチェックしておくと、検査に引っかかったインシデントレコードがあった場合、何らかの応答がされるまでエスカレーションが実行されるたびにメールが繰り返し送信されることになります。チェックしていないと、最初の 1 回だけメールが送られることになります。今回のケースでは、チェックしないでおきましょう。

Step7. 実行及び確認

それでは、作成したエスカレーションを実行し、稼動を確認しましょう。まずは、事前準備として、以下のことをしておきます。

  • SMTP サーバ接続設定の確認
  • テスト用に、エスカレーションの稼動スケジュールを 1 分ごと、エスカレーション・ポイントを発生から 1 分以上に変更
  • インシデントを新規作成し、影響を受ける担当者フィールドにメールの宛先となる担当者 ID を入力

次にエスカレーションアプリケーションに移動し、エスカレーションをアクティブにします。ESC1 を開いた状態で、セレクトアクションメニューからエスカレーションのアクティブ化/非アクティブ化を実行します。図 10 にあるようにフィールドがグレーアウトされ、「アクティブ?」チェックボックスにチェックが付いたら成功です。エスカレーションの実行が始まっています。

図 10. アクティブ化されたエスカレーション
図 10. アクティブ化されたエスカレーション

図 11 にあるようなメールが届けば成功です。皆さん届きましたね?おめでとうございます!!

図 11. エスカレーションより送信されるメール
図 11. エスカレーションより送信されるメール

複数検査条件の定義

続いて、複数検査条件の定義に移ります。
今回は、レポートされてから 48 時間以上経過しても応答がされていない INCIDENT があった場合、担当者の上司にも CC を入れてメールで通知するといった検査を追加することにしましょう。Maximo のエスカレーションでは、複数のエスカレーション・ポイントを定義でき、各エスカレーション・ポイントそれぞれに異なるアクションを定義できるので、このような複数検査条件の定義が可能です。

Step1. エスカレーションの非アクティブ化とエスカレーション・ポイントの追加

まず、これまで作ってきた ESC1 を編集できるように、非アクティブ化しましょう。エスカレーションアプリケーションで ESC1 を開き、セレクトアクションメニューからエスカレーションのアクティブ化/非アクティブ化を実行します。グレーアウトされていた各フィールドがまた編集可能になり、「アクティブ?」チェックボックスのチェックが外れるはずです。
エスカレーションを非アクティブ化し、編集ができるようになりましたら、エスカレーション・ポイントのところの新規行ボタンをクリックし、エスカレーション・ポイントを新規作成してください。ここで、本来は 48 時間と入れるところなのですが、今回はテストなので、3 分にしましょう。「経過時間属性」に「REPORTDATE」、「経過時間間隔」に「3」、「計測単位間隔」に「分」を入力してください。

ここまでできたところで一旦保存しましょう。図 12 にあるようにエスカレーション・ポイントが 2 つ定義された状態になります。

図 12. 二つのエスカレーション・ポイントが定義された状態
図 12. 二つのエスカレーション・ポイントが定義された状態

以上で、エスカレーションの非アクティブ化とエスカレーション・ポイントの追加が出来ました。Step2 実行するアクションの定義に進みます。

Step2. 実行するアクションの定義

まず、追加した方のエスカレーション・ポイントにはまだ Maximo アクションも通知も設定されていないことを確認します。2 番目のエスカレーション・ポイントを選択した状態で、アクションタブ、通知タブをクリックしてみてください。表示する行はありませんと出てくるはずです。2 番目のエスカレーション・ポイントに設定するための通知を作るために、通信テンプレートアプリケーションに移動しましょう。
リンク先メニューから
「リンク先」→「システムの構成」→「プラットフォームの構成」→「通信テンプレート」
と進んで、通信テンプレートアプリケーションを開いてください。

通信テンプレートアプリケーションが開けましたら、新規作成ボタンをクリックし、通信テンプレートを新規作成します。名前を MAIL2 とし、適用先を INCIDENT としてください。送信元は、先ほどと同じように、test@test.com と入れておくことにします。

「件名」フィールド、「メッセージ」フィールドには、以下の Table 2 のように入力しましょう。

Table 2. 「件名」、「メッセージ」に入力する値 (2)
フィールド名
件名インシデント番号: :ticketid に関して
メッセージ:affectedperson.displayname 様
貴殿が担当者となっているインシデント番号: :ticketid に関して、レポートされてから、48 時間以上経過しましたが、何の応答もされていません。
至急対応するようお願いします。
<<注意>>本メールはあなたの上司、:affectedperson.supervisor.displayname 様にも cc で送られています。

インシデントの概要は、以下の通りです。
インシデント番号: :ticketid
優先度: :reportedpriority
インシデントの要約: :description

「メッセージ」にある:affectedperson.supervisor.displayname という式は、PERSON オブジェクトに定義されている supervisor という関係を使って、担当者の上司の名前を参照しています。ドット (.) を使ってつなげていくことで、このように複数の関係を使い、値の参照を行うことができます。

ここまでできたところで一旦保存しましょう。図 13 のような状態になっているはずです。

図 13. メッセージの入力まで完了した状態
図 13. メッセージの入力まで完了した状態

続いて、宛先の設定に進みます。
MAIL2 を開いたまま、受信者タブをクリックしてください。先ほどと同じようにロールの入力画面を開き、AFFECTEDBY を宛先として追加します。さらに、担当者の上司を表すロールを cc として追加したいのですが、このようなロールは、事前に定義されていませんので、作成する必要があります。一旦通信テンプレートを保存し、ロールアプリケーションに移動しましょう。ロールアプリケーションは、リンク先メニューから
「リンク先」→「システムの構成」→「プラットフォームの構成」→「ロール」
と進んで、開くことができます。
ロールアプリケーションが開けましたら、新規作成ボタンをクリックし、以下のように値を入力して、保存ボタンをクリックしてください。

ロール: AFFECBOSS
タイプ: レコード関連のデータのセット
オブジェクト: INCIDENT
値: :affectedperson.supervisor.personid
電子メール?: チェックしない

ロールができましたので、通信テンプレートアプリケーションに戻り、今作成したロールを MAIL2 の宛先に cc として追加します。追加が出来ましたら、MAIL2 のステータスをアクティブにしてください。通信テンプレートの準備ができましたので、エスカレーションにもどり、作成した通信テンプレート MAIL2 を 2 番目のエスカレーション・ポイントの通知として、設定しましょう。
エスカレーションアプリケーションで、ESC1 を開き、2 番目のエスカレーション・ポイントを選択した状態で、通知タブをクリックし、新規行ボタンをクリック、MAIL2 を追加してください。ここまで、できましたら一旦 ESC1 を保存しておきましょう。ESC1 を実行する準備が整いました。Step3 実行と確認に進みます。

Step3. 実行と確認

今回は、上司にもメールをおくるため、上司の設定がされている必要があります。INCIDENT の担当者に設定する、担当者レコードの監督者フィールドにメールの宛先になる、上司の担当者 ID が設定されていることを、担当者アプリケーションで確認してください。確認ができましたら、ESC1 をアクティブにします。ESC1 をエスカレーションアプリケーションで開き、セレクトアクションメニューからエスカレーションのアクティブ化/非アクティブ化を実行します。

ここまで、できましたら検査に該当するインシデントを作成しましょう。インシデントアプリケーションでインシデントを新規作成し、影響を受ける担当者フィールドに、上司設定済みの担当者 ID を入れて、保存してください。1~2 分後に担当者のみにメールが、3~4 分後に担当者とその上司にメールが送信されます。
担当者には、同じインシデントに関して 2 通、担当者の上司に 1 通メールが届くはずです。担当者に届く 2 通目のメールは、以下の図 14 のように 2 番目に設定した方の文面で、上司が cc にはいった状態で届きます。

図 14. 2 通目のメール
図 14. 2 通目のメール

みなさん届きましたね?おめでとうございます!!


クーロンタスク機能との違い

エスカレーション機能と似ている機能として、クーロンタスク機能があります。この両機能は、定期的にレコードを検査し、ある条件に合致するレコードがあった場合に何らかの自動アクションを実行するという意味では、同じ動きをします。
違いは何かというと、エスカレーション機能は、検査条件を各種設定値で、自動アクションを Maximo アクションもしくは通信テンプレートで定義するのに対して、クーロンタスク機能は、検査条件、自動アクションともに 1 つの Java クラスの中で定義されるということです。つまり、エスカレーションを新規作成する際は、Java コードの開発は必要ありませんが、クーロンタスクの新規作成には、必ず Java コードの開発が必要になります。

クーロンタスク機能は、Java で書かれる分、より柔軟な検査条件、自動アクションを定義できます。但し、エスカレーション機能でも十分強力で要件を満たせる場合も多いので、通常は、クーロンタスクは事前定義されたもののみを使用し、新規作成する必要あるものは、すべてエスカレーション機能により実装する場合が多いようです。

Table 3 エスカレーション機能とクーロンタスク機能の違い
機能検査条件自動アクション新規作成時
エスカレーション設定値Maximo アクション、通信テンプレートJava 開発不要
クーロンタスクJavaJavaJava 開発必須

エスカレーション機能を使用する上での注意点

エスカレーション機能を使用する上での注意点を最後にまとめます。
エスカレーションでのレコードの検査は、適用先、及び条件 (図 2 参照) で指定される検査対象レコードをすべてメモリ上に MBO としてロードして、行われます。ですので、出来る限り適用先及び条件のところで検査対象レコードを絞り込むことが、計算負荷及びメモリの消費量を抑えるのに重要です。
エスカレーションの定義と実行のところで、「条件を空欄にし、エスカレーション・ポイントの条件に STATUS=’新規’と入力しても得られる結果は同じになります」と書きましたが、得られる結果は同じでも、このようにしてしまうと、STATUS が新規以外のインシデントも一旦メモリ上にロードされ、そのすべてに検査が実行されてしまうため、条件のところで STATUS=’新規’として検査対象レコードを絞った場合に比べ、計算負荷、メモリ使用量ともに大きくなってしまいます。

また、どうしても大量のレコードを検査せざるを得ない場合は、ユーザが使用する時間を避けて、深夜、土日に実行する、もしくはエスカレーション実行専用アプリケーションサーバをユーザ用とは別に立てるといったことが必要になります。エスカレーション機能の計算負荷、メモリ使用量は、レコード数に依存するため、レコード数が少ない開発フェーズでは、パフォーマンスに関する問題に気づかない場合もあります。本番運用時のレコード数を意識した上で、エスカレーションの設計を行うことが重要になります。


まとめ

本稿では Maximo のエスカレーション機能について紹介しました。エスカレーション機能は、プログラム開発なしに「レコードの検査」と「検査結果に応じた自動アクション」を実装できる非常に便利な機能です。大量データを扱う際にはパフォーマンス上の考慮点がありますが、是非とも活用してください。

今回は自動アクションとしてメール通知のみを紹介しましたが、Maximo の「アクション」機能を利用することで、「ステータスの変更」、「値の設定」、「コマンドラインの呼び出し」なども実行可能です。本シリーズでは、Maximo の「アクション」機能に関して、ワークフローを紹介する際に詳しく説明する予定です。

参考文献

コメント

developerWorks: サイン・イン

必須フィールドは(*)で示されます。


IBM ID が必要ですか?
IBM IDをお忘れですか?


パスワードをお忘れですか?
パスワードの変更

「送信する」をクリックすることにより、お客様は developerWorks のご使用条件に同意したことになります。 ご使用条件を読む

 


お客様が developerWorks に初めてサインインすると、お客様のプロフィールが作成されます。会社名を非表示とする選択を行わない限り、プロフィール内の情報(名前、国/地域や会社名)は公開され、投稿するコンテンツと一緒に表示されますが、いつでもこれらの情報を更新できます。

送信されたすべての情報は安全です。

ディスプレイ・ネームを選択してください



developerWorks に初めてサインインするとプロフィールが作成されますので、その際にディスプレイ・ネームを選択する必要があります。ディスプレイ・ネームは、お客様が developerWorks に投稿するコンテンツと一緒に表示されます。

ディスプレイ・ネームは、3文字から31文字の範囲で指定し、かつ developerWorks コミュニティーでユニークである必要があります。また、プライバシー上の理由でお客様の電子メール・アドレスは使用しないでください。

必須フィールドは(*)で示されます。

3文字から31文字の範囲で指定し

「送信する」をクリックすることにより、お客様は developerWorks のご使用条件に同意したことになります。 ご使用条件を読む

 


送信されたすべての情報は安全です。


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=60
Zone=Tivoli (service management)
ArticleID=375617
ArticleTitle=Maximo シリーズ: Part6 - エスカレーション
publish-date=04172009