Documentation
Overview
ConfluOps embeds live AWS CloudWatch data directly in your Confluence pages via two widgets:
- CloudWatch Dashboard: embeds an entire CloudWatch dashboard as an interactive widget, with metric charts, alarm grids, and text.
- CloudWatch Alarm Indicator: displays a single alarm as a compact, color-coded status badge.
Place either widget anywhere on a page (in tables, dashboards, or inline with text) to give your team instant AWS visibility without leaving Confluence.
Prerequisites
- A Confluence Cloud instance with ConfluOps installed from the Atlassian Marketplace
- Confluence administrator access (to add AWS accounts)
- An AWS account with at least one CloudWatch alarm or dashboard
- Permission to create an IAM role in that AWS account (or supply access keys)
Setup
1. Open the setup wizard
-
In Confluence, open Administration (, top right). In the left-hand menu, expand Apps and click ConfluOps. Click Add account to open the setup wizard.
-
Enter an account alias (e.g. Production or Staging), your AWS account ID, and the primary region where your CloudWatch resources live. Select an authentication method and click Next.
2. Grant AWS access
IAM Role (recommended)
ConfluOps connects using an IAM role, with no long-lived credentials needed. The wizard provides a CloudFormation link and a Terraform snippet, both with your site’s External ID already embedded. Use whichever suits your workflow.
-
Copy the CloudFormation link or the Terraform snippet from the wizard.
-
CloudFormation: open the AWS Console, paste the link, and complete the stack creation. Wait until the stack reaches
CREATE_COMPLETE. Go to the stack’s Outputs tab and copy theRoleArnvalue.
Terraform: paste the snippet into your configuration, runterraform apply, and copy therole_arnoutput. -
Back in the wizard, click I’ve deployed this role and paste the role ARN.
IAM User (not recommended)
IAM User credentials are long-lived and stored persistently; use this only if role assumption is unavailable in your environment. Enter your Access Key ID and Secret Access Key when prompted.
3. Test and save
-
Click Next, then Test connection.
-
Once the connection is confirmed, click Done.
CloudWatch Dashboard widget
The CloudWatch Dashboard widget embeds an entire CloudWatch dashboard in a Confluence page. All widget types are rendered (metric charts, alarm status grids, and Markdown text) using your dashboard’s existing layout.
Adding the widget
-
On any Confluence page, open the macro browser (
/or Insert → Other macros) and search for CloudWatch Dashboard. -
Select the AWS account you configured in the setup step, then select the region where your dashboard lives.
-
A searchable list of dashboards in that account and region will appear. Click a dashboard to select it.
-
Set your display options (see below) and click Insert Widget.
Configuration options
| Option | Description |
|---|---|
| Display label | A title shown above the dashboard. Defaults to the dashboard name. Can be changed to any text or hidden entirely. |
| Default time range | The time window for metric charts when the page loads. One of: Last 1 hour, Last 3 hours, Last 12 hours, Last 1 day, Last 3 days, Last 1 week. Viewers can adjust the range interactively. |
| Layout | Auto reproduces the CloudWatch dashboard layout exactly. Override to 1, 2, or 3 columns to reflow widgets into a fixed-column grid, which works better in narrow Confluence page widths. |
| Auto-refresh | How often the dashboard re-fetches data while a viewer has the page open. Options: Off, or one of several configurable intervals. |
Supported widget types
ConfluOps renders all standard CloudWatch dashboard widget types:
| Widget type | How it renders |
|---|---|
| Line / area chart | Interactive time-series chart with synced hover and zoom across all charts within the dashboard. |
| Bar chart | Side-by-side or stacked bar chart with Y-axis abbreviation (K, M). |
| Pie chart | Pie chart with legend, using the last data point in the selected time range. |
| Single value | Large counter with an optional sparkline showing the trend. |
| Gauge | Arc gauge with configurable threshold colour zones. |
| Table | Tabular view of metric values with summary statistics. |
| Alarm status | Grid of color-coded alarm badges (OK, ALARM, or INSUFFICIENT DATA). |
| Text | Rendered Markdown including headings, bold, code, lists, tables, and blockquotes. |
CloudWatch Alarm Indicator widget
The Alarm Indicator displays a single CloudWatch alarm as a compact, color-coded status badge. It is ideal for health tables and status pages where you want a quick at-a-glance view of individual alarms across multiple environments.
Adding the widget
-
On any Confluence page, open the macro browser (
/or Insert → Other macros) and search for CloudWatch Alarm Indicator. -
Select the AWS account you configured in the setup step.
-
A searchable list of alarms from that account will appear. Use the search box to filter by name, then click an alarm to select it.
Display options
After selecting an alarm you can customise how the badge appears:
| Option | Description |
|---|---|
| Display label | Text shown alongside the badge. Defaults to the alarm name; change it to something human-readable like API Error Rate. |
| Label position | Where the label appears relative to the badge: right, left, above, below, inside (replaces the state text), or hidden. |
| Alignment | How the badge is aligned within the macro block: left, center, or right. |
| Auto-refresh | How often the badge refreshes while a viewer has the page open. See Auto-refresh below. |
A live preview updates as you change options so you can see exactly how the badge will look before inserting it.
Alarm states
Each badge reflects the current CloudWatch alarm state:
| State | Badge | Meaning |
|---|---|---|
OK |
OK | The alarm threshold has not been breached. |
ALARM |
ALARM | The alarm threshold has been breached. |
INSUFFICIENT_DATA |
INSUFFICIENT DATA | Not enough data is available to evaluate the alarm. |
Auto-refresh
By default, widgets fetch data when the page loads and do not update again until the page is reloaded. You can enable automatic background refresh:
| Widget | Available intervals | Typical use case |
|---|---|---|
| Alarm Indicator | Off, 1 min, 5 min, 15 min | Incident dashboards, general health pages |
| CloudWatch Dashboard | Off, 5 min, 15 min, 30 min | Ops overviews, metric monitoring pages |
Multiple AWS accounts
ConfluOps supports multiple AWS accounts simultaneously. Each account is configured separately in the admin panel with its own IAM role and External ID. When adding a widget, you choose which account to query, so a single Confluence page can display data from Production, Staging, and any other configured account side by side.
Troubleshooting
Dashboard or badge shows “Account not found”
The AWS account configured for this widget has been deleted from the admin panel. Edit the macro and select a valid account, or re-add the account in the admin panel.
Badge shows “Error fetching alarm”
Possible causes:
- The IAM role ARN or External ID is incorrect; verify them in the admin panel against your CloudFormation stack outputs.
- The alarm name no longer exists in CloudWatch (it may have been renamed or deleted).
-
The IAM role does not have
cloudwatch:DescribeAlarmspermission; re-deploy the CloudFormation stack using the latest template.
Dashboard shows “Error loading dashboard”
-
Verify the IAM role has
cloudwatch:GetDashboardandcloudwatch:GetMetricDatapermissions. Re-deploy the CloudFormation stack using the latest template to pick up any new permissions. - Confirm the dashboard still exists in the selected region in the AWS Console.
No alarms or dashboards appear in the picker
- Confirm the correct AWS region is selected for the account in the admin panel.
- Verify that alarms or dashboards exist in that region in the AWS Console.
- Check that the IAM role was successfully created (no errors during account setup).
The alarm or dashboard list is slow to load
ConfluOps fetches lists live from CloudWatch. If you have a large number of resources, use the search box to filter by name rather than scrolling through the full list.
Support
For help, questions, or bug reports, please contact: