Debugging with IQ Ops
IQ Ops provides several debugging capabilities to help you troubleshoot runbook
An automated workflow that executes a series of steps or tasks in response to a triggered event, such as the detection of anomalous behavior generating an incident, a lifecycle event, or a manually executed runbook. execution, identify issues, and understand how your runbooks behave during development and testing. This guide explains how to use these debugging features effectively.
Overview of Debugging Features
IQ Ops offers two main debugging capabilities:
-
Debug Runbook Flow: A dialog that shows the execution flow of your runbook, including which nodes
Individual components that make up a runbook automation, each performing a specific function such as data queries, transformations, logic, integrations, or visualizations. executed, which branches were taken, and any errors encountered. -
Debug Nodes: Individual nodes can have debug enabled to emit detailed diagnostic information during execution.
Basic Debugging Workflow
Follow these steps to debug a runbook:
-
Enable debug on specific nodes: In the Runbook Editor, enable debug on the nodes you want to investigate. See What are Debug Nodes? for details on enabling debug.
-
Execute the runbook: Run the runbook either as a test run from the Runbook Editor or wait for it to execute in response to an incident
A collection of one or more related triggers. Relationships that cause triggers to be combined into incidents include application, location, operating system, or a trigger by itself. or trigger
A set of one or more indicators that have been correlated based on certain relationships, such as time, metric type, application affected, location, or network device.. -
Open Debug Runbook Flow: After execution, open the Debug Runbook Flow dialog to see the execution flow and identify which nodes executed and which did not.
-
Review node details: Click on individual nodes in the Debug Runbook Flow dialog to see:
-
Config tab: The configuration that was used for the node during execution
-
Error tab: Any errors encountered during node execution (only visible if errors occurred)
-
Inspect tab: Formatted, structured debug output
A document containing data sets generated by the execution of a runbook, including output of queries and reports from point products, as well as output of analysis or other runbook nodes. that presents information in an organized, easy-to-read format. This tab is only visible when debug is enabled for the node. The Inspect tab is the default view and provides the most user-friendly presentation of debug data. Transform and HTTP nodes provide specialized Inspect views with organized sections for input/output data, errors, and validation information. For details about these specialized views, see Debug Inspect Tab by Node Type. -
Debug tab: Raw debug output in text format. This tab is only visible when debug is enabled for the node. Use this tab when you need to see the unformatted debug data.
-
Common Debugging Scenarios
Identifying Which Branches Executed
Use the Debug Runbook Flow dialog to see which branches of your runbook were executed. Nodes that executed are highlighted, while nodes that did not execute are grayed out. This helps you understand the logic
A runbook node category that adds conditions to branch the runbook, enabling conditional execution paths based on data and context. flow and verify that decision branches are working as expected.
Troubleshooting Node Failures
When a node fails, check the Error tab in the node details dialog. The error information helps you understand why the node failed and what you need to fix in the node configuration.
Understanding Node Behavior
Enable debug on nodes to see detailed diagnostic information about how they processed data during execution. This is particularly useful for understanding:
-
How data queries filtered and returned data
-
How decision branches evaluated conditions
-
How variables were set and used
-
How transformations processed data
Verifying Node Configuration
The Config tab in the node details dialog shows the exact configuration that was used during execution, including any variable substitutions. This helps you verify that the node received the expected inputs and was configured correctly.