Status Indicators
This document provides an overview of the health statuses and status indicators used in Monad to monitor the health and state of pipelines. These indicators are essential for understanding the current behavior of the pipeline and identifying any issues that may need attention.
Health Statuses
The health status provides a high-level overview of the pipeline's condition:
- Healthy: The pipeline is functioning as expected, and data is being processed without issues.
- Unhealthy: The pipeline is experiencing issues, and one or more components have errored.
Status Indicators
The status indicators give a more detailed look into the current operational state of the pipeline at various nodes. These indicators help you understand whether the pipeline is actively processing data or if there are issues that need to be addressed.
- Initializing
- The pipeline node is starting up but hasn't begun processing data yet. This is a transitional state and should resolve to
Runningonce resource are done initializing.
- Running
- The pipeline node is actively running and processing data. This is the desired state when the pipeline is operating normally.
- Disabled
- The pipeline node or pipeline is disabled. It will not process any data until re-enabled.
- Erroring
- Errors have occurred while processing data. Check the node logs for specific details on the error and other indicators to resolve the issue.
- Input Errors: Occur when trying to establish a connection or retrieve data from the input. This could include issues like incorrect credentials, misconfigurations, or network problems when setting up the connection, or throttling by external services.
- Transformation Errors: Happen during the data transformation stage. For example, if the transformation applies the wrong modification to a key (e.g., converting instead of masking a key), or if there is a mismatch in the expected data format (e.g.,flattening missing arrays).
- Output Errors: Occur when trying to send data to the output. These could be caused by mismatches between the data being sent and the expected format or schema of the destination.
- Throttled
- The pipeline is experiencing backpressure due to high data volume and is temporarily not accepting new data until it can catch up.
- Pull-based inputs: The pipeline saves its current state and pauses data ingestion. It will automatically resume processing once the backlog is cleared.
- Push-based inputs (HTTP, OTEL, Splunk, etc.): The pipeline returns a
429 Too Many Requestserror and will not accept data until capacity is available.
- Unknown
- The current status of the pipeline cannot be determined. This occurs if the system is unable to retrieve the health status for this node. If a status remains unknown for more than 5 minutes, please contact support@monad.com
Sync Types
Monad input components use different synchronization methods to retrieve and process data. Understanding these sync types is important for proper expectations of pipeline behavior:
- Incremental
- Components with incremental sync maintain state and continue data processing from where they left off in the previous run.
- Incremental syncs use techniques like timestamps, watermarks, or other tracking mechanisms to identify and process only new or changed data.
- Characteristics: More efficient resource usage, reduced data transfer, and faster processing times.
- These are commonly used in components handling continuous data streams or large datasets.
- Full Synchronisation
- Components with full synchronisation ingest ALL of the data each time they run.
- These syncs completely refresh the destination data, replacing previous data with a fresh copy.
- Full synchronisation is usually controlled via a cron job or scheduled trigger to limit resource usage.
- Characteristics: Ensures complete data consistency but requires more resources per run.
- This approach is typically used when the source system doesn't support bookmarking features or other state-tracking mechanisms.
The sync type is an inherent property of each component and cannot be changed by the end user. Each component's documentation specifies which sync type it uses. Understanding a component's sync type helps to set appropriate expectations for data processing behavior and resource usage.
Summary
- Healthy/Unhealthy: Provide a quick overview of the pipeline's overall condition.
- Status Indicators: (
Initializing,Running,Disabled,Erroring,Throttled,Unknown) give detailed insight into the operational state of the pipeline. - Sync Types: (
Incremental,Full Synchronisation) define how components retrieve and process data over time.
Monitoring the health status, status indicators, and understanding the sync types will provide a clear understanding of the pipeline's performance and any necessary actions.