# CL 104 Input Plugin

This plugin listens for metrics sent via WS in any of the supported
[data formats][data_formats].

⭐ Telegraf v1.9.0
🏷️ server
💻 all

[data_formats]: /docs/DATA_FORMATS_INPUT.md

## Service Input <!-- @/docs/includes/service_input.md -->

This plugin is a service input. Normal plugins gather metrics determined by the
interval setting. Service plugins start a service to listens and waits for
metrics or events to occur. Service plugins have two key differences from
normal plugins:

1. The global or plugin specific `interval` setting may not apply
2. The CLI options of `--test`, `--test-wait`, and `--once` may not produce
   output for this plugin

## Global configuration options <!-- @/docs/includes/plugin_config.md -->

In addition to the plugin-specific configuration settings, plugins support
additional global and plugin configuration settings. These settings are used to
modify metrics, tags, and field or create aliases and configure ordering, etc.
See the [CONFIGURATION.md][CONFIGURATION.md] for more details.

[CONFIGURATION.md]: ../../../docs/CONFIGURATION.md#plugins

## Configuration

```toml @sample.conf
# Generic HTTP write listener
[[inputs.cl_104]]
  ## Address to host HTTP listener on
  ## can be prefixed by protocol tcp, or unix if not provided defaults to tcp
  ## if unix network type provided it should be followed by absolute path for unix socket
  service_address = "tcp://:8080"
  ## service_address = "tcp://:8443"

  ## URL to connect to server
  cl_url="ws://127.0.0.1:8899/api/104"
  ## path for access
  api_path="/api/104"

  ## maximum duration before timing out read of the request
  # read_timeout = "10s"
  ## maximum duration before timing out write of the response
  # write_timeout = "10s"
  ## pong wait
  # pong_wait="60s"
  ## ping period
  # ping_period="54s"
  ## write_wait
  # write_wait="10s"

  ## Set one or more allowed client CA certificate file names to
  ## enable mutually authenticated TLS connections
  # tls_allowed_cacerts = ["/etc/telegraf/clientca.pem"]

  ## Add service certificate and key
  # tls_cert = "/etc/telegraf/cert.pem"
  # tls_key = "/etc/telegraf/key.pem"

  ## Minimal TLS version accepted by the server
  # tls_min_version = "TLS12"

  ## Optional username and password to accept for HTTP basic authentication.
  ## You probably want to make sure you have TLS configured above for this.
  # basic_username = "foobar"
  # basic_password = "barfoo"

  ## Data format to consume.
  ## Each data format has its own unique set of configuration options, read
  ## more about them here:
  ## https://github.com/influxdata/telegraf/blob/master/docs/DATA_FORMATS_INPUT.md
  data_format = "cl_104"
```

## Metrics

Metrics are collected from the part of the request specified by the
`data_source` param and are parsed depending on the value of `data_format`.

## Example Output

## Troubleshooting
