Status pages
Management methods
If you navigate to the Web UI of Kuvasz, you can create a new status page on the Status pages page, by clicking the "+ New status page" button in the page header.
# Default status page configuration
default-status-page: # (1)!
public: true
title: "Status - Kuvasz Uptime"
custom-logo-url: "https://example.com/logo.png"
custom-favicon-url: "https://example.com/favicon.png"
status-pages: # (2)!
- title: "Example Status Page" # (3)!
slug: "example-status" # (4)!
public: true # (5)!
custom-logo-url: "https://example.com/logo.png" # (6)!
custom-favicon-url: "https://example.com/favicon.png" # (7)!
monitors: # (8)!
- "http:My monitor 1"
- "http:My monitor 2"
# ... other status pages
- The default status page has a special section in the YAML configuration, since you can only have one default status page. Also, it's only configurable from YAML, you can't create or modify it from the Web UI or through the API.
- The
status-pages
section contains a list of custom status pages. - The
title
field is the title of the status page, it will be displayed in the browser tab and also on the page itself. - The
slug
field is the URL slug of the status page, it will be used to access the page. - The
public
field determines whether the status page is public or private. - The
custom-logo-url
field is the URL of the custom logo to be displayed on the status page. - The
custom-favicon-url
field is the URL of the custom favicon to be used for the status page. - The
monitors
field is a list of monitors to be displayed on the status page. You can reference monitors by their type and name, in the format<type>:<name>
, e.g.,http:My HTTP Monitor
.
This section won't go into details about the API or about exact API calls, since it's well documented and must be self-explanatory. You can find more information about the available endpoints and their usage in the API documentation.
However, here are few of the most important endpoints:
GET /api/v2/status-pages
– List all status pagesGET /api/v2/status-pages/{id}
– Get a specific status page by its IDPOST /api/v2/status-pages
– Create a new status pagePATCH /api/v2/status-pages/{id}
– Update an existing status pageDELETE /api/v2/status-pages/{id}
– Delete a status page by its ID
The default status page
The default status page is a special, built-in status page that automatically includes all enabled monitors. It cannot be deleted or created manually, but you can unpublish it (i.e. make it private) if you don't want to use it.
Title
3.1.0
System status
string
title
The visible title of the default status page, it will be displayed in the browser tab and also on the page itself.
Public access
3.1.0
false
boolean
public
Determines whether the default status page is publicly accessible or not. If set to false
, only authenticated users will be able to access it.
Custom logo URL
3.1.0
string
custom-logo-url
The URL of the custom logo to be displayed on the default status page, next to the title. If not set, the default Kuvasz logo will be used.
Custom favicon URL
3.1.0
string
custom-favicon-url
The URL of the custom favicon to be used for the default status page. If not set, the default Kuvasz favicon will be used.
Custom status pages
You can create multiple custom status pages, each with its own configuration and set of monitors. Custom status pages can be created, modified, and deleted via the Web UI, the REST API, or by defining them in the YAML configuration file.
Title
3.1.0
string
title
The visible title of the default status page, it will be displayed in the browser tab and also on the page itself.
Slug
3.1.0
string
slug
The URL slug of the custom status page, it will be used to access the page. The full URL will be in the format: http(s)://<your-domain-or-ip>/status/<slug>
. The slug must be unique among all status pages and can contain only lowercase letters, numbers, hyphens (-
), and underscores (_
), maximum length is 50 characters.
Public access
3.1.0
false
boolean
public
Whether the custom status page is publicly accessible or not. If set to false
, only authenticated users will be able to access it.
Custom logo URL
3.1.0
string
custom-logo-url
The URL of the custom logo to be displayed on the custom status page, next to the title. If not set, the default Kuvasz logo will be used.
Custom favicon URL
3.1.0
string
custom-favicon-url
The URL of the custom favicon to be used for the custom status page. If not set, the default Kuvasz favicon will be used.
Monitors
3.1.0
empty
list
monitors
A list of monitors to assign to the status page.
If you're using YAML, or the API, the format is "{type}:{name}"
, where type
is the alias of the monitor's type (e.g. http
), and name
is the name of the monitor. Example: http:My HTTP Monitor
.
Tip
You can add/keep disabled monitors in the list, but they will not be visible on the status page. This is useful if you want to enable them later without modifying the status page's configuration.
Caching
Info
The cache of the status pages is only configurable via YAML or through environment variables.
Every status page is cached on the server-side by default, to improve performance and reduce server load. The default configuration should be sufficient for most use cases, but if you want to fine-tune it, you can do so by modifying the following settings.
Configuration reference and default values
micronaut:
caches:
default-status-page:
expire-after-write: PT5M # (1)!
status-pages:
expire-after-write: PT5M # (2)!
maximum-size: 20 # (3)!
- The lifetime of the cache for the default status page in ISO-8601 duration format. Default is
PT5M
(5 minutes). - The lifetime of the cache for custom status pages in ISO-8601 duration format. Default is
PT5M
(5 minutes). - The maximum number of custom status pages to be cached. Default is
20
, which should be sufficient for most use cases. If you have more than 20 custom status pages, you can inrease this value, but keep in mind that it might have a negative impact on overall performance.
DEFAULT_STATUS_PAGE_CACHE_EXPIRES_AFTER=PT5M # (1)!
STATUS_PAGE_CACHE_EXPIRES_AFTER=PT5M # (2)!
STATUS_PAGE_CACHE_MAX_SIZE=20 # (3)!
- The lifetime of the cache for the default status page in ISO-8601 duration format. Default is
PT5M
(5 minutes). - The lifetime of the cache for custom status pages in ISO-8601 duration format. Default is
PT5M
(5 minutes). - The maximum number of custom status pages to be cached. Default is
20
, which should be sufficient for most use cases. If you have more than 20 custom status pages, you can inrease this value, but keep in mind that it might have a negative impact on overall performance.