Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

AMQP support #332

Open
tsipo opened this issue Oct 15, 2021 · 7 comments
Open

AMQP support #332

tsipo opened this issue Oct 15, 2021 · 7 comments
Labels
area/datacollector Issues related to Stirling (datacollector) kind/feature New feature or request triage/accepted Indicates an issue or PR is ready to be actively worked on.

Comments

@tsipo
Copy link

tsipo commented Oct 15, 2021

Is your feature request related to a problem? Please describe.
Reading Pixie's supported protocols I see there two message brokers / event streaming platforms: NATS and Apache Kafka. I miss the protocols supported by RabbitMQ, a popular battle-proof message broker in use by many organizations for more than a decade now.

Describe the solution you'd like
RabbitMQ supports the following messaging protocols: AMQP 0.9.1, AMQP 1.0, MQTT 3.1.1, STOMP 1.0-1.2, Stream.
AMQP 0.9.1 is AFAIK the most popular protocol, Stream was only added recently (3.9). AMQP 0.9.1 and AMQP 1.0 are different protocols BTW (not different versions of the same protocol).
From RabbitMQ documentation:

All protocols supported by RabbitMQ are TCP-based and assume long-lived connections

I'd love to see support in Pixie for at least AMQP 0.9.1. Thank you!

Describe alternatives you've considered
N/A

Additional context
N/A

@mak3r
Copy link

mak3r commented Oct 19, 2021

mqtt would also be a very useful protocol to support. it is very common at the edge and k8s is finding it's home in many far edge devices these days.

@obowersa
Copy link

obowersa commented Oct 22, 2021

Just getting some thoughts/info down on this which others might find useful.

Outside of AMPQ 0.9.1 support, looking at AMPQ1.0 in the future could be handy as well. It's implementation is less prevailant, but it would give coverage for Azure Service Bus, Azure's Event Hubs as well as the standard qpid/Activemq/etc support.

On MQTT, would be super useful but figuring out which version(s) of the protocol to support might be key. Generally speaking I'd probably look at 3.1->5.0 support. Most of the implementations (mosquitto,mqtt-c,etc) only support from 3.1 and above. Although 3.1.1 -> 5.0 would likely cover everything ( I can't remember if there were major protocol changes between 3.1 and 3.1.1, but 3.1.1 has been the defacto since about 2014.

Links to the two standards for 3.1.1 and 5.0
http://docs.oasis-open.org/mqtt/mqtt/v3.1.1/os/mqtt-v3.1.1-os.pdf
https://docs.oasis-open.org/mqtt/mqtt/v5.0/os/mqtt-v5.0-os.pdf

@oazizi000
Copy link
Contributor

@mak3r Can you please open a separate ticket for MQTT? Just to make the feature requests easier to track. :)

@oazizi000
Copy link
Contributor

Also, any volunteers for implementing the protocol parsers? We'd love to get any contributions (and we'd help)!

@obowersa
Copy link

@oazizi000 I'll shift this to the MQTT one, but I was talking about internally earlier today. I wouldn't be able to look into it until the new year, but if it hasn't been picked up by then I'd be interested in taking a crack.

@mak3r
Copy link

mak3r commented Oct 25, 2021

@mak3r Can you please open a separate ticket for MQTT? Just to make the feature requests easier to track. :)

An MQTT specific feature request is here #341

@vikranth22446
Copy link
Contributor

Hi @tsipo, I'm working on adding AMQP support. I have an initial UI with the protocol parsed. What kind of fields/metrics/
graphs would you be interested in?

Attached an Image of the AMQP 0.9 showing up the pixie dashboard:
inprogress_amqp_ui_showing_on_dashboard

@zasgar zasgar added the needs-triage Indicates an issue or PR lacks a `triage/foo` label and requires one. label Jul 7, 2022
@htroisi htroisi added kind/feature New feature or request triage/accepted Indicates an issue or PR is ready to be actively worked on. area/datacollector Issues related to Stirling (datacollector) and removed needs-triage Indicates an issue or PR lacks a `triage/foo` label and requires one. labels Aug 31, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/datacollector Issues related to Stirling (datacollector) kind/feature New feature or request triage/accepted Indicates an issue or PR is ready to be actively worked on.
Projects
None yet
Development

No branches or pull requests

7 participants