Nautobot SSoT Zabbix¶
An SSoT app for Nautobot that synchronizes device data between Nautobot and Zabbix monitoring.
Overview¶
This app extends the Nautobot SSoT framework to provide bidirectional synchronization between Nautobot devices and Zabbix monitored hosts. It uses the DiffSync library to detect and reconcile differences between the two systems.
What Gets Synced¶
For each Nautobot device with an active or staged status and a primary IP, the app syncs:
- Host name and visible name
- Primary IP address for monitoring
- Host group (derived from device location, tenant, or configurable mappings)
- Monitoring template (derived from device role or a configurable default)
- Enabled/disabled status
- Description (populated with Nautobot device metadata)
- Zabbix tags preserving Nautobot context (source, location, role, device type, tenant, platform)
Sync Directions¶
- Nautobot to Zabbix (
ZabbixDataTarget) — Creates, updates, and deletes Zabbix hosts to match Nautobot device inventory. This is the primary sync direction. - Zabbix to Nautobot (
ZabbixDataSource) — Audits Zabbix hosts tagged withsource=nautobotback against Nautobot to detect out-of-band drift.
Only Zabbix hosts tagged with source=nautobot are managed by this app, so manually created Zabbix hosts are never modified or deleted.
Requirements¶
- Nautobot >= 3.0.0
- nautobot-ssot >= 4.0.0
- Python >= 3.10, < 3.13
Documentation¶
Full documentation for this App can be found over on the Nautobot Docs website:
- User Guide - Overview, Using the App, Getting Started.
- Administrator Guide - How to Install, Configure, Upgrade, or Uninstall the App.
- Developer Guide - Extending the App, Code Reference, Contribution Guide.
- Release Notes / Changelog.
Contributing to the Documentation¶
You can find all the Markdown source for the App documentation under the docs folder in this repository. For simple edits, a Markdown capable editor is sufficient: clone the repository and edit away.
If you need to view the fully-generated documentation site, you can build it with MkDocs. A container hosting the documentation can be started using the invoke commands (details in the Development Environment Guide) on http://localhost:8001. As your changes are saved, they will be automatically rebuilt and any pages currently being viewed will be reloaded in your browser.
Questions¶
For any questions or comments, please check the FAQ first. Feel free to also swing by the Network to Code Slack (channel #nautobot), sign up here if you don't have an account.