Zabb is a Flutter-based Android client for the Zabbix monitoring system, enabling users to monitor and manage Zabbix resources from their mobile device.
- π 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
- 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 --release- 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.
- Dropped Linux desktop and Web platform support - Zabb is now Android-only. This removes the
linux/,web/, anddebian-package/build targets and simplifies the codebase by removing platform-conditional (kIsWeb) branches throughout. If you were using the Linux or Web build, the last available release remains on GitHub, but it will not receive further updates.
- FIX: Recovery sound no longer stops music - Recovery (problem resolved) notification sounds now use non-interrupting audio focus, so music playing elsewhere on the device ducks briefly instead of being stopped. Problem-alert sounds are unchanged.
- FIX: Android app label - Corrected the launcher/app-drawer name from lowercase "zabb" to "Zabb"
- 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.



