Argus

GPL-3.0
Platform
Docker Web
Licence
GPL-3.0 Open source
Argus

Argus is an incident aggregation platform for monitoring systems, developed by the Norwegian research network operator Uninett (now part of Sikt). It does not replace your monitoring tools — it sits beside them and gives operators one place to see, acknowledge and close the incidents those tools raise.

Glue services feed Argus over a REST API (version 2 is the current stable interface), so alerts from syslog, Zabbix, Icinga, Prometheus or in-house scripts all arrive as incidents carrying a source, a type, a severity level and free-form tags. The built-in web frontend lists incidents through saved filters — state (open, acknowledged, closed), source, type and level — and lets several operators work the same queue without stepping on each other.

Notification profiles instead of a raw alert stream

The feature that separates Argus from a plain alert inbox is the notification profile. Each user describes the incidents they care about, the timeslots in which they want to hear about them and the destination the message should reach. Built-in destinations are e-mail, SMS through an e-mail gateway and Slack; additional notification and ticket plugins can be installed with the all-plugins server image. Quiet hours, vacation handoffs and “only page me about production between 08:00 and 17:00” therefore live in each operator’s own profile instead of in the monitoring tool’s configuration.

Deployment and requirements

Argus is a Python/Django application that needs PostgreSQL 14 or newer and Python 3.10 or newer. It installs from PyPI as argus-server, from source with pip install -c constraints.txt -r requirements.txt, or through the supplied docker compose setup, which starts the database alongside it. A production-oriented Dockerfile that also bundles every ticket and notification plugin lives in the repository’s docker/ directory. The first run is python manage.py initial_setup, which creates an admin account with a generated password, after which the server starts with runserver or from the container. A public demo instance runs at argus-demo.uninett.no with notification sending and automatic ticket creation disabled and fake incidents generated and closed daily.

Where it fits

Argus complements detection tools such as Zabbix, Icinga, Prometheus and Netdata, which raise problems but leave people to watch their own dashboards. If what you are missing is a public status page rather than an operator queue, Cachet or Uptime Kuma are the closer fit. A Python client library, pyargus, is published for writing glue services against the API.

Explore More Categories

Sign In

Register

Reset Password

Please enter your username or email address, you will receive a link to create a new password via email.