Skip to main content

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 -v "$(pwd):/config:ro" 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.

Metadata

Release files for deadmon 1.4.3

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for deadmon 1.4.3
File Size Uploaded Provenance Actions
deadmon-1.4.3.tar.gz 141.6 kB Without provenance Details for deadmon-1.4.3.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for deadmon 1.4.3
File Interpreter ABI Platform Actions
deadmon-1.4.3-py3-none-any.whl Python 3 none any Details for deadmon-1.4.3-py3-none-any.whl

Total release size: 175.3 kB

Release files / deadmon-1.4.3.tar.gz

Download URL deadmon-1.4.3.tar.gz
Size 141.6 kB
Tags Source
SHA-256 checksum
How to use checksums
d38e1cf687d595fd25e8673a536d8d368a9941934bd0551c465656cc11107d5a
BLAKE2b-256 checksum
How to use checksums
caf1d880254301b3afedf34076e5b5fc1a313b7c39a02211aa5cbf54e2784db8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.12.24 {"installer":{"name":"uv","version":"0.12.24","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}

Release files / deadmon-1.4.3-py3-none-any.whl

Download URL deadmon-1.4.3-py3-none-any.whl
Size 33.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
32f53b6f3925510593571ec6436acc96a0f2b0106941ea408c6f19f1ce89c5ef
BLAKE2b-256 checksum
How to use checksums
635bac1689040da2be1099b7edc6b60ece2f8b23b06327466774cfe7b036fd10
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.12.24 {"installer":{"name":"uv","version":"0.12.24","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}

Security for deadmon 1.4.3

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page