bb-Ricardo / netbox-sync

Sync objects from VMware or redfish sources to NetBox
MIT License
274 stars 60 forks source link

Integration of Zabbix as a Sync Source for NetBox #388

Open mcapmari opened 1 month ago

mcapmari commented 1 month ago

Any plans to add Zabbix as a new data source?

Would be nice to have a new data source: Zabbix is a widely used monitoring solution known for its robust auto-discovery capabilities. By integrating Zabbix with NetBox, users can seamlessly synchronize their discovered hosts, ensuring that NetBox's inventory is always up-to-date. Zabbix's auto-discovery feature would automatically populate NetBox with the latest information about hosts, enabling users to maintain an accurate and comprehensive inventory effortlessly.

bb-Ricardo commented 1 month ago

Hi,

unfortunately I'm not familiar with Zabbix. So this source would need a maintainer with access to a test setup and willingness to keep contributing in order to keep this source active.

bb-Ricardo commented 1 month ago

also looking at this documentation (https://www.zabbix.com/documentation/current/en/manual/api/reference/host/get) it doesn't to give much information about the host. Also the data model of the response is not well documented. I shows examples but I can't find a proper definition of the fields and their type.

mcapmari commented 1 month ago

Maybe consider using MySQL/PostgreSQL as the data source instead of an API. Zabbix uses these databases as backend, allowing for a more universal approach. By requiring just a database endpoint and a select statement to retrieve the necessary fields (such as device, IP, device type, etc.). In this way it can help a lot more people than having only specific API sources.

bb-Ricardo commented 1 month ago

Well, a specific Database schema, which is used and implemented by a certain software is considered a private API which changes without notice. NetBox already doing a bad job with not versioning their API. Having multiple sources and destination with constantly breaking changes would make this unmaintainable.

If you are up for it to implement and maintaining such a source I would happy about a Pull Request.