# salt.modules.telemetry

Connection module for Telemetry

New in version 2016.3.0.

https://github.com/mongolab/mongolab-telemetry-api-docs/blob/master/alerts.md

configuration:

  This module accepts explicit telemetry credentials or can also read api key credentials from a pillar. More Information available here.

In the minion's config file:

    telemetry.telemetry_api_keys:
      - abc123  # Key 1
      - efg321  # Backup Key 1
    telemetry_api_base_url: https://telemetry-api.mongolab.com/v0

depends:

  requests

salt.modules.telemetry.create_alarm(deployment_id, metric_name, data, api_key=None, profile='telemetry')

  create an telemetry alarms.

  data is a dict of alert configuration data.

  Returns (bool success, str message) tuple.

  CLI Example:

      salt myminion telemetry.create_alarm rs-ds033197 {} profile=telemetry

salt.modules.telemetry.delete_alarms(deployment_id, alert_id=None, metric_name=None, api_key=None, profile='telemetry')
  delete an alert specified by alert_id or if not specified blows away all the alerts

    in the current deployment.

  Returns (bool success, str message) tuple.

  CLI Example:

      salt myminion telemetry.delete_alarms rs-ds033197 profile=telemetry

salt.modules.telemetry.get_alarms(deployment_id, profile='telemetry')

  get all the alarms set up against the current deployment

  Returns dictionary of alarm information

  CLI Example:

      salt myminion telemetry.get_alarms rs-ds033197 profile=telemetry

salt.modules.telemetry.get_alert_config(deployment_id, metric_name=None, api_key=None, profile='telemetry')

  Get all alert definitions associated with a given deployment or if metric_name is specified, obtain the specific alert config

  Returns dictionary or list of dictionaries.

  CLI Example:

      salt myminion telemetry.get_alert_config rs-ds033197 currentConnections profile=telemetry
      salt myminion telemetry.get_alert_config rs-ds033197 profile=telemetry

salt.modules.telemetry.get_notification_channel_id(notify_channel, profile='telemetry')

  Given an email address, creates a notification-channels if one is not found and also returns the corresponding notification channel id.

  notify_channel

    Email escalation policy

  profile

    A dict of telemetry config information.

  CLI Example:

      salt myminion telemetry.get_notification_channel_id userx@company.com profile=telemetry

salt.modules.telemetry.update_alarm(deployment_id, metric_name, data, api_key=None, profile='telemetry')

  update an telemetry alarms. data is a dict of alert configuration data.

  Returns (bool success, str message) tuple.

  CLI Example:

      salt myminion telemetry.update_alarm rs-ds033197 {} profile=telemetry