-
Notifications
You must be signed in to change notification settings - Fork 4.9k
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
[Metricbeat] Driver Library requirements for ODBC package in golang. #29929
Comments
Pinging @elastic/integrations (Team:Integrations) |
Pinging @elastic/security-external-integrations (Team:Security-External Integrations) |
ping @jsoriano @andrewkroh @sayden I'm wondering if we can work out a convenient solution to this problem. Otherwise, we won't be able to integrate with products requiring dynamic libraries. |
This reminds me the issues we had at #8870. |
I'm wondering if we can somehow extend the SQL module with IBM DB support. |
Yes, the situation seems to be quite similar. I have tried to build metricbeat with the
I think that to avoid this problem we would need to fork the library, and change how it is initialized. It is BSD-3, so in principle we could do it, but it'd be a bit inconvenient to need to maintain it long term. But this could be something to evaluate. With the proper environment variables, then the SQL module seems to work. With a config like the following one I get connectivity errors (expected because I don't have db2 running locally :D):
So to include it in metricbeat I think we should, at least, do:
Other ideas explored in the document shared by Christos could apply also here. It could be specially interesting to try again the plugin approach, this is something that could be nice for any other tricky connector, but we would have to think on how to distribute plugins, what opens its own cans of worms. A possibly more future-proof approach is to try to do it in a separate binary that is started by Elastic Agent. Then it could be implemented using any library that is convenient to integrate with DB2. An integration would be added that uses this binary. I wouldn't know how to start with this, but possibly a good starting point is to check how to add an spec (as these ones) and what is needed for elastic-agent to discover these binaries on run time. Pinging also @kvch and @blakerouse in case they have other ideas. |
In order to create a dependency on a shared object that is not distributed with Beats (it's an optional dependency) we need to use If Beats is linked against the shared object (i.e. it shows up when you do The journald input in Filebeat (uses libsystemd) and the system/package dataset in Auditbeat (uses librpm) are examples of this. |
Hi! We're labeling this issue as |
very relevent in our case 👍 |
Hi! We're labeling this issue as |
Hi
We are trying to create IBM DB2 Metricbeat Module. but we are facing issues while building binary.
Here is the detailed technical analysis of go_ibm_db and odbc package.
Following are the steps and issues we are facing for go_ibm_db package:
Using go_ibm_db library with the cli driver before building metricbeat
After setting these env variables manually, we tried building the metricbeat:
Following are the steps and issues we are facing for odbc package:
Using odbc library with the cli driver before building metricbeat
After installing unixODBC manually, we tried building the metricbeat:
How should we proceed further?
I am attaching the IBM DB2 issue here. and also SQL Module issue as they have faced somewhat similar issues and were also using the same odbc library.
Related #13106
Related #13257
The text was updated successfully, but these errors were encountered: