Top Banner
今さら聞けないASTERIA WARP運用の基礎 インフォテリア株式会社 ASTERIA事業本部 製品技術部 岸本 秀和 知っておくべきASTERIA WARPの一二三
36

今さら聞けないasteria warp運用の基礎 ファイナル

Jan 23, 2018

Download

Engineering

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: 今さら聞けないasteria warp運用の基礎 ファイナル

今さら聞けないASTERIA WARP運用の基礎

インフォテリア株式会社 ASTERIA事業本部

製品技術部

岸本 秀和

知っておくべきASTERIA WARPの一二三

Page 2: 今さら聞けないasteria warp運用の基礎 ファイナル

アジェンダ2

©1998-2017 Infoteria Corporation

一. ASTERIA WARP起動・停止のトラブルシューティング

二. メモリ不足のトラブルシューティング

三. 障害が発生してしまったら

Page 3: 今さら聞けないasteria warp運用の基礎 ファイナル

一. ASTERIA WARP起動・停止の

トラブルシューティング

3

©1998-2017 Infoteria Corporation

Page 4: 今さら聞けないasteria warp運用の基礎 ファイナル

ASTERIA WARPの起動方法

• Windowsのサービスからの起動

• Windowsのスタートメニューから起動

• コマンドによる起動flowsvc: フローサービスの起動fsstop: フローサービスの停止

4

©1998-2017 Infoteria Corporation

Page 5: 今さら聞けないasteria warp運用の基礎 ファイナル

フローサービスの起動確認

フローサービスの起動状況を確認するコマンド fsctrl status

5

©1998-2017 Infoteria Corporation

フローサービス起動時

フローサービス停止時

Page 6: 今さら聞けないasteria warp運用の基礎 ファイナル

起動・停止の具体的なトラブル例 6

©1998-2017 Infoteria Corporation

フローサービスが停止しない

OS再起動後、フローサービス起動しようとすると、フローサービスが正常に動作しない

Page 7: 今さら聞けないasteria warp運用の基礎 ファイナル

具体的なトラブル例1

• フローサービスが停止しないStopPending(停止中)のままフローサービスが停止できない。

7

©1998-2017 Infoteria Corporation

フローが実行中である可能性あり。

フローサービスはフロー実行が完了するまで停止できない。

Page 8: 今さら聞けないasteria warp運用の基礎 ファイナル

• 処理時間が長いフロー

• 接続先(RDBなど)からレスポンスが返されない

• 想定外の処理が行われフローが終了しない(無限ループなど)

• 障害が発生したケース(メモリ不足等)

8

©1998-2017 Infoteria Corporation

フローが実行中まま停止しないケース

でもどうしてもフローサービスを停止したい…

Page 9: 今さら聞けないasteria warp運用の基礎 ファイナル

対応策

• 管理コンソール

[状態] – [フロー] –[リクエスト一覧]

リクエストの削除

9

©1998-2017 Infoteria Corporation

• Flow-ctrllist request リクエスト一覧を表示kill request リクエストIDを使用してリクエストを削除

1. リクエストの削除(フローの実行停止)を行う

Page 10: 今さら聞けないasteria warp運用の基礎 ファイナル

2. フローサービスの強制終了

10

©1998-2017 Infoteria Corporation

・fsctrl kill [ServiceName]指定サービスを強制終了させます。

・fsctrl shutdown killallフローサービス停止時に、停止要求を出さずに次々とプロセスを強制終了していきます。

・fsctrl shutdown タイムアウト時間(秒)フローサービス停止時に、停止要求を出してから指定時間経っても終了しないサービスを強制終了します。時間内に終了できる場合は通常終了と同等です。それぞれのサービス毎にタイムアウト時間が適用されます。例) fsctrl shutdown 15

Page 11: 今さら聞けないasteria warp運用の基礎 ファイナル

問題を未然に防止するには

• 管理コンソール

[状態] – [フロー] –[リクエスト一覧]

11

©1998-2017 Infoteria Corporation

• Flow-ctrlList request リクエスト一覧を表示Show request リクエストIDを使用してフロー情報を取得

1. 実行中のフローを確認する

Page 12: 今さら聞けないasteria warp運用の基礎 ファイナル

• 管理コンソール

[設定] – [トリガー] より[有効無効]

12

©1998-2017 Infoteria Corporation

• Flow-ctrl disable url URLトリガ無効disable ftp FTPトリガ無効disable schedule スケジュール無効 など

2. トリガー・スケジュールをあらかじめ停止する。

Page 13: 今さら聞けないasteria warp運用の基礎 ファイナル

まとめ

フロー実行中にフローサービスの停止は

行わない。

13

©1998-2017 Infoteria Corporation

フローサービスが停止できない現象を予防するには…

Page 14: 今さら聞けないasteria warp運用の基礎 ファイナル

具体的なトラブル例2

• OS再起動後、フローサービス起動しようとすると、フローサービスが正常に動作しない

14

©1998-2017 Infoteria Corporation

どのような現象が発生するのか?

Page 15: 今さら聞けないasteria warp運用の基礎 ファイナル

現象

15

©1998-2017 Infoteria Corporation

フローサービスを停止せずにOSをシャットダウンした可能性。

フローサービスの強制終了もしくはフローサービスを停止をせずにOSのシャットダウンしたことにより[DATA_DIR]/flow/home/asu/TriggerMap.xconfファイルが破損している可能性。

・FlowServiceプロセスが起動しない。・Asteria.logにはフローサービスの停止ログが正常に出力されない。・Flowservice.logには以下のメッセージが出力

[TriggerManager, main] FLEG_E_2132:実行設定登録ファイルの読み込みに失敗しました

Page 16: 今さら聞けないasteria warp運用の基礎 ファイナル

対応策

復旧方法

• TriggerMap.xconfの復旧-バックアップからの復旧-履歴ファイル (TriggerMap.conf.1~5)からの復旧

バージョン4.9.0から改善TriggerMap.xconfの読み込みが失敗しても、自動的にスペアファイル(TriggerMap.xconf.0)を読み込む

16

©1998-2017 Infoteria Corporation

Page 17: 今さら聞けないasteria warp運用の基礎 ファイナル

問題を未然に防止するには

1. OSの再起動を行う際、フローサービスをあらかじめ停止しておく。

2. フローサービスの起動状況を確認する。

$ fsctrl status

17

©1998-2017 Infoteria Corporation

Page 18: 今さら聞けないasteria warp運用の基礎 ファイナル

まとめ

OS再起動後、フローサービス起動しようとすると、フローサービスが正常に動作しない現象を予防するには…

18

©1998-2017 Infoteria Corporation

OS再起動前にフローサービスを停止してからOSの再起動を行う。

Page 19: 今さら聞けないasteria warp運用の基礎 ファイナル

二. メモリ不足に関する

トラブルシューティング

19

©1998-2017 Infoteria Corporation

Page 20: 今さら聞けないasteria warp運用の基礎 ファイナル

メモリ不足(Out Of Memory)とは

フローサービスで設定した最大メモリサイズを超えてメモリを使用しようとするとメモリ不足となる。

主にFlowServiceプロセスで発生し、FlowService.logには以下のメッセージが出力される。

java.lang.OutOfMemoryError: Java heap space

java.lang.OutOfMemoryError: GC overhead limit exceeded

FlowServiceにてメモリ不足が発生した状態になるとプロセスが不安定になり、プロセスの異常終了、場合によってはフローサービス全体が停止してしまう現象が発生する。

20

©1998-2017 Infoteria Corporation

Page 21: 今さら聞けないasteria warp運用の基礎 ファイナル

メモリ不足(Out Of Memory)が発生したら

• エラー後の動作がおかしい、エラーが出力されるなどの問題が発生したら、フローサービスを停止し、OSの再起動を行う。

• フローサービスが停止しない場合、リクエストの削除やフローサービスの強制終了を行い、OSの再起動を行う。

21

©1998-2017 Infoteria Corporation

再発防止のためには、まずメモリ使用状況を確認する必要がある。

Page 22: 今さら聞けないasteria warp運用の基礎 ファイナル

FlowServiceのメモリ使用確認方法1 22

©1998-2017 Infoteria Corporation

• モニターツール(GUI版)

メモリ使用量をグラフでリアルタイムで表示される。

• モニターツール(コンソール版)$ fsmon –console

メモリ使用量をテキストベースでリアルタイムで表示される。

ログとしてファイルに出力する機能もあります。

Page 23: 今さら聞けないasteria warp運用の基礎 ファイナル

FlowServiceのメモリ使用確認方法2 23

©1998-2017 Infoteria Corporation

• FSMCのグラフメモリ使用量の履歴を確認できる。

ではどのような対応策が必要なのか。

Page 24: 今さら聞けないasteria warp運用の基礎 ファイナル

メモリ不足の対応策1 24

©1998-2017 Infoteria Corporation

最大メモリサイズ(最大ヒープ領域)を変更する

FSMC[設定]-[サービス]-[起動]の[最大メモリサイズ]

※32bit版 ASTERIA WARPでは最大メモリサイズの制限あり。

Page 25: 今さら聞けないasteria warp運用の基礎 ファイナル

メモリ不足の対応策2 25

©1998-2017 Infoteria Corporation

フローの内容を見直す例: 100万件のCSVのレコードデータをDB(Oracle)に格納する。

1. 一度に読み込むデータ量を抑えるコンポーネントを使用。FileGet⇒ RecordGet

2. ループ処理を実施する。3. 結果を返す必要がなければEndコンポーネントを使用。

Page 26: 今さら聞けないasteria warp運用の基礎 ファイナル

26

©1998-2017 Infoteria Corporation

最大メモリサイズ: 1024MB読み込むデータ:100万件 x 10フィールドRecordGetの取得行数: 100000

Out Of Memory 380MB

Page 27: 今さら聞けないasteria warp運用の基礎 ファイナル

メモリ不足の対応策3 27

©1998-2017 Infoteria Corporation

類似したコンポーネントに変更

FTP Server から1.2GBのファイル取得。FTPGet -> FTPDownload(4.8登場)

Out Of Memory 25MB

Page 28: 今さら聞けないasteria warp運用の基礎 ファイナル

28

©1998-2017 Infoteria Corporation

1GBのファイルをzipに圧縮して保存。 Zip -> Zipfile(4.4登場)

Out Of Memory 50MB

Page 29: 今さら聞けないasteria warp運用の基礎 ファイナル

メモリ不足の対応策4 29

©1998-2017 Infoteria Corporation

多重処理を避ける

1. スケジュールによる多重実行を避ける。

2. 排他制御処理を実行(Mutexコンポーネント)

午前9時に5つのフローを同時に実行している

Page 30: 今さら聞けないasteria warp運用の基礎 ファイナル

まとめ 30

©1998-2017 Infoteria Corporation

メモリ不足の発生を予防するには…

現在のメモリ使用量をグラフ・モニターツールで把握する。

最大メモリサイズ・フローの実行内容の見直しを行う。

Page 31: 今さら聞けないasteria warp運用の基礎 ファイナル

三. 障害が発生してしまったら

31

©1998-2017 Infoteria Corporation

Page 32: 今さら聞けないasteria warp運用の基礎 ファイナル

障害の内容を把握する 32

©1998-2017 Infoteria Corporation

• 障害はいつ、どのようなタイミングで発生したか調査し出力されたログの内容を把握する。

• ログは以下の環境で確認できる。ファイル:[DATA_DIR]/log (バージョン1610以降)

[INSTALL_DIR]/flow/log (バージョン4.9.1以前)管理コンソール: [状態] – [ログ] よりログビューア: フローデザイナー同梱のツール

• ASTERIA Developer Network(ADN)にて障害内容を検索するASTERIA Developer Network( https://support.asteria.com)

Page 33: 今さら聞けないasteria warp運用の基礎 ファイナル

ログ一覧 33

©1998-2017 Infoteria Corporation

Page 34: 今さら聞けないasteria warp運用の基礎 ファイナル

ASTERIA Developer Network(ADN) 34

©1998-2017 Infoteria Corporation

https://support.asteria.com

ドキュメント・FAQなどの情報を公開

Page 35: 今さら聞けないasteria warp運用の基礎 ファイナル

原因が特定できない場合 35

©1998-2017 Infoteria Corporation

• 弊社もしくは購入先にお問合せください。

• いつどのような現象が発生したかご連絡ください。

• 調査に必要な情報を送付お願いします。(ASTERIAのバージョン、ご使用のOSとバージョン、ログ、フローなど)

詳細はADN(https://support.asteria.com) 「技術情報」 - 「使い方のヒント」にある「フローサービスのトラブルシューティング」をご覧ください。

Page 36: 今さら聞けないasteria warp運用の基礎 ファイナル