influxdata / influxdata/telegraf

Websocket Input plugin

Open
#12,914 1 comment 0 reactions 0 assignees View on GitHub
feature request plugin/input
Dominant language
Go
Stars
17.8k
Forks
5.8k
Avg merge
1d 20h
Merged PRs (30d)
161

Description

### Use Case

The current socket_listener input plugin is only able to receive data from the other end; as websocket supports bi-directional communication; there is a use case wherein the client (telegraf) requests for data from other end based on a query and receives the data; this should support a polling mechanism

### Expected behavior

Accepts a configuration like below for websocket input plugin along with a polling interval

ws://IP/query

polling interval = [sec/millisecond]

data_format = json

### Actual behavior

Based on the query passed, the endpoint will send the data in json format that can be later pushed to the output plugin

### Additional info

_No response_

Contributor guide

Open the contributing guide

Research direction

Start by reviewing the existing socket_listener input plugin and how input plugins configure endpoints, polling, and data formats. Trace the expected websocket query flow and identify how received JSON would enter Telegraf's metric pipeline. Done means a websocket input plugin can poll at the configured interval, receive JSON responses, and pass them to an output plugin.

Written by the indexing model from the issue text.

Assessment

Tech stack
go
Domain
networking
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
28/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.