Skip to main content

Web-native reachability monitor based on the original deadman work.

Project description

deadmon

Web-native reachability monitor for direct ICMP, SSH relay, SNMP ping, Linux netns/VRF, RouterOS REST API ping, and TCP reachability checks.

Deadmon web dashboard

Documentation

Install

Install from PyPI:

pip install deadmon

Run using the Docker Hub image:

docker run --rm -p 8000:8000 xorrkaz/deadmon

Run locally

uv sync
just run

Open http://127.0.0.1:8000.

Common commands:

just check
just lint
just format
just dump-config
just convert-config deadmon.conf
just run 0.0.0.0 8000 deadmon.conf

Configuration

deadmon.conf is YAML by default, and JSON is also accepted. Slack and Webex alerts are configured as webhook channels:

app:
  latency_warning_ms: 100
  latency_critical_ms: 250

alerts:
  enabled: true
  threshold: 3
  clear_threshold: 2
  channels:
    - name: slack-noc
      type: slack
      enabled: true
      webhook_url_env: SLACK_WEBHOOK_URL
      channel: "#noc-alerts"
      icon_emoji: ":scream:"
    - name: webex-noc
      type: webex
      enabled: true
      webhook_url_env: WEBEX_WEBHOOK_URL

An active alert fires after threshold consecutive failures. A cleared alert fires after clear_threshold consecutive successes. Groups can override alert thresholds and channels, and individual targets can suppress inherited alert delivery with alerts: false.

Optionally protect the dashboard and API with HTTP Basic authentication. Read the password from an environment variable to keep it out of the config file:

app:
  authentication:
    username: admin
    password_env: DEADMON_AUTH_PASSWORD

A literal password is also supported for local testing. Run Deadmon behind TLS when authentication is enabled, since Basic auth sends credentials in a reversible, base64-encoded header.

See the configuration reference for probe examples and field details.

Docker

just docker-up

The compose file grants NET_RAW so ICMP works in the container and uses an IPv6-enabled bridge network so IPv6 probe targets can work from Docker. netns and VRF probes may require additional host-specific privileges and mounts.

See the deployment guide for Docker, reverse proxy, and production notes.

License

Deadmon is licensed under the MIT License, preserving the original deadman copyright notice and licensing the deadmon changes under the same terms. See LICENSE.

Attribution

Deadmon is based on the original terminal-oriented deadman. Deadman was copyright to the Interop Tokyo ShowNet NOC team, and itself was based on the original software pingman. Deadman was originally written by upa@haeena.net. Deadmon keeps that lineage visible while moving the tool to a web-native monitor and alerting workflow.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

deadmon-1.2.0.tar.gz (125.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

deadmon-1.2.0-py3-none-any.whl (26.7 kB view details)

Uploaded Python 3

File details

Details for the file deadmon-1.2.0.tar.gz.

File metadata

  • Download URL: deadmon-1.2.0.tar.gz
  • Upload date:
  • Size: 125.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.21 {"installer":{"name":"uv","version":"0.11.21","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for deadmon-1.2.0.tar.gz
Algorithm Hash digest
SHA256 52051ccfa0f1fd4d27845bbc07056ce42fff9252955e369294d3eb3323acfdca
MD5 d0d07b78690d170a8866606024a71390
BLAKE2b-256 7a26f4d3f1f1bbc0bae97d966d890c5d7aab582d86005537e5c183b327421f6a

See more details on using hashes here.

File details

Details for the file deadmon-1.2.0-py3-none-any.whl.

File metadata

  • Download URL: deadmon-1.2.0-py3-none-any.whl
  • Upload date:
  • Size: 26.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.21 {"installer":{"name":"uv","version":"0.11.21","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for deadmon-1.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 f9b8c1654e53da4a2b083d25f70223d47055c30ba14613bf7cf54d7ff55b1d58
MD5 657ef08630f3321605242979b9f8edb0
BLAKE2b-256 817d8f033f7cd332d3aa51c3c72247d811720c187d26a21b33df1e1b321dac6f

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page