-
Notifications
You must be signed in to change notification settings - Fork 68
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
cmd/ockafka doesn't allow to subscribe to specific keys #23
Comments
Can you elaborate on what doesn't work? We haven't dropped the older protobuf support in OpenConfig or TerminAttr yet hence we haven't updated all the tools yet. |
Apologies for being unclear, and also saying
was misleading. With the current ockafka code in your master branch, Arista switch (vEOS 4.20.1F) establishes connection with the kafka producer, but doesn't send messages back to it at all.
On the switch (192.168.12.1) I issue commands to transmit packets from Et1 or shut down the interface,
but the switch sends no telemetry messages from port 6030 to the kafka producer, hence no kafka messages from producer to brokers. With my revision, the switch throws telemetry messages from port 6030 to the producer, which in turn sends kafka messages to brokers.
WRT your comment:
But you guys not only deprecated occli in favor of gnmi a year ago, but have also updated other commands such as ocprometheus, ocredis, and ocsplunk just recently. Why not updating ockafka as well? |
I think the issue is not between ockafka and Kafka, but between ockafka and OpenConfig. It looks like you're hitting a bug that affects the server for the old protobuf, the workaround should be to pop up one level and subscribe to all keys (i.e., not specify a key). Can you try that?
We're planning to, just didn't get to it yet. Thank you for your contribution for it, I left you 2 comments on the PR. |
Yes I meant to say the issue was between ockafka and OpenConfig, and your observation is correct. I tried the following and it worked.
As for your two comments... I saw you had already commited a77bf0c, fb622b9, and ff33da2, with these changes they have all dropped the ability to connect multiple servers. So in my view, having a working gNMI collector for kafka, which is free from the aforementioned protobuf bug, is one valid step, and regaining multiple server connection capability for all telemetry destination adapters by making changes to gnmi client code should be the next step. I'd appreciate your opinion. |
Hi @tamihiro, thank you for doing the migration. Our recommendation is usually to run these tools directly on the switch so we're probably ok losing the |
@7AC thanks so much for the review! It doesn't matter at all that my PR is not directly accepted, I appreciate you working on it internally. |
I run octsdb on a linux server to get streaming data from the switch running TerminAttr so that I can pass it back directly to InfluxDB via their opentsdb input plugin. Since fb622b9#diff-0a86d997d2c66282031326a80d166c4e I can't run 1 single octsdb instance against multiple switches. Example: |
Hi @Gelob, have you considered running the tool on the device itself? That's usually what we recommend. If you really want multiple addresses feel free to open a separate issue, I will use this one to track migrating ockafka to gNMI. |
@Gelob please open another issue, so we can track demand for that, and then we can consider bringing that feature back. |
@tamihiro sorry for the delay. The fastest route is definitely you taking addressing the comments on the review and getting CI to pass, then we can merge internally. Second fastest route is if you reach out to your SE and ask for alternatives. We will make the switch to gNMI but I can't guarantee it will be prioritized until we remove support for the old protobuf. |
Thank you for the update, I left you another comment. I renamed the issue because "doesn't work as is" is too broad IMHO, it just doesn't work in the case where you want to retrieve a specific key as opposed to the entire collection. |
Is your another comment this?
I'm afraid I don't understand.. could you please elaborate? I now understand the change in the title of the issue, thanks. |
Sorry I didn't realize I didn't submit the comment, done now it was this one I was referring to:
The interface purposely has proto.Message as opposed to any specific implementation of it (e.g., gnmi) so it doesn't depend on the transport. I'd like to keep it that way.
I agree there's an issue, just not as broad as "the tool doesn't work". There's a specific feature that's broken and there is a workaround (#23 (comment)), I'm afraid other users could read "doesn't work as is" and think it doesn't start or doesn't get any data. |
@7AC I'm a little puzzled with your last comment, and admittedly I'm not even rermotely an expert on any of these protocols... pls check my response, and if you could tell me what I'm missing I'd appreciate it. |
I tried it out, but kafka producer didn't publish a message. Without looking deep into the cause of the glitch, I thought I'd better use newish gnmi code like those for other storage (ocredis, ocsplunk, etc.). So I did, and it looks working. Please review my PR.
The text was updated successfully, but these errors were encountered: