CLI
Manage status pages, set their layout and post incidents from the terminal or a pipeline with nrc monitor status-pages.
The nrc monitor status-pages commands need CLI 0.23.0 or later.
The Norcube CLI (norcube, alias nrc) manages status pages under
nrc monitor status-pages. Pages are named by their id or exact slug, and
component names by their id or exact public name. Every command supports
--org <slug>, --profile <name>, -o table|json|yaml|text and --query
(see output and scripting).
There are no commands for custom domains
or logos. Those pages show how to use nrc api
instead, which works from CLI 0.22.0.
Create and publish a page
create takes every setting as a flag and fills in none of them. A boolean
takes =false to turn it off.
nrc monitor status-pages create "Acme status" \
--slug acme \
--time-zone Europe/Prague \
--uptime-days 90 \
--history-days 90 \
--show-uptime-bars \
--show-uptime-percent \
--show-response-time=false \
--search-indexing
nrc monitor status-pages layout set acme --file layout.json
nrc monitor status-pages preview-link acme # works for 15 minutes
nrc monitor status-pages publish acme # public within a minuteManage pages
nrc monitor status-pages list
nrc monitor status-pages list --monitor "Shop" # the pages that show a monitor
nrc monitor status-pages get acme
nrc monitor status-pages update acme --name "Acme Inc. status" --uptime-days 30
nrc monitor status-pages update acme --slug acme-inc
nrc monitor status-pages unpublish acme
nrc monitor status-pages delete acmeunpublish and delete ask first. Without a terminal, pass --yes.
Layout
layout get -o json prints the document layout set takes, so you can edit it
and send it back. --file - reads standard input. layout set prints the saved
layout, with the ids of new rows. See Layout for
the format.
nrc monitor status-pages layout get acme
nrc monitor status-pages layout get acme -o json > layout.json
nrc monitor status-pages layout set acme --file layout.json
nrc monitor status-pages layout get acme -o json \
| jq '.groups[0].collapsed = true' \
| nrc monitor status-pages layout set acme --file -Post incidents
nrc monitor status-pages incidents list acme --status open
nrc monitor status-pages incidents get acme <incident>
nrc monitor status-pages incidents create acme \
--title "Elevated API errors" \
--status investigating \
--impact minor \
--message "We are looking into it." \
--component "API=partial_outage"
nrc monitor status-pages incidents updates create acme <incident> \
--status monitoring \
--message "A fix is rolling out."
nrc monitor status-pages incidents updates create acme <incident> \
--status resolved \
--message "All clear."
nrc monitor status-pages incidents update acme <incident> --title "Elevated API errors in Europe"--message-file reads the text from a file (- for standard input) in place of
--message. --component is repeatable, and takes <id or name>=<status>.
--started-at takes a timestamp, a date or an age such as 20m. On a published
page, a post or an update is public within a minute, and these commands print its
public address.
In CI
Give the CI token the monitor.statuspages scope; no other scope lets it change
a page or post on it. See
Limits, scope and permissions.
Commands report problems through the standard exit codes: for example, a post on a resolved incident exits 8, and a token without the scope exits 5.
ID=$(nrc monitor status-pages incidents create acme \
--title "Scheduled database upgrade overran" \
--status identified --impact minor \
--message "We are finishing the upgrade." \
-o text | cut -f1)
nrc monitor status-pages incidents updates create acme "$ID" \
--status resolved --message "The upgrade is finished."Limits, scope and permissions
The limits on status pages and custom domains, the monitor.statuspages scope for CI tokens, and the IAM actions behind each operation.
CLI
Manage Norcube Monitor from the terminal with norcube / nrc. Monitors, check history, incidents and alert channels, plus two commands that gate a deploy pipeline on what the checks found.