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.