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.toml
Setting 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/example
for 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 developing
Make sure to add the changed/generated files, so not everyone has to use
node.js
.