データセンター アプリケーションで REST API を使用してサポート zip を作成する

お困りですか?

アトラシアン コミュニティをご利用ください。

コミュニティに質問

サポート zip は、ご利用のアプリケーションの構成内容をアトラシアン サポートが理解し、お客様の問題を解決するうえで役立ちます。サポート zip を生成するもっとも一般的な方法はアプリケーション内の管理コンソールを使用することですが、データセンター アプリケーションの場合、アクセス先だけでなくすべての Confluence ノードから zip を生成できる REST API を使用するほうが便利な場合があります。  

REST を使用して複数のノードからサポート zip を生成する方法は、Atlassian Troubleshooting and Support Tools 1.11.0 以降を実行しているデータセンター アプリケーションでのみ利用できます。 

このアドオンはいつでもアップグレードできます。[アドオンの管理] に移動して"Atlassian Troubleshooting and Support Tools" を検索してください (古いバージョンを実行中の場合、"Atlassian Support Tools" である可能性があります)。 

REST API のリファレンス

次の REST エンドポイントを利用できます。

REST API説明対象

/rest/troubleshooting/latest/support-zip/local

サポート zip の作成 サーバー
/rest/troubleshooting/latest/support-zip/status/task最近のすべての zip 作成タスクのステータスを取得サーバー
/rest/troubleshooting/latest/support-zip/status/task/<taskId>特定の zip 作成タスクのステータスを取得サーバーとデータセンター 

/rest/troubleshooting/latest/support-zip/download/<filename>

サポート zip ファイルのダウンロードサーバーとデータセンター
/rest/troubleshooting/latest/support-zip/clusterクラスタの複数のノードでサポート zip を作成データセンター
/rest/troubleshooting/latest/support-zip/status/cluster/<clusterTaskId>クラスタの zip 作成タスクのステータスを取得データセンター

このページでは、curlWindows PowerShell を使用した、データセンター アプリケーションでの REST API の使用例について説明します。任意のスクリプト言語をご利用いただけます。 

サーバー (非クラスタ環境) 専用の例については、「サーバー アプリケーションで REST API を使用してサポート zip を作成する」をご参照ください。 

すべてのノードでサポート zip を生成

サポート zip を生成するには、システム管理者権限が必要です。  

データセンター インスタンスのすべてのノードのサポート zip をコマンド ラインから生成するには、次のコマンドを実行します。 

curl -s -X POST -H 'Content-Type: application/json' -u <username>:<password> http://<base-url.example.com:8080>/rest/troubleshooting/latest/support-zip/cluster

これはクラスタ タスク ID とノード情報を返します。例:

{
   "clusterTaskId":"eec930c0-687c-4a07-b625-02e95022b8ad",
   "nodeIds":["jira1","jira2"]
}

クラスタ タスク ID は各ノードにあるすべての個々のサポート zip タスクをグループ化します。ここでそれぞれの進捗を確認します。  

tip/resting Created with Sketch.

Content-Type ヘッダーを追加することで json ペイロードを追加できます。これを使用して、zip に含める特定のノードまたは項目を指定できます。 

Windows PowerShell を使用してサポート zip を生成する...

この手順では Invoke-WebRequest が必要です。これは PowerShell v3.0 で導入されたため、Windows 8 および Windows Server 2012 以降で、既定で利用可能です。 

# Specify your username, password and Base URL (including a context path if one is being used) below
$user = '<username>'
$pass = '<password>'
$baseurl = 'http://<base-url.example.com:8080>'

# no need to change anything below this line
$pair = "$($user):$($pass)"
$encodedCreds = [System.Convert]::ToBase64String([System.Text.Encoding]::ASCII.GetBytes($pair))
$basicAuthValue = "Basic $encodedCreds"

$headers = @{}
$headers.Add("Authorization", $basicAuthValue)
$headers.Add("X-Atlassian-Token", "no-check")

Invoke-WebRequest -Method POST -Uri "$baseurl/rest/troubleshooting/latest/support-zip/cluster" -UseBasicParsing -Headers $headers
Windows PowerShell を使用する場合の出力結果...
StatusCode        : 200
StatusDescription : OK
Content           : {"clusterTaskId":"eec930c0-687c-4a07-b625-02e95022b8ad","nodeIds":["jira1","jira2"]"}

特定のノードでサポート zip を生成する

特定のノードを指定するには、リクエストに次のように nodeIds を含めます。

curl -s -X POST -H 'Content-Type: application/json' -u <username>:<password> http://<base-url.example.com:8080>/rest/troubleshooting/latest/support-zip/cluster -d '{"nodeIds":["jira1","jira2"]}'

この例では、ノード ID は Jira1Jira2 です。ご利用の環境ではノード名が異なる場合があります。  

リクエストの進行状況を確認する

特に大規模なサイトの場合、zip の生成には時間がかかる場合があります。タスクの進行状況を確認するには、次のコマンドを実行します。

curl -s -X GET -u <username>:<password> http://<base-url.example.com:8080>/rest/troubleshooting/latest/support-zip/status/cluster/<clusterTaskId>

この例でのクラスタ タスク ID は eec930c0-687c-4a07-b625-02e95022b8ad です。 

Windows PowerShell を使用してサポート zip を生成する...
# Specify your username, password and Base URL (including a context path if one is being used) below
$user = '<username>'
$pass = '<password>'
$baseurl = 'http://<base-url.example.com:8080>'
$clustertaskid = '<clusterTaskId>'

# no need to change anything below this line
$pair = "$($user):$($pass)"
$encodedCreds = [System.Convert]::ToBase64String([System.Text.Encoding]::ASCII.GetBytes($pair))
$basicAuthValue = "Basic $encodedCreds"

$headers = @{}
$headers.Add("Authorization", $basicAuthValue)
$headers.Add("X-Atlassian-Token", "no-check")

(Invoke-WebRequest -Uri "$baseurl/rest/troubleshooting/latest/support-zip/status/cluster/$clustertaskid" -UseBasicParsing -Headers $headers).Content

これは、各ノードでの zip 生成の現在の状況を返します。この例では、zip は完成していて、共有ホーム ディレクトリからダウンロードまたは転送できます。 

{
  "clusterTaskId": "eec930c0-687c-4a07-b625-02e95022b8ad",
  "tasks": [
    {
      "taskId": "aaa192c8-f033-4df4-8530-95bcf328c646",
      "progressPercentage": 100,
      "progressMessage": "Your support ZIP can be found in your home directory at: /<shared-home>/export/JIRA_jira2_support_2018-06-11-23-35-12.zip or you can download a copy.",
      "nodeId": "jira2",
      "fileName": "JIRA_jira2_support_2018-06-11-23-35-12.zip"
    },
    {
      "taskId": "d7086507-2d2d-464b-9a7f-9b580ed85956",
      "progressPercentage": 100,
      "progressMessage": "Your support ZIP can be found in your home directory at: /<shared-home>/export/JIRA_jira1_support_2018-06-11-23-35-09.zip or you can download a copy.",
      "nodeId": "jira1"
    }
  ]
}

/status/clustertaskID がノードを返さない場合、ノードが応答していないか、そのノードで zip 生成が開始されていない可能性があります。リクエストがすべてのノードに到達してプロセスが開始されるまで数分間待ち、もう一度試してみてください。 

特定のパラメータでサポート zip を生成する

管理コンソールでサポート zip を生成した場合、含める項目や、ファイル サイズを制限するかどうかを選択できます。これは、REST API を使用して zip を生成する場合も可能です。

たとえば、ログ ファイルとヘルス チェックの結果をノード 1 ~ 2 から取得し、ファイル サイズは制限したくない場合、次のコマンドを使用できます。

curl -s -X POST -H 'Content-Type: application/json' -u <username>:<password> http://<base-url.example.com:8080>/rest/troubleshooting/latest/support-zip/cluster -d '{"nodeIds":["jira1","jira2"], "items":["APPLICATION_LOGS", "TOMCAT_LOGS", "HEALTHCHECKS"], "limitFileSizes": false}'

Here's a list of items you can include in your support zip, and what they're called in the UI, for reference. See Create a Support Zip for a full description of each item. 
UI での説明API フィールド既定で含まれるかどうか
認証構成
AUTH_CONFIG
はい
アプリケーション構成ファイル
APPLICATION_CONFIG
はい
アプリケーション プロパティ
APPLICATION_PROPERTIES
はい
アプリケーションのカスタマイズ
CONF_CUSTOMISATIONS
はい (Confluence)
ヘルス チェック結果
HEALTHCHECKS
はい
アプリケーション ログ
APPLICATION_LOGS
はい
キャッシュ構成
CACHE_CONFIG
はい
Fisheye / Crucible.out log
FECRU_OUT
はい (Fisheye / Crucible)
Fisheye / Crucible のプラグイン構成
FECRU_PLUGIN_STATE
はい (Fisheye / Crucible)
ローカルで変更済みのファイル
MODZ
はい (Fisheye / Crucible)
Fisheye / Crucible のプラグイン構成ファイル
PLUGIN_CONFIG
はい (Fisheye / Crucible)
スレッド ダンプ
THREAD_DUMP
いいえ
Tomcat 構成ファイル
TOMCAT_CONFIG
はい
Tomcat ログ
TOMCAT_LOGS
はい
Synchrony 設定
SYNCHRONY_CONFIG
はい (Confluence)
ファイル サイズの制限
limitFileSizes
既定で true

サポート zip ファイルのダウンロード

サポート zip は、共有ホーム ディレクトリ内の場所に保存されます。このディレクトリへのアクセスが難しい場合、またはプロセスを自動化したい場合は、次のように REST API を使用してダウンロードできます。

curl -u <username>:<password> http://<base-url.example.com:8080>/rest/troubleshooting/latest/support-zip/download/<filename> -o support.zip

この例では、<filename> が 出力されたファイル名の JIRA_jira2_support_2018-06-11-23-35-12.zipsupport.zip になります。ノードを指定する必要はなく、リクエストのステータスを確認したときに返されるファイル名のみが必要です。 

トラブルシューティング

  • サポート zip を生成するには、システム管理者権限が必要です。適切な権限がない場合、リクエストは権限エラーで失敗します。 
  • /status/clustertaskID がノードを返さない場合、ノードが応答していないか、そのノードで zip 生成が開始されていない可能性があります。リクエストがすべてのノードに到達してプロセスが開始されるまで数分間待ち、もう一度試してみてください。 
  • 404 エラーが表示される場合、Jira が実行中で、Atlassian Troubleshooting and Support Tools アドオンの 1.10.5 以降がインストールされていることを確認します。このプラグインはいつでも更新できます。詳細については「アプリの更新」をご参照ください。 
  • 'XSRF check failed' エラーが返される場合、各リクエストに X-Atlassian-Token ヘッダーを追加できます。値は no-check に設定します。リクエストにこのヘッダーを追加することで、サーバー側の XSRF チェックを迂回し、リクエストを実現できます。これは Confluence の場合は必須です。例:

    curl -u <username>:<password> -X POST http://<app-node1.example.com:8080>/rest/troubleshooting/latest/support-zip/local -H "X-Atlassian-Token: no-check"


最終更新日 2018 年 11 月 14 日

この内容はお役に立ちましたか?

はい
いいえ
この記事についてのフィードバックを送信する
Powered by Confluence and Scroll Viewport.