Schedule icon
Request icon
Switch icon
Log icon
SlackIncomingWebhook icon

Netdata Node Health and System Alarm Sentinel

Monitor Netdata node health, audit active system alarms, detect critical resource saturation, and dispatch automated Slack incident alerts with Kestra.

Categories
Infrastructure

Continuously monitors Netdata real-time host metrics agents, audits active critical and warning alarms for CPU, memory, and disk saturation, and dispatches actionable Slack incident alerts upon node resource degradation.

How it works

  1. A recurrent Schedule trigger initiates the sentinel audit workflow hourly (disabled initially for on-demand configuration).
  2. The probe_node_info task issues an HTTP request to /api/v1/info on the target Netdata agent to confirm agent reachability, operating system version, and system uptime.
  3. The probe_active_alarms task calls /api/v1/alarms?active to inspect real-time alarms covering CPU throttling, memory exhaustion, disk fill rates, and network interface drops.
  4. The evaluate_node_alarms task uses Pebble conditionals inside a Switch task to classify health into COMPLIANT, ALARMS_ACTIVE, AGENT_UNREACHABLE, or ALARMS_API_ERROR.
  5. If active alarms are detected, contextual incident notifications are sent via io.kestra.plugin.slack.notifications.SlackIncomingWebhook to notify infrastructure teams, and an execution audit record is preserved in Kestra's execution history.

What you get

  • Automated operational surveillance across Kubernetes worker nodes and standalone Linux instances.
  • Rapid detection of runaway processes causing CPU starvation or memory pressure.
  • Early warning against disk fill rate exhaustion before application volumes enter read-only mode.
  • Contextual Slack alerts directing on-call engineers to the affected hostname and metrics endpoint.
  • Revision-controlled, searchable execution history providing an immutable operational audit log.

Who it's for

  • Platform Engineers and SREs maintaining fleet-wide Linux infrastructure and Kubernetes clusters.
  • DevOps Teams operating automated deployment pipelines requiring node health verification.
  • System Administrators governing server resource saturation and hardware metrics.

Why orchestrate this with Kestra

  • Declarative Host Governance: Define node monitoring cadences, target hostnames, and notification channels in revision-controlled YAML blueprints.
  • Native Secret Isolation: Inject Slack incoming webhook credentials securely using Kestra namespace secrets via {{ secret(...) }} without plaintext exposure.
  • Multi-Branch Flow Routing: Isolate complete agent connectivity drops from active resource alarms using built-in Switch tasks.
  • Auditable Execution Telemetry: Maintain complete execution logs and HTTP diagnostic status codes across every audit run.

Prerequisites

  • A running Netdata monitoring agent (accessible over HTTP) with the REST API enabled (default port 19999).
  • Network reachability from the Kestra worker or runner environment to the Netdata HTTP endpoint.
  • A Slack Incoming Webhook URL configured with permission to post into your target operations channel.

Secrets

  • SLACK_WEBHOOK_URL: Slack Incoming Webhook URL used for routing operational alerts and incidents.

Quick start

  1. Configure the SLACK_WEBHOOK_URL secret in your Kestra namespace settings.
  2. Import this blueprint into your Kestra instance (e.g., under namespace company.infrastructure).
  3. Click Execute with default parameters or supply your custom netdata_url and target_hostname.
  4. Verify that execution logs display successful HTTP 200 response codes under the Executions tab.
  5. Activate the scheduled_sentinel_audit trigger to establish recurrent automated node health monitoring.

How to extend

  • Multi-Node Sweep: Wrap the node info and alarm probes inside a ForEach task to evaluate an entire cluster fleet in a single workflow.
  • Automated Cordon and Drain: Extend the ALARMS_ACTIVE branch with a Kubernetes API task to cordon the saturated node and evict non-critical workloads.
  • PagerDuty Escalation: Route ALARMS_ACTIVE events directly to on-call schedules in PagerDuty or Opsgenie.
  • Deployment Health Gate: Chain this flow as a pre-flight deployment gate in CI/CD pipelines to prevent scheduling workloads onto saturated hosts.

Links

See How

New to Kestra?

Use blueprints to kickstart your first workflows.