Skip to content
Documentation/celestia-tools/terraform-modules/datadog/monitors/README.mdView on celestia-tools
celestia-tools/terraform-modules/datadog/monitors/README.md

Celestia Datadog Monitors

Celestia Datadog Monitors

Purpose

This module is designed for the easy creation of Datadog Monitors to monitor and visualize the performance and statistics of Celestia DA Nodes. It is tailored to generate the following Datadog Monitors:

  • Bridge Node Runtime Counter Stuck
  • Bridge Node Low Header Synchronization Rate

Usage example

module "datadog-monitors-celestia-bridge" {
  source = "./celestia-services/terraform-modules/datadog/monitors"

  service = "bridge"
  environment = "mainnet"
}

Requirements

Name Version
terraform >= 0.12.31
datadog >= 3.1.2

Providers

Name Version
datadog >= 3.1.2

Inputs

Name Description Type Default Required
environment Deployment environment of the Celestia Network being monitored. Common values include 'mainnet', 'testnet', or custom environment names. Default is set to 'testnet'. string "mainnet" no
service Type of service within the Celestia Network that is being monitored. For instance, 'bridge' represents a node that connects the data availability layer and the consensus layer. string "bridge" no
evaluation_delay The delay, in seconds, before evaluating the metric to account for data ingestion latency. Helps ensure data completeness for accurate monitoring. number 300 no
notify_no_data Enables alerts for 'no data' events, indicating possible issues with data reporting or collection from the DA Node. bool true no
no_data_timeframe Duration, in minutes, to wait before alerting on a 'no data' condition, signaling potential interruptions in data flow or metric collection. number 15 no
notification_preset_name Configures the detail level in monitor notifications. Options: 'show_all', 'hide_query', 'hide_handles', 'hide_all'. Tailors notifications to include essential information. string "hide_handles" no
renotify_interval Interval, in minutes, between re-notifications for unresolved issues, ensuring timely follow-ups on critical DA Node performance metrics. number 30 no
renotify_occurrences Specifies the maximum number of re-notification messages for unresolved alerts, controlling alert frequency on ongoing issues. number 2 no
renotify_statuses Defines the alert statuses (e.g., 'alert', 'warn', 'no data') that trigger re-notifications, allowing for targeted follow-ups on specific conditions. list(string) ["alert", "warn", "no data"] no
notification_targets A map specifying notification targets for different alert thresholds. It allows defining custom notification channels for 'critical' and 'warning' alerts, ensuring appropriate alert routing. Each channel should be specified with a unique identifier, prefixed with '@'. Format: {'critical': ['@channel1', '@user'], 'warning': ['@channel2']}. map(list(string)) {} no
tags A list of tags to be associated with the Datadog monitors. Tags are key-value pairs that help in categorizing and filtering monitors across different environments, teams, or service types, enhancing manageability and visibility. list(string) [] no
runtime_counter_is_stuck_enabled Enables monitoring for the bridge node runtime counter, a critical metric for assessing network participation efficiency. string "true" no
runtime_counter_is_stuck_message Customizable notification message for the Runtime Counter Stuck monitor, allowing for tailored alerts specific to bridge node operations. string "" no
runtime_counter_is_stuck_escalation_message A message to include with a re-notification for the Runtime Counter Stuck monitor escalation. string "" no
runtime_counter_is_stuck_aggregator Aggregation method for evaluating runtime counter over the specified timeframe, crucial for identifying performance trends. Valid options are 'min', 'max', 'avg'. string "avg" no
runtime_counter_is_stuck_timeframe Time window for assessing runtime counter. Valid options are 'last_1m', 'last_5m', 'last_10m', 'last_15m', 'last_30m', 'last_1h', 'last_2h', 'last_4h', 'last_1d'. string "last_5m" no
runtime_counter_is_stuck_threshold_critical Critical alert threshold for runtime counter (in seconds), beyond which the bridge's performance is considered severely impacted. number 0 no
runtime_counter_is_stuck_threshold_critical_recovery Critical alert recovery threshold for the runtime counter, indicating bridge node returning to normal operations. number 1 no
low_header_sync_rate_enabled Activates the monitor for observing low header synchronization rate. string "true" no
low_header_sync_rate_message Allows for a tailored alert message regarding low header synchronization rate. string "" no
low_header_sync_rate_escalation_message A custom message to include with a re-notification for the Low Header Synchronization Rate monitor escalation. string "" no
low_header_sync_rate_aggregator Specifies the aggregation method (e.g., 'avg') for evaluating header synchronization rate, critical for understanding participation effectiveness. string "avg" no
low_header_sync_rate_timeframe Sets the timeframe for monitoring header synchronization rate, crucial for timely detection of decreased network engagement. string "last_5m" no
low_header_sync_rate_threshold_critical Critical alert threshold for header synchronization rate, below which indicates significant issues with bridge node health. number 0 no
low_header_sync_rate_threshold_critical_recovery Critical alert recovery threshold for header synchronization rate, indicating bridge node returning to normal operations. number 0.1 no

Outputs

Name Description
monitor_ids A map of Bridge Node monitor names to their respective Datadog monitor IDs

Resource Documentation