Skip to content

Latest commit

 

History

3 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Zabbix CMDB

Read this in other languages: pt-br

Zabbix CMDB is a modern, lightweight, and intuitive Configuration Management Database module for the Zabbix Web Interface. It provides a comprehensive overview of your IT assets, extracting real-time hardware and software specifications directly from Zabbix items without requiring external databases.

Developed by George Filho.


🎯 Main Features

  • Centralized Asset Overview: Displays critical information such as CPU count, CPU usage, Total Memory, Memory usage, Operating System, and Architecture for all monitored hosts in a single, unified view.
  • Dynamic Search & Filtering: Filter assets instantly by Hostname, IP Address, Interface Type (Agent, SNMP, IPMI, JMX), and Host Group.
  • CSV Export: Easily export your filtered inventory to a UTF-8 CSV file, perfect for audits, capacity planning, and management reports in Excel.
  • Minimalist & Clean UI: Built with a premium, corporate-focused minimalist design. Features color-coded status texts and streamlined data presentation without visual clutter.
  • Global Statistics: Instantly view aggregated capacity metrics (Total CPU Cores, Total Memory, Active Hosts) across your filtered environment at the top of the page.
  • Native Zabbix Integration: Securely implemented using native Zabbix API and UI classes (CHtmlPage, CController, CDiv), fully compliant with Zabbix 7.0+ Content Security Policy (CSP).
  • Smart Data Collection: Utilizes a prioritized fallback search system (ItemFinder.php) to dynamically discover metrics across different OS templates without hardcoding item keys.

📋 Prerequisites

Before installing and using this module, ensure that:

  1. You are running Zabbix Frontend 7.0 LTS or higher.
  2. The web server user (e.g., www-data or apache) has read permissions for the module directory.

🚀 Installation

Installing modules in the Zabbix frontend is simple and fast.

  1. Download or clone this repository: Download the module files to your server.

  2. Copy to the Zabbix modules directory: Move the module folder to the modules directory of your Zabbix web interface. CRITICAL: The folder name must be exactly ZabbixCmdb or Module CMDB as specified in your setup.

    The default path is usually:

    /usr/share/zabbix/ui/modules/ZabbixCmdb
    # or
    /usr/share/zabbix/modules/ZabbixCmdb
  3. Register the Module in the Frontend:

    • Log into the Zabbix web interface as a Super Admin.
    • Navigate to AdministrationGeneralModules.
    • Click the "Scan directory" button in the top right corner.
    • The "CMDB" module should appear in the list.
    • Click Enable to activate it.

💻 How to Use

After activation, a new menu will be available to facilitate your daily operations.

  1. Navigate to SuporTI in the main menu.
  2. Select CMDB to view your entire server inventory.
  3. Use the top filters to search for specific assets, filter by Host Groups, or filter by interface types (e.g., only SNMP devices).
  4. Click on the column headers to sort the inventory ascending or descending.
  5. Click the "Export CSV" button to download the currently filtered list to your computer for external analysis.

🛠️ Technical Details & Development References

This module is built strictly following the official Zabbix Module Development Guidelines for version 7.0+:

  • MVC Architecture:
    • Controllers: Located in actions/. Handles data preparation, CSV exporting, and pagination via Cmdb.php.
    • Models/Libraries: Located in lib/. ItemFinder.php efficiently queries the Zabbix Item and History APIs to extract metrics.
    • Views: Located in views/. Renders the UI structure using Zabbix's internal UI classes.
  • UI Components: Utilizes Zabbix 7.0 native CHtmlPage and CTable components, ensuring compatibility with future Zabbix updates.
  • Performance: Optimized API batch querying to minimize database load.

📂 Directory Structure

ZabbixCmdb/
├── manifest.json                  # Module configuration and asset registration
├── Module.php                     # Core module class and menu registration
├── README.md                      # English documentation
├── README_pt_br.md                # Portuguese documentation
├── actions/
│   └── Cmdb.php                   # Host List & CSV Export controller
├── assets/
│   └── css/
│       └── module.css             # Main UI styles (Premium Design)
├── lib/
│   ├── ItemFinder.php             # Smart Zabbix API data collector
│   └── LanguageManager.php        # i18n Translation Manager
└── views/
    └── cmdb.php                   # Host List UI structure

🖼️ Screenshots

This section demonstrates the visual capabilities of the module.

1. Main CMDB Host List

Host List

The primary interface showing the comprehensive list of servers with hardware metrics, IP addresses, minimalistic real-time availability texts, and the CSV Export action.


📄 License & Credits

Copyright © 2006-2026 by George Filho.

All rights reserved.

About

Zabbix CMDB is a modern, lightweight, and intuitive Configuration Management Database module for the Zabbix Web Interface. It provides a comprehensive overview of your IT assets, extracting real-time hardware and software specifications directly from Zabbix items without requiring external databases.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages