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.2.tar.gz (125.4 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.2-py3-none-any.whl (26.7 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: deadmon-1.2.2.tar.gz
  • Upload date:
  • Size: 125.4 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.2.tar.gz
Algorithm Hash digest
SHA256 83e25f508531c6f51cd8ef6e6c8734baeb1c9fdee5aecf4e2f8cad318c37a0e3
MD5 79186f975232232b248e6354793dacba
BLAKE2b-256 e491b44e3dc4efc2d1deefda7a341e23c84b854ad3980c3287bfec80fb9f8a61

See more details on using hashes here.

File details

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

File metadata

  • Download URL: deadmon-1.2.2-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.2-py3-none-any.whl
Algorithm Hash digest
SHA256 4d6cbf41ba6e940827b1d0126d11fbf5f12160452f36f64e04da1aa51e858253
MD5 95a1451997005a82efb8b2258f0b390a
BLAKE2b-256 756a9eaab4439545f2736d27a40017d6beae6f8a7e19edfdb25a84c172f01979

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