A full screen alert viewer intended for NOC/monitoring screens. See history.md for a wider view.
The driving mindset for Tuwat (in German "tu was", meaning "do something")
is to show actionable items. This is a slight departure of Nagdash, which
shows only Nagios Hosts/Services.
Connectors for
- Prometheus Alertmanager
- GitLab MRs
- GitHub PRs
- Graylog Events
- Icinga 2
- Nagios API
- Patchman
- Past due Redmine tickets
- Static example showing alert types
- wiz.io Issues
See the Example Config for configuration.
Available styles:
dark(default)light- mimics the venerable nagdash
The main configuration can contain Rules, but if multiple rule-sets/dashboards
are needed, dashboards can be added to a folder.
The -dashboards flag can be used to specify the folder, by default it looks at
/etc/tuwat.d.
The files have to end with .toml, the basename will be used as dashboard name.
For further examples and more information on dashboards, see the dashboard documentation.
The rule-system works via an exclude list, matching rules simply exclude items.
For example:
[[rule]]
description = "blocked because not needed"
what = "fooo service"For more information, see the rule documentation.
go build -o tuwat ./cmd/tuwat
export TUWAT_TEMPLATEDIR= TUWAT_STATICDIR=
./tuwat -conf config.example.tomlSetting TUWAT_TEMPLATEDIR and TUWAT_STATICDIR to empty will automatically
use the development directories (pkg/web/templates and pkg/web/static
respectively). Not declaring the template/static directory means that the
versions bundled into the binary are used.
- See
pkg/connectors/examplefor a very basic example on how a connector is implemented.
Updating the main.js used by the HTML code:
- Update JavaScript dependencies in
package.json/package-lock.json - Edit code in
pkg/web/static/js/index.js
npm run build # to generate the bundled files
npm run watch # to watch for changes and re-generate while developingMake sure to add the changed/generated files, so not everyone has to use
node.js.