You can obtain recovery plans for resolving performance problems.
Execution permission
Admin, Modify
Request line
POST baseURL/v1/services/Suggestion/actions/getSuggestion/invoke
Request body
The structure of the request body and the object attributes are as follows:Action
{ "name":"...", "href":"...", "method":"...", "type":"...", "parameters":["...", ...] }
Action (Type: Action)
Attribute |
Type |
Description |
---|---|---|
name |
string |
Name of the action. |
href |
string |
URL for the action. |
method |
string |
Name of the method. |
type |
string |
Data format for the object. |
parameters |
anyType[] |
A list of Suggestion objects necessary to execute an operation. For details, see the table below. |
Suggestion
{ "resourceType":"...", "resourceID":"...", "alertTime":"...", "startTime":"...", "endTime":"...", "metricType":"...", "target":"...", "checkConsumer":"..." }
Suggestion (Type: Suggestion)
Attribute |
Type |
Description |
---|---|---|
resourceType |
enum |
Type of resource to be analyzed (For details about the valid values, see the table E2ENodeType in List of enumerators.) |
resourceID |
string |
ID of the resource to be analyzed |
alertTime |
dateTime |
Time at which the event to be analyzed occurred |
startTime |
dateTime |
Beginning of the period to be analyzed |
endTime |
dateTime |
End of the period to be analyzed |
metricType |
enum |
Type of metric to be analyzed (For details about the valid values, see the table MetricType in List of enumerators.) |
target |
double |
Target value of the metric to be analyzed |
checkConsumer |
boolean |
Whether to consider ConsumerGroup during analysis |
Response body
The structure of the response body and the object attributes is as follows:Job
{ "instanceID":"...", "created":"...", "updated":"...", "completed":"...", "state":"...", "affectedResource":["...", ...], "result":["...", ...] }
Job (Type: Job)
Attribute |
Type |
Description |
---|---|---|
instanceID |
string |
ID of the Instance. |
created |
string |
Date the object is generated in "yyyy-mm-ddThh:mm:ss.mmmTZD" format (e.g., 2017-08-25T20:07:39.472+09:00). |
updated |
string |
Time the object is updated in "yyyy-mm-ddThh:mm:ss.mmmTZD" format (e.g., 2017-08-25T20:07:39.472+09:00). |
completed |
string |
Time the processing completed in "yyyy-mm-ddThh:mm:ss.mmmTZD" format (e.g., 2017-08-25T20:07:39.472+09:00). |
state |
string |
One of the following values is set: "failed": The operation failed. "success": The operation completed successfully. |
affectedResource |
string[] |
A blank space is set. |
result |
anyType[] |
A list of Suggestion objects. For details, see the table below. |
Suggestion
{ "resourceType":"...", "resourceID":"...", "alertTime":"...", "startTime":"...", "endTime":"...", "metricType":"...", "target":"...", "checkConsumer":"...", "planRecords":[{ "planID":"...", "contentID":"...", "title":"...", "planActionType":"...", "summary":"...", "actions":[{ "actionIdNum":"...", "summary":"...", "steps":["...", ...] }, : ], "evaluation":{ "evaluationIdNum":"...", "certainty":{ "level":"...", "details":"..." }, "expectedFinishTime":{ "timeValue":"...", "unit":"...", "qualifier":"...", "annotation":"..." }, "sideEffects":[{ "possibleImpact":"...", "resourceData":{ "name":"...", "e2eViewParam":{ "basePointNodeID":["...", ...], "basePointNodeType":"..." } } }, : ], "undoability":{ "level":"...", "conditions":["...", ...] } }, "remarks":"..." }, : ] }
Suggestion (Type: Suggestion)
Attribute |
Type |
Description |
---|---|---|
resourceType |
enum |
Type of resource to be analyzed (For details about the valid values, see the table E2ENodeType in List of enumerators.) |
resourceID |
string |
ID of the resource to be analyzed |
alertTime |
dateTime |
Time at which the event to be analyzed occurred |
startTime |
dateTime |
Beginning of the period to be analyzed |
endTime |
dateTime |
End of the period to be analyzed |
metricType |
enum |
Type of metric to be analyzed (For details about the valid values, see the table MetricType in List of enumerators.) |
target |
double |
Target value of the metric to be analyzed |
checkConsumer |
boolean |
Whether to consider ConsumerGroup during analysis |
planRecords |
SuggestionPlan[] |
Action plan |
planRecords (Type: SuggestionPlan)
Attribute |
Type |
Description |
---|---|---|
planID |
long |
ID of the action plan |
contentID |
string |
ID of the content that output the action plan |
title |
string |
Title of the action plan |
planActionType |
string |
ID of the methods to be used by the action plan |
summary |
string |
Summary of the action plan |
actions |
SuggestionAction[] |
Information about the methods used to implement the plan |
evaluation |
Evaluation |
Information about the plan details |
remarks |
string |
Notes on the action plan |
actions (Type: SuggestionAction)
Attribute |
Type |
Description |
---|---|---|
actionIdNum |
long |
ID of the methods used to implement the plan |
summary |
string |
Summary of the methods used to implement the plan |
steps |
string[] |
Procedure for implementing the plan |
evaluation (Type: Evaluation)
Attribute |
Type |
Description |
---|---|---|
evaluationIdNum |
long |
ID of the plan evaluation |
certainty |
Certainty |
Information about the probability of success |
expectedFinishTime |
EvalTimeDef |
Information about the time to recover |
sideEffects |
SideEffect[] |
Information about the impact |
undoability |
Undoability |
Information about the evaluation of whether the plan can do rollback |
certainty (Type: Certainty)
Attribute |
Type |
Description |
---|---|---|
level |
enum |
Probability of success (For details about the valid values, see the table CertaintyLevel in List of enumerators.) |
details |
string |
Details about factors that lower the probability of success |
expectedFinishTime (Type: EvalTimeDef)
Attribute |
Type |
Description |
---|---|---|
timeValue |
int |
Value for the time to recover |
unit |
enum |
Unit of the time to recover (For details about the valid values, see the table TimeUnit in List of enumerators.) |
qualifier |
enum |
Modifier used for the time to recover (For details about the valid values, see the table Qualifier in List of enumerators.) |
annotation |
string |
Notes on the time to recover |
sideEffects (Type: SideEffect)
Attribute |
Type |
Description |
---|---|---|
possibleImpact |
string |
Explanation of the impact |
resourceData |
ImpactedResourceData |
Resources affected by the impact |
resourceData (Type: ImpactedResourceData)
Attribute |
Type |
Description |
---|---|---|
name |
string |
Type of resources affected by the impact |
e2eViewParam |
E2EViewParam |
Information about the resource IDs for the resources affected by the impact |
e2eViewParam (Type: E2EViewParam)
Attribute |
Type |
Description |
---|---|---|
basePointNodeID |
string[] |
ID of the base resource. Multiple IDs can be specified if the resources are of the same type. |
basePointNodeType |
enum |
Type of base resource (For details about the valid values, see the table E2ENodeType in List of enumerators.) |
undoability (Type: Undoability)
Attribute |
Type |
Description |
---|---|---|
level |
enum |
Level at which the plan can be rollback (For details about the valid values, see the table UndoabilityLevel in List of enumerators.) |
conditions |
string[] |
Conditions under which the plan can do rollback |
Status codes
Status code |
Reason phrase |
Description |
---|---|---|
200 |
OK |
Success. |
400 |
Bad Request |
- The format of the request body is invalid. - No suggestions pertaining to the request were found. |
401 |
Unauthorized |
No login privilege. |
403 |
Forbidden |
No reference privilege. |
500 |
Internal Server Error |
- Server processing error. - Suggestion processing error. |
Example code
[Request Header] POST /Analytics/v1/services/Suggestion/actions/getSuggestion/invoke Authorization: Basic c3lzdGVtOm1hbmFnZXI= Host: localhost:22015 Accept: application/json Content-Type: application/json [Request Body] { "name" : "getSuggestion", "href" : "http://localhost:22015/Analytics/v1/services/Suggestion/actions/getSuggestion/invoke", "method" : "POST", "type" : "application/json", "parameters" : [ { "resourceType" : "STORAGE_MP", "resourceID" : "raidMPB#53038-MPB-2MC", "alertTime" : "2017-01-23T17:55:53.258+09:00", "startTime" : "2017-01-23T17:55:53.258+09:00", "endTime" : "2017-01-23T17:55:53.258+09:00", "metricType" : "RAID_STORAGE_RAIDMPB_UTILIZATION", "target" : 30.0, "checkConsumer" : false } ] } [Response Header] HTTP/1.1 200 OK Date: Mon, 23 Jan 2017 09:00:58 GMT Server: Cosminexus HTTP Server Cache-Control: no-cache WWW-Authenticate: HSSO 42e4c1b3a553126bd3fabc3bebd4ceaa67719af_ZAlDR1YdfRJUBwFo_V0810 X-Frame-Options: SAMEORIGIN X-XSS-Protection: 1; mode=block X-Content-Type-Options: nosniff Transfer-Encoding: chunked Content-Type: application/json [Response Body] { "instanceID" : "c158def9-48ab-4ad8-bb82-598965b60d0f", "created" : "2017-01-23T19:11:44.326+09:00", "updated" : "2017-01-23T19:11:44.327+09:00", "completed" : "2017-01-23T19:11:44.327+09:00", "state" : "success", "affectedResource" : [ ], "result" : [ { "resourceType" : "STORAGE_MP", "resourceID" : "raidMPB#53038-MPB-2MC", "alertTime" : "2016-12-01T12:32:00.033+09:00", "startTime" : "2016-12-01T12:32:00.033+09:00", "endTime" : "2016-12-20T13:32:00.033+09:00", "metricType" : "RAID_STORAGE_RAIDMPB_UTILIZATION", "target" : 30.0, "checkConsumer" : false, "planRecords" : [ ] } ] }