New
Join our webinar! Building a customizable and extensible cloud asset inventory at scale
CloudQuery News

Introducing the new StatusPage source plugin

Bartosz Leśniewski

Bartosz Leśniewski

What is StatusPage? #

StatusPage is a service from Atlassian that allows businesses to communicate to their customers about the status of their services. It provides a platform to create a status page where businesses can post updates about incidents, scheduled maintenance, and the overall status of their services. This helps in maintaining transparency with customers and reduces support tickets during incidents.

Why StatusPage + CloudQuery? #

The StatusPage source plugin allows you to perform advanced data filtering and grouping without relying on restrictive UI filters. It also makes it easier to access parts of data that would not be possible to reach through UI.
The CloudQuery StatusPage source plugin supports fetching the following resources:

Use cases #

Let's take a look at a few examples that show how you can use the StatusPage source plugin to analyze and uncover overdue problems, prioritize the most pressing ones, and get insights into what is most important for your users.

Long running incidents #

Lets check for any unresolved issues that have been ongoing for more than 7 days.
select id as incident_id,
 page_id,
 created_at,
 updated_at
from statuspage_page_incidents
where status in ('investigating', 'identified')
and resolved_at is null
and created_at <= now() - interval '7 days';

Most subscribed active incidents #

Maybe you want to check which active StatusPage incidents are most subscribed by users?
select
    incidents.id as incident_id,
    incidents.page_id,
    incidents.created_at,
    incidents.updated_at,
    count(subscribers._cq_parent_id) as subscriber_count
from statuspage_page_incidents as incidents
left join statuspage_page_incident_subscribers as subscribers
    on incidents._cq_id = subscribers._cq_parent_id
where incidents.status in ('investigating', 'identified')
and incidents.resolved_at is null
group by incidents.id
order by subscriber_count desc;

All users with access to certain page #

With the StatusPage plugin from CloudQuery, it's possible to get all users that have access to a page with a certain id.
select
  users.*,
  elem->>'page_id' as page_id
from
  statuspage_users as users
join
  statuspage_user_permissions as sup on users.id = sup.user_id,
  unnest(sup.pages::jsonb[]) as elem
where
  elem->>'page_id' = 'your_page_id';

Functioning of which pages is most important to the users? #

Let's order pages by their subscriber count.
select
  pages.id as page_id,
  count(subscribers._cq_parent_id) as subscriber_count
from
  statuspage_pages as pages
left join
  statuspage_page_subscribers as subscribers
on
  pages._cq_id = subscribers._cq_parent_id
group by
  pages.id
order by
  subscriber_count desc;

Getting Started #

To get started syncing StatusPage data, see the StatusPage source plugin documentation for instructions.

Ready to get started with CloudQuery? You can try out CloudQuery locally with our quick start guide or explore the CloudQuery Platform (currently in beta) for a more scalable solution.
Got feedback or suggestions? Join the CloudQuery community to connect with other users and experts, or message our team directly here if you have any questions.
Bartosz Leśniewski

Written by Bartosz Leśniewski

Bartosz is a Senior Software Engineer at CloudQuery specializing in Golang code development with over five years of experience in various roles.

Turn cloud chaos into clarity

Find out how CloudQuery can help you get clarity from a chaotic cloud environment with a personalized conversation and demo.

Join our mailing list

Subscribe to our newsletter to make sure you don't miss any updates.

Legal

© 2024 CloudQuery, Inc. All rights reserved.

We use tracking cookies to understand how you use the product and help us improve it. Please accept cookies to help us improve. You can always opt out later via the link in the footer.