deadmon
Web-native reachability monitor for direct ICMP, SSH relay, SNMP ping, Linux netns/VRF, RouterOS REST API ping, and TCP reachability checks.
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)
| 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)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| 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.