[#4996] - Data adapter for Zabbix API

Category:
Feature request
Priority:
Normal
Status:
New
Project: Severity:
Minor
Resolution:
Open
Component: Reproducibility:
Always
Assigned to:
6

How about supporting Zabbix API by a dedicated data adapter?

Zabbix is an enterprise-class open source distributed monitoring solution.
http://www.zabbix.com/

The Zabbix API uses the JSON-RPC 2.0 protocol and is therefore hopefully easy to implement.
https://www.zabbix.com/documentation/2.4/manual/api

Using the Database JDBC Connection data adapter is possible. But the API correlates and resolves a lot of things programmatically, that are either not that easy or not at all doable with pure SQL.

Zabbix generally owns tons of valuable data. There are many people (way more than the following ticket indicates) which call for good reports:
https://support.zabbix.com/browse/ZBXNEXT-248

However, even when not that familiar (yet) with JasperReports and its competitors, I believe reports should be delegated to a proper report engine than doing it by the application itself.

I think having a native data adapter available would fill the gap of good reports in Zabbix and could make JasperReports as _the_ solution for high value reports in Zabbix.

Edit:
Might be worth to mention that there also already exists a Zabbix API library for Java:
http://zabbix.org/wiki/Docs/api/libraries#Java

Edit:
This blog post might also be of interest as it shows how to use the Zabbix API by the example of Perl:
http://blog.zabbix.com/getting-started-with-zabbix-api/1381/

Data Adapters
g6055305's picture
Joined: Jun 28 2015 - 1:19pm
Last seen: 2 years 10 months ago

3 Comments:

#1

Hi, I'm currently playing with Zabbix -> Jasperreports using the API.
The combination using pure Zabbix API is currently possible. This excludes the use of images since the API cannot export them.
Using the webservice data source plugin for Jasperreports ( http://community.jaspersoft.com/project/web-service-data-source ) you can connect to Zabbix.
In my case I was trying to put as much as possible into the Jasper report. so I created a report that has no element other then a subreport. The main report's dataset simply logs in the the api to get a session. that session it then send along to the subreport to allow it to be used in the datasource of the subreport. In that subreport, you will likely need more subreports or datasources for tables etc. So it does get a bit complex fast.
If this is still something you are interested in. Feel free to contact me.

#2

I use scriptlets to authenticate to the Zabbix API:
https://community.jaspersoft.com/wiki/creating-and-managing-custom-repor...

#3
  • Reproducibility:Not Attempted» Always

I am new to JasperStudio / Report Server and a little lost on how to use the Zabbix API with your tools, I have gotten the JDBC connection to the mysql working and that is fine for the simple list. I wanted to use the API for some more complex reports.

I have the data connector to the API and the user.login method returns there token I need for any additional queries.

How do I get that token to the next query?

Feedback
randomness