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.
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
83e25f508531c6f51cd8ef6e6c8734baeb1c9fdee5aecf4e2f8cad318c37a0e3
|
|
| MD5 |
79186f975232232b248e6354793dacba
|
|
| BLAKE2b-256 |
e491b44e3dc4efc2d1deefda7a341e23c84b854ad3980c3287bfec80fb9f8a61
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4d6cbf41ba6e940827b1d0126d11fbf5f12160452f36f64e04da1aa51e858253
|
|
| MD5 |
95a1451997005a82efb8b2258f0b390a
|
|
| BLAKE2b-256 |
756a9eaab4439545f2736d27a40017d6beae6f8a7e19edfdb25a84c172f01979
|