github.com/nathanielks/terraform@v0.6.1-0.20170509030759-13e1a62319dc/website/source/docs/providers/circonus/r/check.html.markdown (about)

     1  ---
     2  layout: "circonus"
     3  page_title: "Circonus: circonus_check"
     4  sidebar_current: "docs-circonus-resource-circonus_check"
     5  description: |-
     6    Manages a Circonus check.
     7  ---
     8  
     9  # circonus\_check
    10  
    11  The ``circonus_check`` resource creates and manages a
    12  [Circonus Check](https://login.circonus.com/resources/api/calls/check_bundle).
    13  
    14  ~> **NOTE regarding `cirocnus_check` vs a Circonus Check Bundle:** The
    15  `circonus_check` resource is implemented in terms of a
    16  [Circonus Check Bundle](https://login.circonus.com/resources/api/calls/check_bundle).
    17  The `circonus_check` creates a higher-level abstraction over the implementation
    18  of a Check Bundle.  As such, the naming and structure does not map 1:1 with the
    19  underlying Circonus API.
    20  
    21  ## Usage
    22  
    23  ```hcl
    24  variable api_token {
    25    default = "my-token"
    26  }
    27  
    28  resource "circonus_check" "usage" {
    29    name = "Circonus Usage Check"
    30  
    31    notes = <<-EOF
    32  A check to extract a usage metric.
    33  EOF
    34  
    35    collector {
    36      id = "/broker/1"
    37    }
    38  
    39    metric {
    40      name = "${circonus_metric.used.name}"
    41      tags = "${circonus_metric.used.tags}"
    42      type = "${circonus_metric.used.type}"
    43      unit = "${circonus_metric.used.unit}"
    44    }
    45  
    46    json {
    47      url = "https://api.circonus.com/v2"
    48  
    49      http_headers = {
    50        Accept                = "application/json"
    51        X-Circonus-App-Name   = "TerraformCheck"
    52        X-Circonus-Auth-Token = "${var.api_token}"
    53      }
    54    }
    55  
    56    period       = 60
    57    tags         = ["source:circonus", "author:terraform"]
    58    timeout      = 10
    59  }
    60  
    61  resource "circonus_metric" "used" {
    62    name = "_usage`0`_used"
    63    type = "numeric"
    64    unit = "qty"
    65  
    66    tags = {
    67      source = "circonus"
    68    }
    69  }
    70  ```
    71  
    72  ## Argument Reference
    73  
    74  * `active` - (Optional) Whether or not the check is enabled or not (default
    75    `true`).
    76  
    77  * `caql` - (Optional) A [Circonus Analytics Query Language
    78    (CAQL)](https://login.circonus.com/user/docs/CAQL) check.  See below for
    79    details on how to configure a `caql` check.
    80  
    81  * `cloudwatch` - (Optional) A [CloudWatch
    82    check](https://login.circonus.com/user/docs/Data/CheckTypes/CloudWatch) check.
    83    See below for details on how to configure a `cloudwatch` check.
    84  
    85  * `collector` - (Required) A collector ID.  The collector(s) that are
    86    responsible for running a `circonus_check`. The `id` can be the Circonus ID
    87    for a Circonus collector (a.k.a. "broker") running in the cloud or an
    88    enterprise collector running in your datacenter.  One collection of metrics
    89    will be automatically created for each `collector` specified.
    90  
    91  * `consul` - (Optional) A native Consul check.  See below for details on how to
    92    configure a `consul` check.
    93  
    94  * `http` - (Optional) A poll-based HTTP check.  See below for details on how to configure
    95    the `http` check.
    96  
    97  * `httptrap` - (Optional) An push-based HTTP check.  This check method expects
    98    clients to send a specially crafted HTTP JSON payload.  See below for details
    99    on how to configure the `httptrap` check.
   100  
   101  * `icmp_ping` - (Optional) An ICMP ping check.  See below for details on how to
   102    configure the `icmp_ping` check.
   103  
   104  * `json` - (Optional) A JSON check.  See below for details on how to configure
   105    the `json` check.
   106  
   107  * `metric` - (Required) A list of one or more `metric` configurations.  All
   108    metrics obtained from this check instance will be available as individual
   109    metric streams.  See below for a list of supported `metric` attrbutes.
   110  
   111  * `metric_limit` - (Optional) Setting a metric limit will tell the Circonus
   112    backend to periodically look at the check to see if there are additional
   113    metrics the collector has seen that we should collect. It will not reactivate
   114    metrics previously collected and then marked as inactive. Values are `0` to
   115    disable, `-1` to enable all metrics or `N+` to collect up to the value `N`
   116    (both `-1` and `N+` can not exceed other account restrictions).
   117  
   118  * `mysql` - (Optional) A MySQL check.  See below for details on how to configure
   119    the `mysql` check.
   120  
   121  * `name` - (Optional) The name of the check that will be displayed in the web
   122    interface.
   123  
   124  * `notes` - (Optional) Notes about this check.
   125  
   126  * `period` - (Optional) The period between each time the check is made in
   127    seconds.
   128  
   129  * `postgresql` - (Optional) A PostgreSQL check.  See below for details on how to
   130    configure the `postgresql` check.
   131  
   132  * `statsd` - (Optional) A statsd check.  See below for details on how to
   133    configure the `statsd` check.
   134  
   135  * `tags` - (Optional) A list of tags assigned to this check.
   136  
   137  * `target` - (Required) A string containing the location of the thing being
   138    checked.  This value changes based on the check type.  For example, for an
   139    `http` check type this would be the URL you're checking. For a DNS check it
   140    would be the hostname you wanted to look up.
   141  
   142  * `tcp` - (Optional) A TCP check.  See below for details on how to configure the
   143    `tcp` check (includes TLS support).
   144  
   145  * `timeout` - (Optional) A floating point number representing the maximum number
   146    of seconds this check should wait for a result.  Defaults to `10.0`.
   147  
   148  ## Supported `metric` Attributes
   149  
   150  The following attributes are available within a `metric`.
   151  
   152  * `active` - (Optional) Whether or not the metric is active or not.  Defaults to `true`.
   153  * `name` - (Optional) The name of the metric.  A string containing freeform text.
   154  * `tags` - (Optional) A list of tags assigned to the metric.
   155  * `type` - (Required) A string containing either `numeric`, `text`, `histogram`, `composite`, or `caql`.
   156  * `units` - (Optional) The unit of measurement the metric represents (e.g., bytes, seconds, milliseconds). A string containing freeform text.
   157  
   158  ## Supported Check Types
   159  
   160  Circonus supports a variety of different checks.  Each check type has its own
   161  set of options that must be configured.  Each check type conflicts with every
   162  other check type (i.e. a `circonus_check` configured for a `json` check will
   163  conflict with all other check types, therefore a `postgresql` check must be a
   164  different `circonus_check` resource).
   165  
   166  ### `caql` Check Type Attributes
   167  
   168  * `query` - (Required) The [CAQL
   169    Query](https://login.circonus.com/user/docs/caql_reference) to run.
   170  
   171  Available metrics depend on the payload returned in the `caql` check.  See the
   172  [`caql` check type](https://login.circonus.com/resources/api/calls/check_bundle) for
   173  additional details.
   174  
   175  ### `cloudwatch` Check Type Attributes
   176  
   177  * `api_key` - (Required) The AWS access key.  If this value is not explicitly
   178    set, this value is populated by the environment variable `AWS_ACCESS_KEY_ID`.
   179  
   180  * `api_secret` - (Required) The AWS secret key.  If this value is not explicitly
   181    set, this value is populated by the environment variable `AWS_SECRET_ACCESS_KEY`.
   182  
   183  * `dimmensions` - (Required) A map of the CloudWatch dimmensions to include in
   184    the check.
   185  
   186  * `metric` - (Required) A list of metric names to collect in this check.
   187  
   188  * `namespace` - (Required) The namespace to pull parameters from.
   189  
   190  * `url` - (Required) The AWS URL to pull from.  This should be set to the
   191    region-specific endpoint (e.g. prefer
   192    `https://monitoring.us-east-1.amazonaws.com` over
   193    `https://monitoring.amazonaws.com`).
   194  
   195  * `version` - (Optional) The version of the Cloudwatch API to use.  Defaults to
   196    `2010-08-01`.
   197  
   198  Available metrics depend on the payload returned in the `cloudwatch` check.  See the
   199  [`cloudwatch` check type](https://login.circonus.com/resources/api/calls/check_bundle) for
   200  additional details.  The `circonus_check` `period` attribute must be set to
   201  either `60s` or `300s` for CloudWatch metrics.
   202  
   203  Example CloudWatch check (partial metrics collection):
   204  
   205  ```hcl
   206  variable "cloudwatch_rds_tags" {
   207    type = "list"
   208    default = [
   209      "app:postgresql",
   210      "app:rds",
   211      "source:cloudwatch",
   212    ]
   213  }
   214  
   215  resource "circonus_check" "rds_metrics" {
   216    active = true
   217    name = "Terraform test: RDS Metrics via CloudWatch"
   218    notes = "Collect RDS metrics"
   219    period = "60s"
   220  
   221    collector {
   222      id = "/broker/1"
   223    }
   224  
   225    cloudwatch {
   226      dimmensions = {
   227        DBInstanceIdentifier = "my-db-name",
   228      }
   229  
   230      metric = [
   231        "CPUUtilization",
   232        "DatabaseConnections",
   233      ]
   234  
   235      namespace = "AWS/RDS"
   236      url = "https://monitoring.us-east-1.amazonaws.com"
   237    }
   238  
   239    metric {
   240      name = "CPUUtilization"
   241      tags = [ "${var.cloudwatch_rds_tags}" ]
   242      type = "numeric"
   243      unit = "%"
   244    }
   245  
   246    metric {
   247      name = "DatabaseConnections"
   248      tags = [ "${var.cloudwatch_rds_tags}" ]
   249      type = "numeric"
   250      unit = "connections"
   251    }
   252  }
   253  ```
   254  
   255  ### `consul` Check Type Attributes
   256  
   257  * `acl_token` - (Optional) An ACL Token authenticate the API request.  When an
   258    ACL Token is set, this value is transmitted as an HTTP Header in order to not
   259    show up in any logs.  The default value is an empty string.
   260  
   261  * `allow_stale` - (Optional) A boolean value that indicates whether or not this
   262    check should require the health information come from the Consul leader node.
   263    For scalability reasons, this value defaults to `false`.  See below for
   264    details on detecting the staleness of health information.
   265  
   266  * `ca_chain` - (Optional) A path to a file containing all the certificate
   267    authorities that should be loaded to validate the remote certificate (required
   268    when `http_addr` is a TLS-enabled endpoint).
   269  
   270  * `certificate_file` - (Optional) A path to a file containing the client
   271    certificate that will be presented to the remote server (required when
   272    `http_addr` is a TLS-enabled endpoint).
   273  
   274  * `check_blacklist` - (Optional) A list of check names to exclude from the
   275    result of checks (i.e. no metrics will be generated by whose check name is in
   276    the `check_blacklist`).  This blacklist is applied to the `node`,
   277    `service`, and `state` check modes.
   278  
   279  * `ciphers` - (Optional) A list of ciphers to be used in the TLS protocol
   280    (only used when `http_addr` is a TLS-enabled endpoint).
   281  
   282  * `dc` - (Optional) Explicitly name the Consul datacenter to use.  The default
   283    value is an empty string.  When an empty value is specified, the Consul
   284    datacenter of the agent at the `http_addr` is implicitly used.
   285  
   286  * `headers` - (Optional) A map of the HTTP headers to be sent when executing the
   287    check.  NOTE: the `headers` attribute is processed last and will takes
   288    precidence over any other derived value that is transmitted as an HTTP header
   289    to Consul (i.e. it is possible to override the `acl_token` by setting a
   290    headers value).
   291  
   292  * `http_addr` - (Optional) The Consul HTTP endpoint to to query for health
   293    information.  The default value is `http://consul.service.consul:8500`.  The
   294    scheme must change from `http` to `https` when the endpoint has been
   295    TLS-enabled.
   296  
   297  * `key_file` - (Optional) A path to a file containing key to be used in
   298    conjunction with the cilent certificate (required when `http_addr` is a
   299    TLS-enabled endpoint).
   300  
   301  * `node` - (Optional) Check the health of this node.  The value can be either a
   302    Consul Node ID (Consul Version >= 0.7.4) or Node Name.  See also the
   303    `service_blacklist`, `node_blacklist`, and `check_blacklist` attributes.  This
   304    attribute conflicts with the `service` and `state` attributes.
   305  
   306  * `node_blacklist` - (Optional) A list of node IDs or node names to exclude from
   307    the results of checks (i.e. no metrics will be generated from nodes in the
   308    `node_blacklist`).  This blacklist is applied to the `node`, `service`, and
   309    `state` check modes.
   310  
   311  * `service` - (Optional) Check the cluster-wide health of this named service.
   312    See also the `service_blacklist`, `node_blacklist`, and `check_blacklist`
   313    attributes.  This attribute conflicts with the `node` and `state` attributes.
   314  
   315  * `service_blacklist` - (Optional) A list of service names to exclude from the
   316    result of checks (i.e. no metrics will be generated by services whose service
   317    name is in the `service_blacklist`).  This blacklist is applied to the `node`,
   318    `service`, and `state` check modes.
   319  
   320  * `state` - (Optional) A Circonus check to monitor Consul checks across the
   321    entire Consul cluster.  This value may be either `passing`, `warning`, or
   322    `critical`.  This `consul` check mode is intended to act as the cluster check
   323    of last resort.  This check type is useful when first starting and is intended
   324    to act as a check of last resort before transitioning to explicitly defined
   325    checks for individual services or nodes.  The metrics returned from check will
   326    be sorted based on the `CreateIndex` of the entry in order to have a stable
   327    set of metrics in the array of returned values.  See also the
   328    `service_blacklist`, `node_blacklist`, and `check_blacklist` attributes.  This
   329    attribute conflicts with the `node` and `state` attributes.
   330  
   331  Available metrics depend on the consul check being performed (`node`, `service`,
   332  or `state`).  In addition to the data avilable from the endpoints, the `consul`
   333  check also returns a set of metrics that are a variant of:
   334  `{Num,Pct}{,Passing,Warning,Critical}{Checks,Nodes,Services}` (see the
   335  `GLOB_BRACE` section of your local `glob(3)` documentation).
   336  
   337  Example Consul check (partial metrics collection):
   338  
   339  ```hcl
   340  resource "circonus_check" "consul_server" {
   341    active = true
   342    name = "%s"
   343    period = "60s"
   344  
   345    collector {
   346      # Collector ID must be an Enterprise broker able to reach the Consul agent
   347      # listed in `http_addr`.
   348      id = "/broker/2110"
   349    }
   350  
   351    consul {
   352      service = "consul"
   353  
   354      # Other consul check modes:
   355      # node = "consul1"
   356      # state = "critical"
   357    }
   358  
   359    metric {
   360      name = "NumNodes"
   361      tags = [ "source:consul", "lifecycle:unittest" ]
   362      type = "numeric"
   363    }
   364  
   365    metric {
   366      name = "LastContact"
   367      tags = [ "source:consul", "lifecycle:unittest" ]
   368      type = "numeric"
   369      unit = "seconds"
   370    }
   371  
   372    metric {
   373      name = "Index"
   374      tags = [ "source:consul", "lifecycle:unittest" ]
   375      type = "numeric"
   376      unit = "transactions"
   377    }
   378  
   379    metric {
   380      name = "KnownLeader"
   381      tags = [ "source:consul", "lifecycle:unittest" ]
   382      type = "text"
   383    }
   384  
   385    tags = [ "source:consul", "lifecycle:unittest" ]
   386  }
   387  ```
   388  
   389  ### `http` Check Type Attributes
   390  
   391  * `auth_method` - (Optional) HTTP Authentication method to use.  When set must
   392    be one of the values `Basic`, `Digest`, or `Auto`.
   393  
   394  * `auth_password` - (Optional) The password to use during authentication.
   395  
   396  * `auth_user` - (Optional) The user to authenticate as.
   397  
   398  * `body_regexp` - (Optional) This regular expression is matched against the body
   399    of the response. If a match is not found, the check will be marked as "bad."
   400  
   401  * `ca_chain` - (Optional) A path to a file containing all the certificate
   402    authorities that should be loaded to validate the remote certificate (for TLS
   403    checks).
   404  
   405  * `certificate_file` - (Optional) A path to a file containing the client
   406    certificate that will be presented to the remote server (for TLS checks).
   407  
   408  * `ciphers` - (Optional) A list of ciphers to be used in the TLS protocol (for
   409    HTTPS checks).
   410  
   411  * `code` - (Optional) The HTTP code that is expected. If the code received does
   412    not match this regular expression, the check is marked as "bad."
   413  
   414  * `extract` - (Optional) This regular expression is matched against the body of
   415    the response globally. The first capturing match is the key and the second
   416    capturing match is the value. Each key/value extracted is registered as a
   417    metric for the check.
   418  
   419  * `headers` - (Optional) A map of the HTTP headers to be sent when executing the
   420    check.
   421  
   422  * `key_file` - (Optional) A path to a file containing key to be used in
   423    conjunction with the cilent certificate (for TLS checks).
   424  
   425  * `method` - (Optional) The HTTP Method to use.  Defaults to `GET`.
   426  
   427  * `payload` - (Optional) The information transferred as the payload of an HTTP
   428    request.
   429  
   430  * `read_limit` - (Optional) Sets an approximate limit on the data read (`0`
   431    means no limit). Default `0`.
   432  
   433  * `redirects` - (Optional) The maximum number of HTTP `Location` header
   434    redirects to follow. Default `0`.
   435  
   436  * `url` - (Required) The target for this `json` check.  The `url` must include
   437    the scheme, host, port (optional), and path to use
   438    (e.g. `https://app1.example.org/healthz`)
   439  
   440  * `version` - (Optional) The HTTP version to use.  Defaults to `1.1`.
   441  
   442  Available metrics include: `body_match`, `bytes`, `cert_end`, `cert_end_in`,
   443  `cert_error`, `cert_issuer`, `cert_start`, `cert_subject`, `code`, `duration`,
   444  `truncated`, `tt_connect`, and `tt_firstbyte`.  See the
   445  [`http` check type](https://login.circonus.com/resources/api/calls/check_bundle) for
   446  additional details.
   447  
   448  ### `httptrap` Check Type Attributes
   449  
   450  * `async_metrics` - (Optional) Boolean value specifies whether or not httptrap
   451    metrics are logged immediately or held until the status message is to be
   452    emitted.  Default `false`.
   453  
   454  * `secret` - (Optional) Specify the secret with which metrics may be
   455    submitted.
   456  
   457  Available metrics depend on the payload returned in the `httptrap` doc.  See
   458  the [`httptrap` check type](https://login.circonus.com/resources/api/calls/check_bundle)
   459  for additional details.
   460  
   461  ### `json` Check Type Attributes
   462  
   463  * `auth_method` - (Optional) HTTP Authentication method to use.  When set must
   464    be one of the values `Basic`, `Digest`, or `Auto`.
   465  
   466  * `auth_password` - (Optional) The password to use during authentication.
   467  
   468  * `auth_user` - (Optional) The user to authenticate as.
   469  
   470  * `ca_chain` - (Optional) A path to a file containing all the certificate
   471    authorities that should be loaded to validate the remote certificate (for TLS
   472    checks).
   473  
   474  * `certificate_file` - (Optional) A path to a file containing the client
   475    certificate that will be presented to the remote server (for TLS checks).
   476  
   477  * `ciphers` - (Optional) A list of ciphers to be used in the TLS protocol (for
   478    HTTPS checks).
   479  
   480  * `headers` - (Optional) A map of the HTTP headers to be sent when executing the
   481    check.
   482  
   483  * `key_file` - (Optional) A path to a file containing key to be used in
   484    conjunction with the cilent certificate (for TLS checks).
   485  
   486  * `method` - (Optional) The HTTP Method to use.  Defaults to `GET`.
   487  
   488  * `port` - (Optional) The TCP Port number to use.  Defaults to `81`.
   489  
   490  * `read_limit` - (Optional) Sets an approximate limit on the data read (`0`
   491    means no limit). Default `0`.
   492  
   493  * `redirects` - (Optional) The maximum number of HTTP `Location` header
   494    redirects to follow. Default `0`.
   495  
   496  * `url` - (Required) The target for this `json` check.  The `url` must include
   497    the scheme, host, port (optional), and path to use
   498    (e.g. `https://app1.example.org/healthz`)
   499  
   500  * `version` - (Optional) The HTTP version to use.  Defaults to `1.1`.
   501  
   502  Available metrics depend on the payload returned in the `json` doc.  See the
   503  [`json` check type](https://login.circonus.com/resources/api/calls/check_bundle) for
   504  additional details.
   505  
   506  ### `icmp_ping` Check Type Attributes
   507  
   508  The `icmp_ping` check requires the `target` top-level attribute to be set.
   509  
   510  * `availability` - (Optional) The percentage of ping packets that must be
   511    returned for this measurement to be considered successful.  Defaults to
   512    `100.0`.
   513  * `count` - (Optional) The number of ICMP ping packets to send.  Defaults to
   514    `5`.
   515  * `interval` - (Optional) Interval between packets.  Defaults to `2s`.
   516  
   517  Available metrics include: `available`, `average`, `count`, `maximum`, and
   518  `minimum`.  See the
   519  [`ping_icmp` check type](https://login.circonus.com/resources/api/calls/check_bundle)
   520  for additional details.
   521  
   522  ### `mysql` Check Type Attributes
   523  
   524  The `mysql` check requires the `target` top-level attribute to be set.
   525  
   526  * `dsn` - (Required) The [MySQL DSN/connect
   527    string](https://github.com/go-sql-driver/mysql/blob/master/README.md) to
   528    use to talk to MySQL.
   529  * `query` - (Required) The SQL query to execute.
   530  
   531  ### `postgresql` Check Type Attributes
   532  
   533  The `postgresql` check requires the `target` top-level attribute to be set.
   534  
   535  * `dsn` - (Required) The [PostgreSQL DSN/connect
   536    string](https://www.postgresql.org/docs/current/static/libpq-connect.html) to
   537    use to talk to PostgreSQL.
   538  * `query` - (Required) The SQL query to execute.
   539  
   540  Available metric names are dependent on the output of the `query` being run.
   541  
   542  ### `statsd` Check Type Attributes
   543  
   544  * `source_ip` - (Required) Any statsd messages from this IP address (IPv4 or
   545    IPv6) will be associated with this check.
   546  
   547  Available metrics depend on the metrics sent to the `statsd` check.
   548  
   549  ### `tcp` Check Type Attributes
   550  
   551  * `banner_regexp` - (Optional) This regular expression is matched against the
   552    response banner. If a match is not found, the check will be marked as bad.
   553  
   554  * `ca_chain` - (Optional) A path to a file containing all the certificate
   555    authorities that should be loaded to validate the remote certificate (for TLS
   556    checks).
   557  
   558  * `certificate_file` - (Optional) A path to a file containing the client
   559    certificate that will be presented to the remote server (for TLS checks).
   560  
   561  * `ciphers` - (Optional) A list of ciphers to be used in the TLS protocol (for
   562    HTTPS checks).
   563  
   564  * `host` - (Required) Hostname or IP address of the host to connect to.
   565  
   566  * `key_file` - (Optional) A path to a file containing key to be used in
   567    conjunction with the cilent certificate (for TLS checks).
   568  
   569  * `port` - (Required) Integer specifying the port on which the management
   570    interface can be reached.
   571  
   572  * `tls` - (Optional) When enabled establish a TLS connection.
   573  
   574  Available metrics include: `banner`, `banner_match`, `cert_end`, `cert_end_in`,
   575  `cert_error`, `cert_issuer`, `cert_start`, `cert_subject`, `duration`,
   576  `tt_connect`, `tt_firstbyte`.  See the
   577  [`tcp` check type](https://login.circonus.com/resources/api/calls/check_bundle)
   578  for additional details.
   579  
   580  Sample `tcp` check:
   581  
   582  ```hcl
   583  resource "circonus_check" "tcp_check" {
   584    name = "TCP and TLS check"
   585    notes = "Obtains the connect time and TTL for the TLS cert"
   586    period = "60s"
   587  
   588    collector {
   589      id = "/broker/1"
   590    }
   591  
   592    tcp {
   593      host = "127.0.0.1"
   594      port = 443
   595      tls = true
   596    }
   597  
   598    metric {
   599      name = "cert_end_in"
   600      tags = [ "${var.tcp_check_tags}" ]
   601      type = "numeric"
   602      unit = "seconds"
   603    }
   604  
   605    metric {
   606      name = "tt_connect"
   607      tags = [ "${var.tcp_check_tags}" ]
   608      type = "numeric"
   609      unit = "miliseconds"
   610    }
   611  
   612    tags = [ "${var.tcp_check_tags}" ]
   613  }
   614  ```
   615  
   616  ## Out Parameters
   617  
   618  * `check_by_collector` - Maps the ID of the collector (`collector_id`, the map
   619    key) to the `check_id` (value) that is registered to a collector.
   620  
   621  * `check_id` - If there is only one `collector` specified for the check, this
   622    value will be populated with the `check_id`.  If more than one `collector` is
   623    specified in the check, then this value will be an empty string.
   624    `check_by_collector` will always be populated.
   625  
   626  * `checks` - List of `check_id`s created by this `circonus_check`.  There is one
   627    element in this list per collector specified in the check.
   628  
   629  * `created` - UNIX time at which this check was created.
   630  
   631  * `last_modified` - UNIX time at which this check was last modified.
   632  
   633  * `last_modified_by` - User ID in Circonus who modified this check last.
   634  
   635  * `reverse_connect_urls` - Only relevant to Circonus support.
   636  
   637  * `uuids` - List of Check `uuid`s created by this `circonus_check`.  There is
   638    one element in this list per collector specified in the check.
   639  
   640  ## Import Example
   641  
   642  `circonus_check` supports importing resources.  Supposing the following
   643  Terraform (and that the referenced [`circonus_metric`](metric.html) has already
   644  been imported):
   645  
   646  ```hcl
   647  provider "circonus" {
   648    alias = "b8fec159-f9e5-4fe6-ad2c-dc1ec6751586"
   649  }
   650  
   651  resource "circonus_metric" "used" {
   652    name = "_usage`0`_used"
   653    type = "numeric"
   654  }
   655  
   656  resource "circonus_check" "usage" {
   657    collector {
   658      id = "/broker/1"
   659    }
   660  
   661    json {
   662      url = "https://api.circonus.com/account/current"
   663  
   664      http_headers = {
   665        "Accept"                = "application/json"
   666        "X-Circonus-App-Name"   = "TerraformCheck"
   667        "X-Circonus-Auth-Token" = "${var.api_token}"
   668      }
   669    }
   670  
   671    metric {
   672      name = "${circonus_metric.used.name}"
   673      type = "${circonus_metric.used.type}"
   674    }
   675  }
   676  ```
   677  
   678  It is possible to import a `circonus_check` resource with the following command:
   679  
   680  ```
   681  $ terraform import circonus_check.usage ID
   682  ```
   683  
   684  Where `ID` is the `_cid` or Circonus ID of the Check Bundle
   685  (e.g. `/check_bundle/12345`) and `circonus_check.usage` is the name of the
   686  resource whose state will be populated as a result of the command.