Network / service alert client for Android and Linux https://sourceflow.dev/apps/open-alert-viewer/
Find a file
2025-11-28 18:05:28 -05:00
.flutter@adc9010625 Upgrade Flutter submodule to version 3.35.7 2025-10-25 18:15:21 -04:00
.github A better approach for testing tagged release builds 2025-10-26 19:31:29 -04:00
.vscode Adding launch.json for VSCodium 2024-05-14 14:05:41 -04:00
android Use any user-installed CA certificates on Android 2025-03-26 17:52:49 -04:00
assets Icons sized to meet Flathub quality guidelines 2025-01-27 23:29:46 -05:00
ios Change app identifiers, links with new URLs 2024-09-24 21:28:33 -04:00
lib Prom inhibited alerts: from 'pending' to 'silenced' 2025-10-26 14:54:12 -04:00
linux Version 1.3.4 2025-10-26 19:22:13 -04:00
macos Check if device is offline, and report that 2025-04-01 16:20:23 -04:00
metadata/en-US Version 1.3.4 2025-10-26 19:22:13 -04:00
web Initial commit for open_alert_viewer 2024-05-12 13:04:13 -04:00
windows Update references to owner of app (me) 2025-05-08 19:17:02 -04:00
.gitignore Don't check in the .cxx/ directory 2025-03-14 14:21:57 -04:00
.gitmodules Now it's possible to update Flutter with: 2025-01-25 15:23:53 -05:00
.metadata Initial commit for open_alert_viewer 2024-05-12 13:04:13 -04:00
.woodpecker.yaml Fix dependency for Ubuntu 22.04 .deb file 2025-10-26 19:21:35 -04:00
analysis_options.yaml Initial commit for open_alert_viewer 2024-05-12 13:04:13 -04:00
devtools_options.yaml File created by dev tools 2024-05-28 12:06:42 -04:00
flutter_launcher_icons.yaml Update this config file in case it's used again 2024-09-07 21:34:32 -04:00
FUNDING.yml Add new funding URL 2025-05-08 17:45:01 -04:00
lic_ck.yaml Adding instructions to check licenses of deps 2025-03-13 20:32:59 -04:00
LICENSE.md Automatic markdown reformatting for readme file 2025-08-11 20:23:17 -04:00
PRIVACY.md Update privacy policy to match website 2025-10-25 19:56:14 -04:00
pubspec.lock Upgraded dependencies 2025-10-25 16:35:59 -04:00
pubspec.yaml Version 1.3.4 2025-10-26 19:22:13 -04:00
README.md Note for running app on ancient hardware 2025-11-28 18:05:28 -05:00

Open Alert Viewer

Chat on Matrix

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

1 2 3 4

Install

Get it on F-Droid Get it on Flathub Get *.tar.gz and *.deb

Back end compatibility

Compatible third-party alert services

Authentication

  • Basic Authentication
  • Zabbix: default authentication only

Target platforms

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:

  1. In files imported by the Prometheus rule_files directive, ensure that warning alerts have the label severity: set to warning, and the rest are set to page, critical or error (the default) for critical service and down host checks.

  2. For down host checks, you should also make sure that alerts are labeled with the custom label: oav_type: ping or icmp.

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.