はじめに
この記事では、実行中のCAIプロセスをREST APIで抽出する手順を確認します。
運用監視の観点からCAIプロセスが長時間実行中となっている対象を確認したい場合に、この記事の情報をお役立ていただけると思います。
なお、この記事は次の記事の内容を理解していることを前提としています。
実行中のCAIプロセスを取得する手順
実行中のCAIプロセスを取得するには、CAIプロセスのデプロイ先別に次のURLを使用して基本認証にてGETリクエストを実行します。
- クラウドサーバー
https://<Informatica Cloud Application Integration URL>/active-bpel/restadmin/processes/?advancedQuery=getProcessProperty("State")=1 - Secure Agent
http://<agentName>:<httpPortNumber>/process-engine/restadmin/processes/?advancedQuery=getProcessProperty("State")=1
※太文字の箇所については、ご利用環境にあわせて変更が必要です
なお、今回は実行中(Running)のプロセスを対象にプロセスの一覧を取得するため ("State")=1 を指定しています
他のステータスを対象にフィルタリングしたい場合、次の一覧のNoを指定します。
№ | ステータス(日本語) | ステータスの意味 |
---|---|---|
1 | Running(実行中) | プロセスは正常に実行中です。 |
2 | Suspended(一時停止中) | 何らかの理由でプロセスが一時停止しています。 |
3 | Completed(完了) | 正常に完了しています。 |
4 | Faulted(フォルト) | プロセスはフォールトで終了しています。 |
5 | Compensatable(補償可能) | サブプロセスが完了し、補償の対象となっています。 |
実行例
クラウドサーバーを対象とした実行例を見てみましょう。
// curl コマンド(URLエンコードしています)
curl -u username:password https://<IICS・CAIサーバー>/active-bpel/restadmin/processes/?advancedQuery=getProcessProperty%28%22State%22%29%3D1
curlコマンドの末尾getProcessProperty%28%22State%22%29%3D1
は文字化けではなく、getProcessProperty("State")=1
をHTMLエンコードした文字列です。
例えば、shellスクリプトを用いて運用監視をしている場合、次のようにjqコマンドにて必要な情報を整形・フィルタするとデータを扱いやすいかもしれませんね。
(この例では、プロセスID・プロセス名・実行開始日時を取得しています)
REST_RET=` \
curl --silent -u username:password -X GET \
https://<IICS・CAIサーバー>/active-bpel/restadmin/processes/?advancedQuery=getProcessProperty%28%22State%22%29%3D1
`
echo ${REST_RET} | jq -r '.process[] | [.processId, .title, .started] | @csv'
//実行結果
"1049962662857383936","pSleep5min","2024-12-07T08:16:46.188+00:00"
"1049962653155962880","pSleep5min","2024-12-07T08:16:43.876+00:00"
"1049962555747446784","pSleep5min","2024-12-07T08:16:20.653+00:00"
上記の様にREST APIにより情報を取得できるのでサービス接続によるREST APIの実行に記載している手順を参考に、サービス接続にて実行中のCAIプロセスの一覧を取得することも可能です。