Components

newrelic_api.components

class newrelic_api.components.Components(api_key=None)

An interface for interacting with the NewRelic component API.

__init__(api_key=None)
Parameters:api_key (str) – The API key. If no key is passed, the environment variable NEW_RELIC_API_KEY is used.
Raises:If the api_key parameter is not present, and no environment variable is present, a newrelic_api.exceptions.ConfigurationException is raised.
list(filter_name=None, filter_ids=None, filter_plugin_id=None, page=None)

This API endpoint returns a paginated list of the Components associated with your New Relic account. Components can be filtered by their name or by a list of component IDs.

Parameters:
  • filter_name (str) – Filter by component name
  • filter_ids (list of ints) – Filter by component ids
  • filter_plugin_id (int) – Filter components by the plugin
  • page (int) – Pagination index
Return type:

dict

Returns:

The JSON response of the API, with an additional ‘pages’ key if there are paginated results

{
    "components": [
        {
            "id": "integer",
            "name": "string",
            "summary_metrics": [
                {
                    "id": "integer",
                    "name": "string",
                    "metric": "string",
                    "value_function": "string",
                    "thresholds": {
                        "caution": "float",
                        "critical": "float"
                    },
                    "values": {
                        "raw": "float",
                        "formatted": "string"
                    }
                }
            ]
        }
    ],
    "pages": {
        "last": {
            "url": "https://api.newrelic.com/v2/components.json?page=2",
            "rel": "last"
        },
        "next": {
            "url": "https://api.newrelic.com/v2/components.json?page=2",
            "rel": "next"
        }
    }
}
metric_data(id, names, values=None, from_dt=None, to_dt=None, summarize=False)

This API endpoint returns a list of values for each of the requested metrics. The list of available metrics can be returned using the Metric Name API endpoint.

Metric data can be filtered by a number of parameters, including multiple names and values, and by time range. Metric names and values will be matched intelligently in the background.

You can also retrieve a summarized data point across the entire time range selected by using the summarize parameter.

Note All times sent and received are formatted in UTC. The default time range is the last 30 minutes.

Parameters:
  • id (int) – Component ID
  • names (list of str) – Retrieve specific metrics by name
  • values (list of str) – Retrieve specific metric values
  • from_dt (datetime) – Retrieve metrics after this time
  • to_dt (datetime) – Retrieve metrics before this time
  • summarize (bool) – Summarize the data
Return type:

dict

Returns:

The JSON response of the API

{
    "metric_data": {
        "from": "time",
        "to": "time",
        "metrics": [
            {
                "name": "string",
                "timeslices": [
                    {
                        "from": "time",
                        "to": "time",
                        "values": "hash"
                    }
                ]
            }
        ]
    }
}
metric_names(id, name=None, page=None)

Return a list of known metrics and their value names for the given resource.

Parameters:
  • id (int) – Component ID
  • name (str) – Filter metrics by name
  • page (int) – Pagination index
Return type:

dict

Returns:

The JSON response of the API

{
    "metrics": [
        {
            "name": "string",
            "values": [
                "string"
            ]
        }
    ],
    "pages": {
        "last": {
            "url": "https://api.newrelic.com/v2/components/{component_id}/metrics.json?page=2",
            "rel": "last"
        },
        "next": {
            "url": "https://api.newrelic.com/v2/components/{component_id}/metrics.json?page=2",
            "rel": "next"
        }
    }
}
show(id)

This API endpoint returns a single component, identified its ID.

Parameters:id (int) – Component ID
Return type:dict
Returns:The JSON response of the API
{
    "component": {
        "id": "integer",
        "name": "string",
        "summary_metrics": [
            {
                "id": "integer",
                "name": "string",
                "metric": "string",
                "value_function": "string",
                "thresholds": {
                    "caution": "float",
                    "critical": "float"
                },
                "values": {
                    "raw": "float",
                    "formatted": "string"
                }
            }
        ]
    }
}