Build RPM's for Multi-Arch with Kinesis Export


I need some netdata RPM’s to distribute to machines our network. I need these to have kinesis exporter support. So I can capture the export the netdata data into the data stream.

So I have had to resort to compiling netdata from source. All of my machines run RHEL 9/Centos Stream 9.
So after reading the documentation here: How to build native (DEB/RPM) packages locally for testing | Learn Netdata it appears I will need alma 9 linux.

I have also read about building for kinesis and tried to do it all manually following the instructions. I was able to compile a binary… on a machine that had the AWS SDK, But I was not able to get the RPM’s to run on other machines. Export metrics to AWS Kinesis Data Streams | Learn Netdata

I will need to create RPM Install packages for both aarch64 and x86_64. So I am considering building these in docker. But I presume I am going to need to also have the AWS SDK installed on the container for the binary to have the kinesis support. My plan is to build a couple of dockerfiles to build both sets of .RPM binaries for each architecture and hope to distribute these to the machines.

OR does the AWS SDK need to be installed on each machine. If this is the case this is going to make the task a lot more difficult as some of network edges are small machines running arm processors with only 2Gb of memory.

Could I please get some advise?

Just an update. I managed to build two pipelines one for aarch64 and one for x86_64 using the alma 9 linux. I ran them in docker and had to do some jiggery pokery but managed to compile it with Kinesis support.

The RPMs don’t include some of the .so files that I need. So will need to extract them and install them manually with ansible. Ideally I would like to have the RPMs packed properly but probably a level above my RHEL skillset.

@Daryl_Blake thanks for the post and update - sorry for no response sooner.

I do believe that sometimes package maintainers disable or even remove certain parts of the agent for various reasons and typically it is out of our control but can depend case by case.

If you have any scripts or anything that could be useful for other users i’d be happy to add them somewhere in here GitHub - netdata/community: Netdata-powered applications and examples. For the community, by the community. (or feel free to make a PR).

Just mentioning in case is something that you might be easily able to share in case any other users run into similar issues.

Also - do you need any help/advice from us or were you able to get sorted - i’m happy to try ping the right people internally if needed.