Data Center アプリケーションで REST API を使用してサポート zip を作成

このページの内容

お困りですか?

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

コミュニティに質問

Support zips help Atlassian Support understand how your application has been configured and troubleshoot your problem. The most common way to generate a support zip is from the administration console of your application, but for Data Center applications it can be more convenient to use the REST API to create the zip, as this allows you to generate zips from every Confluence node, not just the one you're currently accessing.  

The option to use REST to generate a support zip from multiple nodes is only available for Data Center applications running Atlassian Troubleshooting and Support Tools 1.11.0 or later. 

You can upgrade this add-on at any time, head to Manage Add-ons and search for Atlassian Troubleshooting and Support Tools (if you're running an older version, it may be called Atlassian Support Tools). 

REST API reference

The following REST endpoints are available:

REST API 説明 For

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

Create a support zip  Server (オンプレミス型)
/rest/troubleshooting/latest/support-zip/status/task Get the status of all recent zip creation tasks Server (オンプレミス型)
/rest/troubleshooting/latest/support-zip/status/task/<taskId> Get the status of a specific zip creation task サーバー と データセンター 

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

Download support zip file サーバー と データセンター
/rest/troubleshooting/latest/support-zip/cluster Create a support zip on multiple nodes of the cluster Data Center
/rest/troubleshooting/latest/support-zip/status/cluster/<clusterTaskId> Get the status of the zip creation tasks for the cluster Data Center

This page contains examples of using this REST API in Data Center applications using curl and Windows PowerShell.  You can use the scripting language of your choice. 

See Create a support zip using the REST API in Server applications for Server (non-clustered) specific examples. 

Generate a support zip on all nodes

You'll need System Administrator permissions to generate the support zip.  

To generate a support zip on all nodes in a Data Center instance from the command line: 

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

This returns the Cluster Task ID and node information, for example:

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

The Cluster Task ID groups all the individual support zip tasks for each node, and allows you to check their progress.  

ヒント Sketch で作成されました。

Including the Content-Type header will allow you to include a json payload, which is used to specify particular nodes or items to include in the zip. 

To generate a support zip using Windows PowerShell...

This step requires Invoke-WebRequest. This was introduced in PowerShell v3.0, so is available by default in Windows 8 and from 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
Output when using Windows PowerShell...
StatusCode        : 200
StatusDescription : OK
Content           : {"clusterTaskId":"eec930c0-687c-4a07-b625-02e95022b8ad","nodeIds":["jira1","jira2"]"}

Generate a support zip on particular nodes

To specify particular nodes, include the nodeIds in your request as follows:

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"]}'

In this example the node IDs are Jira1 and Jira2. Your nodes may be named differently.  

Check the progress of the requests

Often it can take some time to generate the zips, especially in large sites. To check the progress of the tasks:

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

The Cluster Task ID in this example would be eec930c0-687c-4a07-b625-02e95022b8ad

To generate a support zip using Windows PowerShell...
# 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

This returns the current progress of the zip generation on each node. In this example, the zips are complete and ready to be downloaded or transferred from the shared home directory. 

{
  "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"
    }
  ]
}

If /status/clustertaskID doesn't return all the nodes this may be because a node is not responding, or the zip generation may not have started on that node yet. Give it a few minutes to broadcast the request to all nodes, and start processing, then try again. 

Generate a support zip with particular parameters

When you generate a support zip via the admin console, you're able to select which items to include, and whether to limit file sizes. This is also possible when generating the zip using the REST API.

For example, if you wanted the log files and health check results from nodes 1 and 2, and didn't want to limit file sizes you could use the following:

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. 
Description in UI Field for API Included by default
認証構成
AUTH_CONFIG
はい
アプリケーション構成ファイル
APPLICATION_CONFIG
はい
Application properties
APPLICATION_PROPERTIES
はい
アプリケーションのカスタマイズ
CONF_CUSTOMISATIONS
Yes (Confluence)
ヘルス チェック結果
HEALTHCHECKS
はい
アプリケーション ログ
APPLICATION_LOGS
はい
キャッシュ構成
CACHE_CONFIG
はい
Fisheye/Crucible.out log
FECRU_OUT
Yes (Fisheye/Crucible)
Fisheye/Crucible plugin configuration
FECRU_PLUGIN_STATE
Yes (Fisheye/Crucible)
Locally modified files
MODZ
Yes (Fisheye/Crucible)
Fisheye/Crucible plugin configuration files
PLUGIN_CONFIG
Yes (Fisheye/Crucible)
Thread dumps
THREAD_DUMP
いいえ
Tomcat 構成ファイル
TOMCAT_CONFIG
はい
Tomcat ログ
TOMCAT_LOGS
はい
Synchrony configuration
SYNCHRONY_CONFIG
Yes (Confluence)
Limit file sizes
limitFileSizes
Defaults to true

Download support zip files

The support zip will be saved to a location in your shared home directory. If you're not able to easily access that directory, or you want to automate the process, you can use the REST API to download it as follows:

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

In this example <filename> would be JIRA_jira2_support_2018-06-11-23-35-12.zip and support.zip the output file name.  Note that you don't have to specify the node, just the filename (which is returned when you check the status of the request). 

トラブルシューティング

  • You need System Administrator permissions to generate the support zip. The request will fail with a permission error if you don't have adequate permissions. 
  • If /status/clustertaskID doesn't return all the nodes this may be because a node is not responding, or the zip generation may not have started on that node yet. Give it a few minutes to broadcast the request to all nodes, and start processing, then try again. 
  • If you see a 404 error, make sure Jira is running, and has version 1.10.5 or later of the Atlassian Troubleshooting and Support Tools add-on.  You can update this plugin at any time, see Updating apps for more information. 
  • If an 'XSRF check failed' error is returned, you can add the X-Atlassian-Token header to each request, setting the value to no-check. Adding this header to a request bypasses the server-side XSRF check and allows the request to be fulfilled. This is required for Confluence. For example:

    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.