# Monitoring v1

Note

This service is only available for Rackspace users.

## Setup

The first step is to pass in your credentials and set up a client. For Rackspace users, you will need your username and API key:

    use OpenCloud\Rackspace;

    $client = new Rackspace(Rackspace::US_IDENTITY_ENDPOINT, array(
      'username' => '{username}',
      'apiKey'   => '{apiKey}',
    ));

### Monitoring service

Now to instantiate the Monitoring service:

    $service = $client->monitoringService('{catalogName}', '{region}', '{urlType}');

- `{catalogName}` is the name of the service as it appears in the service catalog. OpenStack users must set this value. For Rackspace users, a default will be provided if you pass in `null`.
- `{region}` is the region the service will operate in. For Rackspace users, you can select one of the following from the supported regions page.
- `{urlType}` is the type of URL to use, depending on which endpoints your catalog provides. If omitted, it will default to the public network.

## Operations

- Entities
  - Create Entity
  - Retrive an entity
    - Attributes
  - Update an entity
  - Delete entity
- Checks
  - Create a check
    - Attributes
    - Optional attributes to be used with remote checks
  - Test parameters
    - Send parameters
  - Test existing Check
  - List Checks
  - Update Check
  - Delete check
- Check types
  - Find an existing check’s type
  - List all possible check types
  - Retrieve details about a Type by its ID
  - Attributes
- Alarms
  - Setup
  - Retrieve alarm
  - Create Alarm
  - List Alarms
  - Update Alarm
  - Delete alarm
- Agents
  - Retrieve details about an agent
  - List agents
  - List connections
  - Get connection
- Agent tokens
  - Retrieve an agent token
  - Create agent token
  - List agent tokens
  - Update agent token
  - Update agent token
- Agent Host Information
  - Setup
  - Get some metrics
- Agent targets
  - List agent targets
- Changelogs
  - View Changelog
- Metrics
  - Data Granularity
    - Specifying resolution to retrieve data in 48 hour period
    - Specifying number of points to retrieve data in 48 hour period
    - Data Point Expiration
  - Setup
  - List all metrics
  - Fetch data points
- Notifications
  - Get notification
  - Creating notifications
    - Test parameters
    - Send parameters
  - Test existing notification
  - List Notifications
  - Update a Notification
  - Delete a Notification
- Notification types
  - Setup
  - List all possible notification types
- Notification plans
  - Get a notification plan
  - Create Notification Plan
  - Update notification plan
  - Delete notification plan
- Alarm Notification History
  - Setup
  - Discover which Checks have a Notification History
  - List Alarm Notification History for a particular Check
  - Get a particular Notification History item
- Views
  - List all Views
- Zones
  - Get details about a zone
  - List all zones
  - Perform a traceroute

## Glossary

agent
  A monitoring daemon that resides on the server being monitored. The agent gathers metrics based on agent checks and pushes them to Cloud Monitoring. The agent provides insight into your servers with checks for information such as load average and network usage. The agent acts as a single small service that runs scheduled checks and pushes metrics to the rest of Cloud Monitoring so the metrics can be analyzed, trigger alerts, and be archived. These metrics are gathered via checks using agent check types, and can be used with the other Cloud Monitoring primitives such as alarms.
agent token
  An authentication token used to identify the agent when it communicates with Cloud Monitoring.
alarm
  An alarm contains a set of rules that determine when the monitoring system sends a notification. You can create multiple alarms for the different checks types associated with an entity. For example, if your entity is a web server that hosts your company’s website, you can create one alarm to monitor the server itself, and another alarm to monitor the website.
check
  Checks explicitly specify how you want to monitor an entity. Once you’ve created an entity, you can configure one or more checks for it. A check is the foundational building block of the monitoring system, and is always associated with an entity. The check specifies the parts or pieces of the entity that you want to monitor, the monitoring frequency, how many monitoring zones are launching the check, and so on. It contains the specific details of how you are monitoring the entity.
entity
  The object or resource that you want to monitor. It can be any object or device that you want to monitor. It’s commonly a web server, but it might also be a website, a web page or a web service.
monitoring zone
  A monitoring zone is the “launch point” of a check. When you create a check, you specify which monitoring zone(s) you want to launch the check from. This concept of a monitoring zone is similar to that of a datacenter, however in the monitoring system, you can think of it more as a geographical region.
notification
  A notification is an informational message sent to one or more addresses by the monitoring system when an alarm is triggered. You can set up notifications to alert a single individual or an entire team. Rackspace Cloud Monitoring currently supports webhooks and email for sending notifications.
notification plan
  A notification plan contains a set of notification rules to execute when an alarm is triggered. A notification plan can contain multiple notifications for each of the following states:

## Further links

- Getting Started Guide for the API
- API Developer Guide
- API release history