差分
このページの2つのバージョン間の差分を表示します。
両方とも前のリビジョン 前のリビジョン 次のリビジョン | 前のリビジョン | ||
ja:documentation:03_monitoring:12_transactional_monitoring [2021/07/16 21:45] – [制御スクリプト設定] junichi | ja:documentation:03_monitoring:12_transactional_monitoring [Unknown date] (現在) – 削除 - 外部編集 (Unknown date) 127.0.0.1 | ||
---|---|---|---|
行 1: | 行 1: | ||
- | ====== ビジネストランザクション監視 ====== | ||
- | {{indexmenu_n> | ||
- | |||
- | [[ja: | ||
- | |||
- | ===== トランザクション監視 ===== | ||
- | |||
- | ==== 概要 ==== | ||
- | |||
- | <WRAP center round tip 60%> バージョン NG 7 以上 </ | ||
- | |||
- | [[: | ||
- | |||
- | このバージョンで実装されている[[: | ||
- | |||
- | 例を見ていきましょう。注文処理は複数のフェーズから成り立っており、各部門、または段階における各ステップの時間を計ることができます。 | ||
- | |||
- | [[: | ||
- | |||
- | A four-step graph will be defined: | ||
- | |||
- | 次の 4段階のグラフを定義します。 | ||
- | |||
- | - // | ||
- | - // | ||
- | - // | ||
- | - //Correo electrónico:// | ||
- | - // | ||
- | - // | ||
- | - // | ||
- | - //Correo electrónico:// | ||
- | ロジスティクス通知。 | ||
- | |||
- | **Pandora FMS will use this graph** | ||
- | |||
- | Pandora FMS は一連の制御スクリプトと共にネットワークを使用して、上記のプロセスを監視し、各パートがビジネスプロセスに適合しているかどうかを視覚的に示します。 | ||
- | |||
- | Below there is an explanation on how to fully monitor a transaction process. | ||
- | |||
- | 以下に、トランザクションプロセスを完全に監視する方法について説明します。 | ||
- | |||
- | |||
- | ==== 処理 ==== | ||
- | |||
- | <WRAP center round tip 60%> | ||
- | |||
- | フェーズの集合とそのワークフロー(依存関係)が、**トランザクションネットワーク** を定義します。 | ||
- | |||
- | Pandora FMSは、これらのトランザクショングラフに基づいて、あらかじめ定義された各フェーズで一連の制御スクリプトを起動します。 これらの制御スクリプトは、各フェーズに対応する監視タスクを実行します。 | ||
- | |||
- | トランザクションのステータスに関する情報を提供する制御スクリプトをチェックするための最も一般的なポイントは次のとおりです。 | ||
- | |||
- | * ログエントリー | ||
- | * 一時ファイルが存在するかどうか | ||
- | * データベースクエリ | ||
- | * inbox にメールが存在するかどうか | ||
- | |||
- | トランザクションシステムは分散しており、必要なだけインフラ上に多くの **トランザクションエージェント** | ||
- | |||
- | |||
- | ==== トランザクションの設定 ==== | ||
- | トランザクション監視を設定し実行するには、以下が必要です。 | ||
- | |||
- | * 監視対象プロセスの事前分析 | ||
- | * ワークフロー | ||
- | * 関連するすべての要素とコンポーネント | ||
- | * 制御スクリプト | ||
- | * 情報フローを制御するための、必要なマシンへのトランザクションエージェントの配置 | ||
- | * トランザクションエージェントに必要な、制御スクリプトの開発と展開 | ||
- | * トランザクションエージェントの設定 | ||
- | * トランザクションを作成するための、Pandora FMS コンソールでのフォーム入力 | ||
- | |||
- | === 事前分析 === | ||
- | |||
- | 通常のケースを分析してみましょう。 | ||
- | |||
- | **web portal** で注文を受け取ったときにトランザクションが開始されます。ここで、トランザクションエージェントが展開される必要があります。もしくは、最低限マシン上でリモートチェックができるようになっている必要があります。この最初のフェーズで障害スクリプトが実行されます。**トランザクションのトリガー** です。 | ||
- | |||
- | 次のフェーズで、前のフェーズでの仮想的な発注に従い、注文処理は異なる ID コードを使って //EMI01// というマシンを起動します。このマシンには別のトランザクションエージェントがインストールされる必要があります。そうでなければ、マシン上でリモートチェックの実行をできる必要があります。制御スクリプトは、このフェーズでレジストリファイルのエントリ、イベント、テンポラリファイルを検索することにより、処理が正しく実行されたかどうかを確認します。 | ||
- | |||
- | [[: | ||
- | |||
- | トランザクションの 3番目のフェーズは、// | ||
- | |||
- | 最後のステップは、// | ||
- | |||
- | |||
- | === 開発と展開 === | ||
- | |||
- | 例では 4つのフェーズがあり、4つのスクリプトが必要です。 | ||
- | |||
- | - トランザクショントリガー: | ||
- | - 制御スクリプト: | ||
- | - 制御スクリプト: | ||
- | - 制御スクリプト: | ||
- | |||
- | 上記の例では、トランザクションのトリガーは、特定のポイントに注文のファイルコピーを置きます。 | ||
- | |||
- | 制御スクリプトでは、次の例に示す基本的な構造を共有します。 | ||
- | |||
- | [[: | ||
- | < | ||
- | |||
- | #!/bin/bash | ||
- | ######################## | ||
- | # Check Control Set | ||
- | ######################## | ||
- | function check_flag() { | ||
- | # Control script conditions | ||
- | if [ " | ||
- | return 1; | ||
- | fi | ||
- | | ||
- | } | ||
- | max_tries=100 | ||
- | wait=3 | ||
- | try=0 | ||
- | while [ $try -le $max_tries ]; do | ||
- | if [ check_flag == 1 ]; then | ||
- | echo 1 | ||
- | exit 0 | ||
- | fi | ||
- | sleep | ||
- | $wait | ||
- | | ||
- | done | ||
- | echo 0 | ||
- | exit 1 | ||
- | |||
- | </ | ||
- | |||
- | スクリプトが正常に動作したら、必要なマシンおよびデバイスでトランザクションエージェントの展開をします。 | ||
- | |||
- | < | ||
- | tar xvzf pandorafms_transactional.tar.gz | ||
- | cd pandora_transactional | ||
- | | ||
- | |||
- | </ | ||
- | |||
- | エージェント設定ファイル(デフォルトは / | ||
- | |||
- | < | ||
- | / | ||
- | |||
- | </ | ||
- | |||
- | |||
- | === トランザクションの作成 === | ||
- | Pandora FMS コンソールを利用します。 | ||
- | |||
- | マップから、**トランザクションマップ(Transactional map)** へ行きます。 | ||
- | |||
- | |||
- | {{ wiki: | ||
- | |||
- | {{ wiki: | ||
- | |||
- | |||
- | 新たなトランザクションを作成し、必要なフィールドを入力します。 | ||
- | |||
- | |||
- | {{ wiki: | ||
- | |||
- | |||
- | * **名前(Name)**. | ||
- | * **説明(Description)**. | ||
- | * **エージェント(Agent)**: | ||
- | * **グループ(Group)**: | ||
- | * **繰り返し間隔(Loop interval)**: | ||
- | |||
- | === ステージツリーの作成 === | ||
- | |||
- | トランザクションを作成したら、対応するフォームにアクセスすることによってツリーグラフを作成できます。 | ||
- | |||
- | {{ : | ||
- | |||
- | それぞれのステージの情報を入力します。 | ||
- | |||
- | {{ : | ||
- | |||
- | * **目次(Index)**: | ||
- | * **名前(Name)**. | ||
- | * **エージェント(Agent)**: | ||
- | * **依存関係(Dependencies)**: | ||
- | * **有効化(Enables)**: | ||
- | * **アクション(Actions)**: | ||
- | {{ : | ||
- | |||
- | **START** | ||
- | |||
- | 以下のスクリーンショットでは、受注を実行する(1)ために最初のステージにどのように目次が挿入されるかを見ることができます。 | ||
- | |||
- | {{ : | ||
- | |||
- | ステージの変更を保存したときは自動的にエラー表示になります。目次 1 のフェーズが無いからです。" | ||
- | |||
- | {{ : | ||
- | |||
- | 変更を保存したら、トランザクションネットワークの表示を更新することによってステージを作成し、警告を修正します。 | ||
- | |||
- | {{ : | ||
- | |||
- | Once the changes are saved, create the stage by updating the previewing of the transaction graph and correcting the previous warning: | ||
- | |||
- | 変更を保存したら、トランザクショングラフのプレビューを更新し、前の警告を修正して、ステージを作成します。 | ||
- | |||
- | Note that in stage 1, dependencies field ' | ||
- | |||
- | ステージ1では、依存関係フィールド ' | ||
- | |||
- | Create all the stages following the same procedure: | ||
- | |||
- | 同じ手順ですべてのフェーズを作成します。 | ||
- | |||
- | {{ : | ||
- | |||
- | 最後のフェーズは何も有効化しません。トランザクションが完了していることを意味します。 | ||
- | |||
- | スクリーンショットでは黄色の警告アイコンが表示されています。要素の設定(制御スクリプト)がまだであることを表示しています。 | ||
- | |||
- | |||
- | === 制御スクリプト設定 === | ||
- | |||
- | 各フェーズに関連する制御スクリプトを構成する必要があります。これらのスクリプトは、必要なチェックを実行するために事前に定義されている必要があり、また、特定の基本構造を維持するために管理されていなければなりません。 スクリプトの[[wp> | ||
- | |||
- | エラーレベルは、Linux システムで //echo $?// コマンドを実行することで確認できます。また、Windows システムでは、// | ||
- | |||
- | 以上を理解したうえで、編集アイコンをクリックしてフォームへ行きます。 | ||
- | |||
- | {{ : | ||
- | |||
- | 制御スクリプトフォームの設定で、リトライ回数、スクリプトの最大実行時間といった、実行したいコマンドの調整をすることができます。 | ||
- | |||
- | {{ : | ||
- | |||
- | * **スクリプト実行(Launch script)**: 制御スクリプトのルート、場所、呼び出し、コマンドなど。スクリプトの引数として処理中のトランザクションを示す _name_ というマクロを利用できます。 | ||
- | * **リトライ(Retries)**: | ||
- | * **タイムアウト(Timeout)**: | ||
- | 利用できません) | ||
- | |||
- | 例では、トランザクションのトリガを発生させるカスタムスクリプト (echo1.sh) と、各フェーズでの制御スクリプトが使われています。 | ||
- | |||
- | {{ : | ||
- | |||
- | すべて正しく設定したら、トランザクションが初期化されます。 | ||
- | |||
- | {{ : | ||
- | |||
- | <WRAP center round important 60%> トランザクションの設定を変更しても、再実行されるまでは反映されません。</ | ||
- | |||
- | |||
- | === トランザクション制御 === | ||
- | == トランザクションの開始 == | ||
- | トランザクション一覧へ行き、開始アイコン(黒いドーナツ)をクリックします。 | ||
- | |||
- | |||
- | {{ wiki: | ||
- | |||
- | |||
- | トランザクションが開始されると、" | ||
- | |||
- | |||
- | {{ wiki: | ||
- | |||
- | |||
- | トランザクションの名前をクリックすると、トランザクションの状態が表示されます。 | ||
- | |||
- | {{ wiki: | ||
- | |||
- | == トランザクションの停止 == | ||
- | トランザクションを中断するには、対応するボタンをクリックするだけです。再起動するには、数秒後に " | ||
- | |||
- | |||
- | {{ wiki: | ||
- | |||
- | |||
- | == トランザクションの表示 == | ||
- | トランザクション一覧でトランザクションの名前をクリックします。 | ||
- | |||
- | 進んでいる実行が表示されます。(トランザクションの初期フェーズ) | ||
- | |||
- | |||
- | {{ wiki: | ||
- | |||
- | |||
- | 進んでいる実行が表示されます。(中間のフェーズ) | ||
- | |||
- | |||
- | {{ wiki: | ||
- | |||
- | |||
- | トランザクションの完了が表示されます。 | ||
- | |||
- | |||
- | {{ wiki: | ||
- | |||
- | |||
- | ==== 設定 ==== | ||
- | === トランザクションサーバ === | ||
- | |||
- | トランザクションサーバの設定パラメータは次の通りです。 | ||
- | |||
- | < | ||
- | | ||
- | |||
- | | ||
- | |||
- | | ||
- | |||
- | # Work directory | ||
- | # By default in icomingdir/ | ||
- | | ||
- | |||
- | </ | ||
- | * // | ||
- | * // | ||
- | * // | ||
- | * // | ||
- | システムが 100% 正しく動作するためには、データサーバ (// | ||
- | |||
- | [[: | ||
- | |||
- | |||
- | === トランザクションエージェント === | ||
- | |||
- | トランザクションエージェントは、ワークディレクトリ内に設定ファイルがあります。デフォルトは以下の通りです。 | ||
- | |||
- | < | ||
- | / | ||
- | |||
- | </ | ||
- | |||
- | With the following content: | ||
- | |||
- | 内容は次の通りです。 | ||
- | |||
- | < | ||
- | ############################################################ | ||
- | # | ||
- | # | ||
- | # | ||
- | # | ||
- | ############################################################# | ||
- | |||
- | | ||
- | | ||
- | |||
- | # Temporal directory | ||
- | | ||
- | # | ||
- | |||
- | # Log directory | ||
- | log =/ | ||
- | |||
- | # Tentacle binary | ||
- | | ||
- | |||
- | ############################### | ||
- | # Set the name of the agent | ||
- | ############################### | ||
- | # | ||
- | | ||
- | |||
- | # Performance (in seconds) internal clock | ||
- | pause =5 | ||
- | |||
- | # Show all log messages (0 - show none, 1 - show script execution messages, 2 - show all) | ||
- | | ||
- | |||
- | </ | ||
- | |||
- | * // | ||
- | * // | ||
- | * // | ||
- | * //log//: ログファイルの場所。 | ||
- | * // | ||
- | * // | ||
- | * //pause//: フェーズ間の秒単位のデフォルト時間。同期が維持されるように、サーバが受け取る構成に合わせて調整します。 | ||
- | * // | ||
- | * 0: 障害エラーメッセージのみ出力。 | ||
- | * 1: 制御スクリプトの出力のみ出力。 | ||
- | * 2: すべてのメッセージを出力。 | ||
- | |||
- | すべてのトランザクション設定は Pandora FMS サーバ内に展開され、エージェントはこれらのファイルをスキャンし、要求されたトランザクションを開始するのに必要なデータ構造を開始します。 | ||
- | |||
- | 実行中のトランザクションに更新があった場合は、エージェントはトランザクションを中断し新たな処理を開始します。これまで動作していたプロセスはすべて終了します。 | ||
- | |||
- | トランザクションシステムは、完全なトランザクションを実行します。つまり、スクリプトの実行でエラーがあっても、どのフェーズでエラーがあったかを示しつつ、トランザクションの実行を継続します。すべてのフェーズがエラーの場合に、トランザクションは失敗したと認識されます。 | ||
- | |||
- | トランザクションエージェントのコンポーネントは、プラグインライブラリ [[https:// | ||
- | |||