| .flutter@adc9010625 | ||
| .github | ||
| .vscode | ||
| android | ||
| assets | ||
| ios | ||
| lib | ||
| linux | ||
| macos | ||
| metadata/en-US | ||
| web | ||
| windows | ||
| .gitignore | ||
| .gitmodules | ||
| .metadata | ||
| .woodpecker.yaml | ||
| analysis_options.yaml | ||
| devtools_options.yaml | ||
| flutter_launcher_icons.yaml | ||
| FUNDING.yml | ||
| lic_ck.yaml | ||
| LICENSE.md | ||
| PRIVACY.md | ||
| pubspec.lock | ||
| pubspec.yaml | ||
| README.md | ||
Open Alert Viewer
Display server and network alerts from servers running Prometheus, Nagios, Icinga or Zabbix. For Linux and Android.
Prometheus v0.16.0+, Nagios Core 4.x and Icinga 2.12.0+ are supported with Basic Authentication; partial support, and default authentication for Zabbix 6.x and 7.x.
Screenshots
![]() |
![]() |
![]() |
![]() |
Install
Back end compatibility
Compatible third-party alert services
- Prometheus Alertmanager v0.16.0 or later (configuration)
- Nagios Core 4.x
- Icinga 2.12.0 or later
- Zabbix 6.x and 7.x (partial support)
Authentication
- Basic Authentication
- Zabbix: default authentication only
Target platforms
- Android 12.1+
- Linux (
x86_64,aarch64) - (More planned)
Build instructions
Dependencies
- Flutter
- OpenJDK 17 (or similar, for Android)
- Gstreamer and headers (for Linux)
Pre-build
cd open_alert_viewer
flutter pub get
dart run build_runner build
lic_ck check-licenses --config lic_ck.yaml
Android
cd open_alert_viewer
flutter build apk --debug
adb install build/app/outputs/flutter-apk/app-debug.apk
- or -
cd open_alert_viewer
vim android/key.properties
flutter build apk
adb install build/app/outputs/flutter-apk/app-release.apk
Where android/key.properties is something like:
storePassword=my_first_password
keyPassword=my_second_password
keyAlias=key0
storeFile=/home/andrew/.android-keystore/upload-keystore.jks
Linux
sudo apt install curl git unzip xz-utils zip libglu1-mesa imagemagick \
clang cmake git ninja-build pkg-config libgtk-3-dev liblzma-dev libstdc++-12-dev \
libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev libunwind-dev
cd open_alert_viewer
flutter build linux
./build/linux/x64/release/bundle/open_alert_viewer
You can move or copy the bundle directory anywhere on your file system, but
internal structure should remain the same. If you want to put the binary in
your path, make a symlink.
If you want to build a simple .deb file, check your version of libgtk-3-0...
and run the following script with something like:
./linux/oav-custom/compile x64 "libgtk-3-0t64 (>= 3.24.41)"
Back end configuration
Prometheus Alertmanager
When setting up your account in the app, enter the base address of your
Alertmanager service, not Prometheus. Alertmanager may be listening on port
9093, but it needs to be wrapped in HTTPS, so it might be on another port, or
under a separate base URL.
Prometheus doesn't seem to have a strict standard for categorization of alert types, so this app depends on a couple configurations on your server:
-
In files imported by the Prometheus
rule_filesdirective, ensure that warning alerts have the labelseverity:set towarning, and the rest are set topage,criticalorerror(the default) for critical service and down host checks. -
For down host checks, you should also make sure that alerts are labeled with the custom label:
oav_type:pingoricmp.
This app parses any labels set by Prometheus in a case-sensitive way.
Workarounds for old hardware
On old hardware with ancient GPUs, the app can still be run by setting
LIBGL_ALWAYS_SOFTWARE=1 as an environment variable for the app in Flatseal,
or as part of an alias for lauching it via the command line.
Debugging
To view debug alerts, create an account with the base URL set to demo.
Support
License
License: MIT
Other dependencies use a variety of permissive licenses. See the licensing tab in the app for a list of them.
This app, its source code, and documentation may nominatively reference the names or logos of third party software, which are trademarked by their respective owners. This app, its source code, documentation, and its owners are not endorsed by, nor affiliated with, owners of third party software.





