PacketBeat: unable to compile tcp example


(Rami Shaft) #1

Hi,
I'm trying to write my own packetbeat, so I'm generating a tcp protocol base on "create_tcp_protocol.py".
And when I'm trying to compile the new packetbeat I get the next error:
protos/mybeat/pub.go:15: undefined: publish.Transactions
It seaams like there is some code missing.
Can someone help me.


(Steffen Siering) #2

Which branch are you using? The beats publisher pipeline in the master and 6.0 branch has been updated. Some minor tasks (like updating the packetbeat code generator) are still on the todo/cleanup list. Switching to the most recent stable release branch (5.5 or upcoming 5.6) should resolve the issue.

The difference is with packetbeat modules publishing an event of type beat.Event. For example see pub.go in the cassandra protocol plugin (which was originally implemented using the tcp protocol generator).

The change is quite minor. Developing a module for 5.x and updating it later for use with 6.x/master does not take much effort. replace the event with beat.Event type and instead of adding @timestamp to the event, set the Timestamp field in the event of type beat.Event. Plus replace publisher.Transactions with protos.Reporter.

The changes to the cassandra protocol plugin in this PR pretty much summarise the required changes. See cassandra.go for plugin initialization and pub.go for event publishing changes.

Sorry for any inconveniences. I will fix the code generator tomorrow.


(Steffen Siering) #3

See PR #4956.


(system) #4

This topic was automatically closed after 21 days. New replies are no longer allowed.