# A ctrlX Data Layer server sent event input plugin [[inputs.ctrlx_datalayer]] ## Hostname or IP address of the ctrlX CORE Data Layer server ## example: server = "localhost" # Telegraf is running directly on the device ## server = "192.168.1.1" # Connect to ctrlX CORE remote via IP ## server = "host.example.com" # Connect to ctrlX CORE remote via hostname ## server = "10.0.2.2:8443" # Connect to ctrlX CORE Virtual from development environment server = "localhost" ## Authentication credentials username = "boschrexroth" password = "boschrexroth" ## Use TLS but skip chain & host verification # insecure_skip_verify = false ## Timeout for HTTP requests. (default: "10s") # timeout = "10s" ## Create a ctrlX Data Layer subscription. ## It is possible to define multiple subscriptions per host. Each subscription can have its own ## sampling properties and a list of nodes to subscribe to. ## All subscriptions share the same credentials. [[inputs.ctrlx_datalayer.subscription]] ## The name of the measurement. (default: "ctrlx") measurement = "memory" ## Configure the ctrlX Data Layer nodes which should be subscribed. ## address - node address in ctrlX Data Layer (mandatory) ## name - field name to use in the output (optional, default: base name of address) ## tags - extra node tags to be added to the output metric (optional) ## Note: ## Use either the inline notation or the bracketed notation, not both. ## The tags property is only supported in bracketed notation due to toml parser restrictions ## Examples: ## Inline notation nodes=[ {name="available", address="framework/metrics/system/memavailable-mb"}, {name="used", address="framework/metrics/system/memused-mb"}, ] ## Bracketed notation # [[inputs.ctrlx_datalayer.subscription.nodes]] # name ="available" # address="framework/metrics/system/memavailable-mb" # ## Define extra tags related to node to be added to the output metric (optional) # [inputs.ctrlx_datalayer.subscription.nodes.tags] # node_tag1="node_tag1" # node_tag2="node_tag2" # [[inputs.ctrlx_datalayer.subscription.nodes]] # name ="used" # address="framework/metrics/system/memused-mb" ## The switch "output_json_string" enables output of the measurement as json. ## That way it can be used in in a subsequent processor plugin, e.g. "Starlark Processor Plugin". # output_json_string = false ## Define extra tags related to subscription to be added to the output metric (optional) # [inputs.ctrlx_datalayer.subscription.tags] # subscription_tag1 = "subscription_tag1" # subscription_tag2 = "subscription_tag2" ## The interval in which messages shall be sent by the ctrlX Data Layer to this plugin. (default: 1s) ## Higher values reduce load on network by queuing samples on server side and sending as a single TCP packet. # publish_interval = "1s" ## The interval a "keepalive" message is sent if no change of data occurs. (default: 60s) ## Only used internally to detect broken network connections. # keep_alive_interval = "60s" ## The interval an "error" message is sent if an error was received from a node. (default: 10s) ## Higher values reduce load on output target and network in case of errors by limiting frequency of error messages. # error_interval = "10s" ## The interval that defines the fastest rate at which the node values should be sampled and values captured. (default: 1s) ## The sampling frequency should be adjusted to the dynamics of the signal to be sampled. ## Higher sampling frequencies increases load on ctrlX Data Layer. ## The sampling frequency can be higher, than the publish interval. Captured samples are put in a queue and sent in publish interval. ## Note: The minimum sampling interval can be overruled by a global setting in the ctrlX Data Layer configuration ('datalayer/subscriptions/settings'). # sampling_interval = "1s" ## The requested size of the node value queue. (default: 10) ## Relevant if more values are captured than can be sent. # queue_size = 10 ## The behaviour of the queue if it is full. (default: "DiscardOldest") ## Possible values: ## - "DiscardOldest" ## The oldest value gets deleted from the queue when it is full. ## - "DiscardNewest" ## The newest value gets deleted from the queue when it is full. # queue_behaviour = "DiscardOldest" ## The filter when a new value will be sampled. (default: 0.0) ## Calculation rule: If (abs(lastCapturedValue - newValue) > dead_band_value) capture(newValue). # dead_band_value = 0.0 ## The conditions on which a sample should be captured and thus will be sent as a message. (default: "StatusValue") ## Possible values: ## - "Status" ## Capture the value only, when the state of the node changes from or to error state. Value changes are ignored. ## - "StatusValue" ## Capture when the value changes or the node changes from or to error state. ## See also 'dead_band_value' for what is considered as a value change. ## - "StatusValueTimestamp": ## Capture even if the value is the same, but the timestamp of the value is newer. ## Note: This might lead to high load on the network because every sample will be sent as a message ## even if the value of the node did not change. # value_change = "StatusValue"