Push Metrics API
The Push Metrics API provides endpoints that enable you to push raw Metric Intelligence data from an external source to the MID Server.
This API is based on client-side tools that push the raw data from the external source to the MID Server. The Metric Intelligence extension is required to be configured with the Enable REST Listener option enabled. For more information on setting up the MID Server, see Get started with Metric Intelligence.
For information on authentication requirements, see Configure the MID Web Server extension.
Push Metrics - POST /mid/sa/metrics
Pushes raw Metric Intelligence data from an external source to the MID Server.
URL format
Default URL: /api/mid/sa/metrics
Supported request parameters
| Name | Description |
|---|---|
| None |
| Name | Description |
|---|---|
| None |
| Name | Description |
|---|---|
| ci2metric_id | List of key-value pairs to use to identify the configuration item (CI). It is
formerly known as ci_identifier. The script continues to accept
ci_identifier. Data type: Object |
| metric_type | Name of the metric. Data type: String |
| node | IP address, FQDN, name of the CI, or host. In the example below, the name of
the Linux server where the disks are installed. Data type: String |
| resource_path | The path of the resource for which metric data is being collected. In the example below, C:\ is the resource for which metric data is collected.Data type: String |
| source | Data source monitoring the metric type. Data type: String |
| timestamp | Epoch time stamp of the metric. Data type: Number Unit: Milliseconds |
| unit | Unit type that is associated with the source metric type. Table: Monitoring System Metric Types [sa_source_metric_type] Data type: String |
| value | Value of the metric. Data type: Number |
Headers
The following request and response headers apply to this HTTP action only, or apply to this action in a distinct way. For a list of general headers used in the REST API, see Supported REST API headers.
| Header | Description |
|---|---|
| Content-Type | Data format of the request body. Supported types: application/json or application/xml.
Default: application/json |
| Header | Description |
|---|---|
| None |
Status codes
The following status codes apply to this HTTP action. For a list of possible status codes used in the REST API, see REST API HTTP response codes.
| Status code | Description |
|---|---|
| 200 | Successful. The request was successfully processed. |
| 401 | Unauthorized. The user credentials are incorrect or have not been passed. |
| 500 | Internal server error. An unexpected error occurred while processing the request. The response contains additional information about the error. |
Response body parameters (JSON or XML)
| Name | Description |
|---|---|
| None |
cURL request
The request body must be surrounded by square brackets, as shown in this example.
curl -X POST "https://<mid-server-host>/api/mid/sa/metrics"
-H "Content-Type: application/json"
-U "username":"password"
-d "[{
"metric_type": "Disk C: % Free Space",
"resource_path": "C:\\",
"node": "lnux100",
"value": 50,
"timestamp": 1473183012000,
"ci2metric_id": {
"node": "lnux100"
},
"source": "Splunk"
}]"