-
Notifications
You must be signed in to change notification settings - Fork 0
Home
Nico MT edited this page May 5, 2026
·
1 revision
Welcome to the goshawk wiki!
Goshawk is a fast and lightweight server monitoring tool written in Go. It supports both active and passive monitoring, offering flexible alerting capabilities. Main features include:
-
Passive Monitoring (Heartbeats): Exposes an HTTP endpoint that returns "check ok" on every GET request.
- Clients can send a passphrase via a
keyquery parameter (?key=your_secret) to authenticate and register as active. - If an authenticated host stops checking in within a configured timeframe, Goshawk flags it as offline and triggers a notification.
- Clients can send a passphrase via a
-
Active Monitoring: Parses a YAML configuration file to define scheduled checks against local or remote services. Supported check types:
-
tcp: Attempts a TCP connection to an address/port with a configurable timeout. -
web_request: Sends HTTP requests with customizable method, body, and timeout, validating against an expected status code. -
bash_script: Executes an arbitrary bash script and validates the output using a regular expression.
-
-
Robust Alerting: Triggers customizable HTTP POST notifications (e.g., Webhooks, Slack, Telegram) when a service or host state changes.
- Features configurable retry logic (
max_failsbefore alerting) and notification rate-limiting. - Notification payloads can be customized using Go templates for titles and bodies.
- Features configurable retry logic (
- Security: The configuration file can be securely validated against a SHA256 checksum provided via a command-line argument.