Articles on: Automate

How to use Status Page?

Websites using Crisp may create their own status page via Crisp Status Page. It automatically monitors configured nodes from your infrastructure, and notifies your team when a service gets down.

The status page is the perfect tool to let you alert users of an outage, showcase your uptime and give trust to your customers! It also comes with the ability to customize your status page.

Required plan for Status Page



The Status Page feature is available in Crisp Essentials and Plus plans. You need to make sure your website is subscribed to that plan so that you can use the Status Page feature.

Check the Crisp Pricing page if you need more information on our plans.


How to create my Status Page?



Before you can use your Status Page, it must be initiated as follows:

Go to your Crisp Dashboard
Go to Settings, then click on Status Page
An orange notice will be visible, prompting you to initialize your Status Page, click on it and follow the instructions, as shown in the images below

Click on Initialize my Status Page

Configure your Status Page name and domain

Then, your Status Page will be available online shortly. Allow a few minutes for the SSL certificate for your Status Page domain to be generated. Then, your online status page will be ready (you will be able to configure monitored services & nodes).


How to customize my Status Page?



Your Status Page can be customized to fit your brand design. Follow those steps to find your Status Page settings:

Go to your Crisp Dashboard
Go to Settings, then click on Status Page
Click on "Customize your Status Page"

The Status Page customization settings



You can customize the Status Page header and footer logos with your own brand logo. In the "Customize your Status Page" settings, look for "Header logo" and "Footer logo".

SVG images recommended, as they scale better on different screen resolutions.

For the header logo, upload a light (eg. white) logo. For the footer logo, upload a dark (eg. black) logo. This ensures both logo are readable based on the header & footer background.

The customized header logo of a Crisp Status Page

Change Status Page color



The main color of your Status Page is based on the color of your Crisp chatbox. If your chatbox is set to be blue, then your Status Page will be blue.

If you want to change the color of your Status Page, you will need to change the color of your chatbox. Read this article on how to do it.

Colors set in the Crisp customization plugin are used as the color of your Status Page too (if any is set).

Change Status Page header pattern



If your chatbox has a pattern image configured (ie. the subtle pattern you see as the background of your chatbox), this same pattern will be used in the header of your Status Page. If your chatbox has no pattern configured, then your Status Page won't have any used too.

You can also upload a custom header background image from the "Customize your Status Page" settings. Make sure to upload an image that scales well on large screens.

A customized Status Page header pattern (notice the subtle background images)


How to set a custom domain for my Status Page?



By default, Crisp provides an hosted Status Page domain (eg. acme.crisp.watch). However, it is possible (and recommended!) to configure a custom Status Page domain (eg. status.acme.com).

To configure a custom domain for your Status Page, follow those steps:

Go to your Crisp Dashboard
Go to Settings, then click on Status Page
Click on Setup your Status Page
In Custom domain, enter your desired custom domain
Click on Use this domain
Do not click on verify yet, first, add the indicated DNS records to your DNS manager and deploy your new DNS configuration
Again, do not click on verify, hold on for a at least 1 minute, to ensure your DNS provider propagated your changes
Now, click on Verify domain setup. Crisp will query your DNS records to ensure they are properly configured. This takes up to 20 seconds
Crisp will acknowledge or reject the domain change. If it rejects the changes, check all records have been added to your DNS manager
Once the domain change is validated, a new SSL certificate for your Status Page will be generated. This may take up to 2 minutes. Check your newly configured domain after this delay.

The Status Page custom domain setup


How to configure services & nodes?



Crisp Status groups monitored nodes (eg. a website, an HTTP API endpoint, the TCP socket of an email server) in services. A service is a group of nodes, that typically run for the same purpose. You may create a service named "Websites" to monitor all your website domains.

Let's create your first service and start monitoring a few nodes:

Go to your Crisp Dashboard
Go to Settings, then click on Status Page
Click on Manage monitored services
Click on "Add a new Service"
In the form that opens, give a name to your service (eg. "Websites")
Click on the service that was added
Click on "Add a new Node"
Give a name to the new node (eg. "Crisp Landing Page")
Select "Node monitoring mode" as "HTTP / TCP / ICMP service (poll mode)" (we will be monitoring an HTTP URL)
Click on the node that was added to edit it
Click on "Add a replica" to add a monitored HTTP URL (you can add multiple URLs there if you have eg. a load balanced website)
In the new replica field, enter: "https://crisp.chat/en/"
Save and go to your public status page, you'll see a "Websites" group with the "Crisp Landing Page" node, and a single replica (the "1" box) in the list

Your replica will be grey while it's pending for a check. Crisp Status does a check of all poll nodes every 2 minutes (120 seconds). Check back in a maximum of 2 minutes to see the actual replica status.

You can order your services and nodes by editing them after adding them, and giving an order number from 1 to 100. Lower number comes first in list.

You can edit the nodes you added anytime


Which monitoring modes are available?



There's a variety of systems you could be willing to monitor in your backend infrastructure:

Websites
HTTP API endpoints
Email servers
Database servers
Applications (eg. NodeJS, Golang, etc.)
(etc.)

Thus, Crisp Status implements a variety of probe modes; each of which can be used to monitor a kind of node:

Poll mode: used to monitor HTTP/HTTPS, TCP and ICMP services. HTTP health is checked using HTTP status codes. Crisp Status polls the service to check for its status.
Push mode: used to report the health of application servers. Install a library in you eg. NodeJS project. The application reports its status by pushing it to Crisp Status. Read more on how to setup push mode.
Local mode: similar to poll mode, but used for local and LAN nodes that cannot be reached via the public Internet (eg. a MySQL server). The status is checked by a provided daemon, installed on a server of yours, which then forwards the results to Crisp Status. Read more on how to setup local mode.


Which statuses are used?



A replica is the ultimate unit to have a status / health attached to it. A replica is the endpoint that's being monitored, whether it be an HTTP / TCP / ICMP host or an application.

Here's a list of the statuses used:

Healthy — The replica is responding fast and is not overloaded.
Sick — The replica is slower than usual (network slower, system overloaded).
Dead — The replica did not answer last probe requests and seems to be down.

Each status has its health color code. healthy is green, sick is orange and dead is red. This lets people quickly identify what's happening.

A node takes the worst status of its replicas. A service takes the worst status of its nodes. The Status Page takes the worst status of its services. In other words, if a single replica shows as dead, your whole Status Page will show as dead. Same for sick. If no replica either shows as sick or dead, your Status Page will show as healthy.


How to change monitoring bot options?



You can alter the way your monitoring bot behaves on each type of node (ie. node mode).

Options for poll mode nodes:

Number of times to retry a failed check: when a check fails, retries this number of times before considering the replica dead (if it does not answer in due time).
Seconds after which node is dead: consider a replica dead after this number of seconds (ie. if it takes longer than this duration to respond).
Seconds after which node is sick: consider a replica sick after this number of seconds (ie. if it takes longer than this duration to respond).

Options for push mode nodes:

Seconds after which node is dead: consider a replica dead if it did not report its status after this number of seconds
Load ratio above which node CPU is sick: consider a replica sick if its CPU load ratio is above this number (eg. 0.5 for 1 CPU at 50% load)
Load ratio above which node RAM is sick: consider a replica sick if its used RAM over total RAM is above this number (eg. 0.75 for 750MB used over 1GB RAM total)

Options for local mode nodes:

Number of times to retry a failed check: when a check fails, retries this number of times before considering the replica dead (if it does not answer in due time).
Seconds after which node is dead: consider a replica dead after this number of seconds (ie. if it takes longer than this duration to respond).
Seconds after which node is sick: consider a replica sick after this number of seconds (ie. if it takes longer than this duration to respond).

Monitoring bot options for poll mode nodes


How to receive downtime notifications?



When a replica goes down (ie. its status changes to dead), you can get notified across a few notification channels. You can use none, all at the same time, or a few ones only. Here's how to configure each.

You can find notification channel settings in:

Go to your Crisp Dashboard
Go to Settings, then click on Status Page
Click on Manage notification channels

Email notifier



The email channel is the most convenient way to receive downtime notifications to your email inbox.

When a replica goes down, you'll receive an email similar to:

Downtime notification email

To configure the email notifier, open up the "Email (to address)" category, toggle on the notifier, and fill in a target email address.

Email notifier settings

Slack notifier



The Slack notifier lets you receive downtime notifications in a Slack #channel in your team. This lets Slack team members opt-in to notifications, or opt-out from them at any time.

Downtime notification Slack message

To configure the Slack notifier, open up the "Slack (to channel)" category, toggle on the notifier, and fill in your Slack Web Hook URL. Read how to get a Web Hook URL.

Slack notifier settings

Push notifier



The push notifier sends direct notifications to your connected Crisp apps (eg. Crisp iOS app), to selected operators from your team. It is a no-brainer way to receive your downtime notifications.

Downtime notification on iOS

To configure the push notifier, open up the "Push (to operators) category, toggle on the notifier, and pick the operators you want to be notified.

Push notifier settings

Pushover notifier



The Pushover notifier lets you receive downtime notifications in your own Pushover application, on any device where you have the Pushover app running (your phone, your computer, etc.). It lets you centralize important alerts in an application that's dedicated to receiving notifications and archiving them.

Pushover is an external service, that may be paid depending on your usage. Please refer to Pushover's website for more details.

Downtime alert in Pushover

To configure the Pushover notifier, open up the "Pushover (to application)" category, toggle on the notifier, and fill in your Pushover application token key, as well as the alert recipients (in the form of Pushover user keys, or Pushover group keys). Refer to Pushover documentation on how to obtain your token key and user key.

Pushover notifier settings


How to receive status change Web Hooks?



When your status page general health changes (eg. goes from healthy to dead), you can configure Crisp to send a Web Hook to your servers. You can then implement custom actions on your end.

To configure a status page health change Web Hook:

Read our docs guide: Web Hooks Quickstart
Configure a Web Hook for the event namespace: status:health:changed

Once a status change occurs, you will receive a JSON payload:

{
  website_id: "",
  event: "status:health:changed",

  data: {
    "website_id": "-JzqEmX56venQuQw4YV8",
    "health": "dead",

    "nodes": [
      {
        "label": "Primary load balancers",
        "replica": "tcp://edge-3.pool.net.crisp.chat:80"
      }
    ]
  },

  timestamp: 1506985696616
}


Where:

health: Status page general health value (one of: healthy, sick or dead)
nodes: List of nodes affected by status change (will be empty when going back healthy)


Display public service announcements



In case of prolonged downtime, or planned maintenance, it's usually a good practice to show an announcement message for all your users. The announcements is made public on your status page.

A maintenance announcement on a public status page

To display a service announcement:

Go to your Crisp Dashboard
Go to Settings, then click on Status Page
Click on Configure service announcements
Click on "Add announcement" and follow instructions

An announcement can be set to expire at a certain date. It can be useful for planned maintenance, as you know approximately when it is most likely to end in time.


Let your users know when status is down



When your systems go down, it's usually a good idea to show a warning to all your users before they flood your Crisp customer support of questions or hate chat messages as you're busy getting everything back in order and probably not answering in due time.

By default, when your Status Page reports as Dead for more than 3 minutes in a row, a warning will be visible on your Crisp Chatbox, and your Crisp Helpdesk (if you are using it).

Downtime notification on a Crisp Helpdesk

If you don't like it, you can tell Crisp Status not to show a downtime announcement either on your chatbox, helpdesk, or both. Check for relevant settings in your chatbox settings (where other chatbox settings are), or helpdesk settings (where other helpdesk settings are).


Where can I find Crisp Status utilities?



Crisp Status Reporter libraries



To monitor push mode nodes, you'll need to setup a Crisp Status Reporter library. See instructions in this article.

Crisp Status Local service



To monitor local mode nodes, you'll need to setup the Crisp Status Local service (also called daemon). See instructions in this article.

Updated on: 28/10/2024

Was this article helpful?

Share your feedback

Cancel

Thank you!