> For the complete documentation index, see [llms.txt](https://docs.nexthink.com/platform/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.nexthink.com/platform/ja/user-guide/workflows/monitoring-workflows-dashboard/troubleshooting-workflows.md).

# ワークフローのトラブルシューティング

ワークフローの実行をすばやくトラブルシューティングして、問題を特定し、必要な変更を評価し、ワークフローを再稼働させます。

ワークフローをトラブルシューティングするには、次の手順に従います。

{% stepper %}
{% step %}

## 特定のワークフローの実行ダッシュボードにアクセスする

ナビゲーションパネルで、**Workflows** の下に一覧表示されている対象の特定のワークフローを選択します。

また、次の方法でワークフローの概要ダッシュボードにアクセスすることもできます。

1. **Workflows** > **Manage workflows** に移動します。
2. 対象のワークフローのアクションメニューを開き、**Details** をクリックして **Workflow overview** ページに移動します。

<figure><img src="/files/R0Dv6Sp4Iy7Ps1QxpMfm" alt=""><figcaption></figcaption></figure>
{% endstep %}

{% step %}

## ワークフローの実行結果を確認する

ダッシュボード上部のワークフローの **Outcome summary** で次を確認します。

* **Outcomes** タブには、Workflow 実行が到達した可能な終了結果である `action_taken`、`no_action_taken`、`failed`、`other` ごとの件数が表示されます。
* 「**Details**」タブには、Workflow 実行中に収集された `{dynamic values}` によって決定される、ユーザー定義の結果詳細が含まれます。 結果の詳細を構成する方法については、[フローコントロールの設定](/platform/ja/user-guide/workflows/creating-workflows/configuring-flow-controls.md#designer-endblock) を参照してください。

さらに、**Executions** の総数と、それぞれの **Completion status**：**Success**、**Failed**、**In progress**、**Cancelled**、**Expired** を確認します。 設定されたダッシュボードの期間に対するチャートを使用して、これらの Workflow 実行を可視化します。

<figure><img src="/files/sgwtjDZ27Mz3WqZomWHy" alt=""><figcaption></figcaption></figure>
{% endstep %}

{% step %}

## Workflow 実行の完了ステータスを判定する

Workflow 実行の詳細を示した表を確認します：

* **Request time**：Workflow 実行がトリガーされた日時。
* **Completion status**：Workflow 実行の現在の状態―**Success**、**Failed**、**In progress**、**Cancelled**、**Expired**。
* \*\*Outcome：\*\*Workflow 実行が到達した終了結果のいずれか：`action_taken`、`no_action_taken`、`failed`、`other`。
* **Device → Name**：ローカルネットワーク識別のためにオペレーティングシステムによって認識されるデバイス名。
* **Username**：ローカルデバイス上のユーザーアカウント名。
* \*\*Trigger method：\*\*Manual、Schedule、API、Events。 Workflow トリガータイプの詳細については、[ワークフローのトリガー](/platform/ja/user-guide/workflows/triggering-workflows.md) を参照してください。
* **Execution Duration**：実行開始から完了までの時間。

<figure><img src="/files/02oXzdKMZnZ0W8G8EJjJ" alt=""><figcaption></figcaption></figure>

**Completion status** が **Success** の場合、Workflow が **End state** に到達したことを示します。 つまり、完全な実行パスです。

ただし、成功した Workflow 実行であっても、Workflow 内のすべての Thinklet が意図した結果を必ずしも達成しているとは限りません。Thinklet のエラーがあっても、Workflow 実行が停止しない場合があります。

{% hint style="info" %}
特定の Thinklet の失敗を追跡および報告するには、Workflow に **End state** Flow コントロールを追加してください。 [フローコントロールの設定](/platform/ja/user-guide/workflows/creating-workflows/configuring-flow-controls.md#designer-endblock) を参照して、これらの結果チェックポイントを構成します。
{% endhint %}
{% endstep %}

{% step %}

## タイムラインを使用して Workflow 実行をトラブルシュートする

表から、対象となる特定の Workflow 実行を選択すると、右側のパネルに実行タイムラインが表示されます。 この方法で、実行イベントとアクションの時系列の流れを追跡できます。

最新のワークフローステップは常にタイムラインの上部に表示されます。 ワークフローが期待される結果から逸れた場所を特定します。

<figure><img src="/files/5ljhwoRkw5w621OZfR9N" alt=""><figcaption></figcaption></figure>

{% hint style="warning" %}
Workflow 実行タイムラインは、Workflow 実行が終了してから 3 日間のみ利用できます。
{% endhint %}

Workflow 実行タイムラインでは、ステップが実行されたかどうかは表示されますが、関係するサードパーティシステムの **Completion status** は示されません。

たとえば、Workflow の **Service\API** Thinklet がサードパーティシステムを呼び出し、`200` (OK) 応答を受け取った場合、応答内容にサードパーティ側の内部エラーが含まれていても、Workflow は実行を成功とマークします。

### Workflow アクションの詳細を確認する <a href="#troubleshootingworkflows-actiondetails" id="troubleshootingworkflows-actiondetails"></a>

実行タイムライン内の特定のアクションをクリックして、そのアクションの状態を詳しく調査します。 ポップアップが表示され、さらに詳細が確認できます。

<figure><img src="/files/vse8EiohFMxIFModmcmW" alt=""><figcaption></figcaption></figure>

システムは、Workflow タイムラインに登録されたアクションまたはイベントに関連付けられた Thinklet に応じて、実行の詳細を表示します。

<details>

<summary><strong>Remote action</strong> Thinklet の実行詳細</summary>

リモートアクションThinkletの詳細を確認する際に、以下の情報が利用可能です。

* **開始時間:** システムがThinkletの処理を開始した日時。
* **終了時間:** システムがThinkletの処理を終了した日時。
* **ステータスの詳細:** エラーが発生した場合のみ表示され、リモートアクションで発生した障害を説明するメッセージが含まれます。
* **パラメータ:** このリモートアクションで使用されたパラメータがある場合に表示されます。 パラメータの内容がここに表示されます。
* **出力:** リモートアクションによって収集された出力がある場合に表示されます。 出力の内容がここに表示されます。

<figure><img src="/files/CUHOn7sHACTpqDUE1iSB" alt="" width="470"><figcaption></figcaption></figure>

</details>

<details>

<summary><strong>Campaign</strong> Thinklet の実行詳細</summary>

キャンペーンThinkletの詳細を確認する際に、以下の情報が利用可能です。

* **開始時間:** システムがThinkletの処理を開始した日時。
* **終了時間:** システムがThinkletの処理を終了した日時。
* **状態の詳細:** エラーが発生した場合のみ表示され、キャンペーンからのメッセージとして障害を説明する可能性があります。
* **パラメータ:** このキャンペーンで使用されたパラメータがある場合に表示されます。 パラメータの内容がここに表示されます。
* **出力:** キャンペーンのために収集された回答がある場所に表示されます。 出力の内容がここに表示されます。

<figure><img src="/files/AXRBSePXvyoqkqBw7u3U" alt="" width="512"><figcaption></figcaption></figure>

</details>

<details>

<summary><strong>Service\API</strong> Thinklet の実行詳細</summary>

サービス\API Thinkletアクションの詳細を確認する際に、以下の情報が利用可能です。

* **開始時間:** システムがThinkletの処理を開始した日時。
* **終了時間:** システムがThinkletの処理を終了した日時。
* **レスポンスHTTPコード:** 3rdパーティAPIから取得したレスポンスです。
* **HTTPメソッド:** 3rdパーティAPIが使用したHTTPメソッドです。
* **リソースパス:** 呼び出しが送信される3rdパーティAPIのリソースパスのエンドポイント。
* **ペイロード:** システムが3rdパーティAPIに行った呼び出しの本文です。
  * 大きなペイロードの場合、ペイロードにカーソルを合わせると、ツールチップでフルデータセットが表示されます。
* **出力:** このThinkletのために出力を設定した場合、それに収集されたデータがここに表示されます。

<figure><img src="/files/yqROksO8QvxldQ6DmBok" alt="image-20240205-152042.png" width="563"><figcaption></figcaption></figure>

</details>

<details>

<summary><strong>Connector</strong> Thinklet の実行詳細</summary>

コネクターシンクレットアクションの詳細を確認する際、コネクターで使用するAPIレスポンスの詳細を以下の情報で得ることができます。

* **開始時間:** システムがThinkletの処理を開始した日時。
* **終了時間:** システムがThinkletの処理を終了した日時。
* **レスポンスHTTPコード:** 3rdパーティAPIから取得したレスポンスです。
* **HTTPメソッド:** 3rdパーティAPIが使用したHTTPメソッドです。
* **リソースパス:** 呼び出しが送信される3rdパーティAPIのリソースパスのエンドポイント。
* **ペイロード:** システムがサードパーティAPIに作成した呼び出しの本文。
  * 大きなペイロードの場合、ペイロードにカーソルを合わせると、ツールチップでフルデータセットが表示されます。
* **出力:** Thinkletのために設定された出力がある場合、それに収集されたデータがここに表示されます。

</details>

<details>

<summary><strong>Update custom fields</strong> Thinklet の実行詳細</summary>

ワークフロー監視のタイムラインで **カスタムフィールドを更新** thinklet の結果を確認する際、次の詳細が利用可能です:

* **ステータス**: Thinklet 実行が成功したか失敗したかを示します。
* **時間**: Thinklet が実行された日時。
* **オブジェクト**: Thinklet 設定で選択されたオブジェクトの種類: **デバイス** または **ユーザー**。
* **ターゲット**: 更新に関与した特定のユーザーまたはデバイス識別子。 例えば、デバイスID。
* **更新済み**: 正常に更新されたカスタムフィールドを一覧表示:
  * **カスタムフィールド名**: 更新されたフィールドの名前。
  * **値**: カスタムフィールドに書き込まれた値。
* **未更新**—失敗した場合のみ表示:
  * **カスタムフィールド名**: 更新に失敗したカスタムフィールド。
  * **値**: 書き込む予定だった値。
  * **エラー**: 失敗の理由。 例：*カスタムフィールドの更新に失敗しました。*

<figure><img src="/files/L0weCcWJenTzwVdfha0N" alt="" width="440"><figcaption></figcaption></figure>

</details>

{% hint style="info" %}
特定の Thinklet の失敗を追跡および報告するには、Workflow に **End state** Flow コントロールを追加してください。 [フローコントロールの設定](/platform/ja/user-guide/workflows/creating-workflows/configuring-flow-controls.md#designer-endblock) を参照して、これらの結果チェックポイントを構成します。
{% endhint %}
{% endstep %}
{% endstepper %}

***

## Workflow トラブルシューティングに関する F.A.Q

Workflow トラブルシューティングに関する一般的な質問を解消します。

<details>

<summary>一部のワークフロー手順が失敗したにもかかわらず、システムがワークフローの実行を<strong>成功</strong>とマークするのはなぜですか？</summary>

システムは、Workflow が **End state**、つまり完全な実行パスに到達すると、実行を **Success** とマークします。 ただし、成功した実行であっても、すべての Workflow Thinklet が意図した結果を達成しているとは限りません。 一部の Thinklet エラーは Workflow 実行を停止せず、実行が完了まで継続する場合があります。

このような失敗を識別して報告するには、Workflow 内に **End state** Flow コントロールを追加して、Thinklet 固有の結果を記録および公開します。 [フローコントロールの設定](/platform/ja/user-guide/workflows/creating-workflows/configuring-flow-controls.md#designer-endblock) を参照して、これらの結果チェックポイントを構成します。

</details>


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.nexthink.com/platform/ja/user-guide/workflows/monitoring-workflows-dashboard/troubleshooting-workflows.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
