Zabb is a Flutter-based client for Zabbix monitoring system, enabling users to monitor and manage Zabbix resources from mobile devices, desktop, and web browsers.
- 🔐 Authentication - Secure login with Zabbix server using saved credentials and auto-login
- 📊 Problems Dashboard - Real-time monitoring of Zabbix problems with auto-refresh
- 🔍 Advanced Filtering - Filter problems by severity level and hostname with persistent filters
- 🔔 Smart Notifications - Per-severity audio notifications with custom sound selection
- 📱 Mobile-Optimized UI - Ultra-compact, responsive design optimized for mobile devices
- ⚡ Real-time Updates - Auto-refresh every 30 seconds with countdown timer
- 🎵 Audio Alerts - Support for custom audio files and built-in notification sounds
- 🏷️ Problem Management - View detailed problem information, acknowledge and close problems
- 🖥️ Host Mapping - Proper hostname display instead of numeric IDs
- 📈 Status Indicators - Item counts, refresh timers, and visual status feedback
- 💾 Persistent Settings - User preferences and sorting maintained across sessions
- ⚙️ Configuration Screen - Comprehensive settings with ignore filters and notification setup
- 🚨 Problem Popup Alerts - Immediate popup notifications when new problems are detected
- 🗑️ Close All Popups - Dismiss all stacked problem popups at once to quickly return to the dashboard
- ✅ Recovery State Handling - Visual indicators for recovered problems with optional filtering and notifications
- Download APK from GitHub Releases
- F-Droid: Submission in progress
- Requires Android 5.0+
- Enable "Unknown Sources" for GitHub APK installation
- Download DEB Package (8.3MB)
- For Debian/Ubuntu 64-bit systems
- Install:
sudo dpkg -i zabb_0.3.0-1_amd64.deb
- Access Zabb directly in your browser (no installation required)
- Full compatibility with Chrome, Firefox, Safari, and Edge
- All core features available except background monitoring
- Build yourself:
flutter build web --release
- View All Releases on GitHub
- Login Screen - With server configuration and auto-login capability
- Problems Table - Sortable columns with severity indicators, duration, and host information
- Problem Details - Comprehensive problem information with action buttons
- Filtering System - Interactive severity and hostname filtering with ignore options
- Flutter SDK 3.2.0 or higher
- Dart 3.5.4 or higher
- A running Zabbix server with API access
-
Ensure you have Flutter installed: https://docs.flutter.dev/get-started/install
-
Clone this repository:
git clone https://github.com/VitexSoftware/Zabb.git cd Zabb -
Install dependencies:
flutter pub get
-
Run the application:
flutter run
- Launch the app and tap "Configure Server"
- Enter your Zabbix server details:
- Server URL (e.g.,
https://your-zabbix-server.com) - Username and Password
- Server URL (e.g.,
- Save configuration and login
lib/
├── main.dart # Application entry point and login screen
├── api/
│ └── zabbix_api.dart # Zabbix API integration
├── screens/
│ ├── problems_screen.dart # Main problems dashboard
│ ├── welcome_screen.dart # Welcome and setup screen
│ └── configure_server_screen.dart # Server configuration
└── services/
└── auth_service.dart # Authentication and data management
- flutter: Mobile app framework
- http: API communication with Zabbix server
- intl: Date/time formatting
- shared_preferences: Local storage for configuration and user preferences
- flutter_svg: SVG asset support
- audioplayers: Audio notification system for alerts
- file_picker: Custom audio file selection from device storage
flutter build apk --releaseflutter build linux --releaseflutter build web --releaseThe web build will be output to build/web/. You can serve it with any static web server:
# Example using Python's built-in server
cd build/web
python3 -m http.server 8000Then visit http://localhost:8000 in your browser.
Zabb works on multiple platforms with varying feature sets:
✅ Zabbix authentication and login ✅ Real-time problem monitoring ✅ Problem filtering and sorting ✅ Problem acknowledgment and closure ✅ Trigger disable functionality ✅ Bundled audio alerts ✅ Configuration persistence
📱 Background monitoring (when app is closed) 📱 System notifications 📱 Custom sound file uploads 📱 Battery optimization management
- Supports Zabbix API 6.0+
- Uses JSON-RPC 2.0 protocol
- Bearer token authentication
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- NEW: Close All Popups - Added "Close All (N)" button to problem popup dialogs to dismiss all stacked notifications at once
- Prevents the main problems dashboard from becoming unreachable due to accumulated popup dialogs
- Button only appears when 2 or more popups are stacked
- Added widget tests for close-all popup behavior
- NEW: Web Platform Support - Full web browser compatibility
- NEW: Trigger Disable - Disable triggers directly from problem details
- NEW: Zabbix Web Links - Open problems and triggers in Zabbix web interface
- Cross-platform compatibility (Mobile, Desktop, Web)
- Platform-specific feature detection and graceful degradation
- Bundled audio alerts work on all platforms
- Conditional service initialization for web vs mobile
- NEW: Recovery State Handling - Detect and display recovered/resolved problems
- Visual indicators for recovered problems with strikethrough text and green checkmark icon
- Optional filter to hide recovered problems from the list (enabled by default)
- Recovery notifications showing when problems are resolved
- Enhanced API to fetch recovery event IDs and timestamps
- NEW: Problem Popup Alerts - Immediate popup notifications when new problems are detected for the first time
- NEW: Persistent Sorting - Sort preferences maintained across problem view refreshes
- NEW: Notification System - Per-severity audio notifications with custom sound support
- NEW: Configuration Screen - Comprehensive settings with ignore filters and logout
- NEW: Advanced Filtering - Acknowledged problems filter and severity ignore switches
- Mobile layout optimization with ultra-compact design
- Enhanced search functionality with proper focus management
- Navigation flow improvements and UI cleanup
- File picker integration for custom notification sounds
- SharedPreferences integration for all user settings
- Bell icon moved to configuration for cleaner main interface
- Initial release
- Zabbix authentication with auto-login
- Problems dashboard with real-time updates
- Advanced filtering by severity and hostname
- Problem details and management (acknowledge/close)
- Mobile-optimized responsive design
- Auto-refresh with countdown timer
Zabb - Making Zabbix monitoring mobile and accessible.


