Skip to content

Commit d1e9cd6

Browse files
authored
Merge branch 'main' into docusaurus_v3
2 parents 9c2f6c3 + 51c0e62 commit d1e9cd6

File tree

6 files changed

+96
-0
lines changed

6 files changed

+96
-0
lines changed
Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
---
2+
id: setup-healthcheck
3+
title: Set up healthchecks with Kuberhealthy
4+
description: Set up healthchecks with Kuberhealthy
5+
---
6+
7+
:::warning
8+
9+
This feature is in beta status. It should be used with caution.
10+
11+
:::
12+
13+
# Overview
14+
15+
Nebari integrates [Kuberhealthy](https://kuberhealthy.github.io/kuberhealthy/) to perform internal healthchecks on Nebari. This is an extensible Kubernetes native framework for continuous synthetic testing. Kuberhealthy is set up to export metrics to Prometheus. This allows them to be seen in Grafana.
16+
17+
## Enabling
18+
19+
Healthchecks are currently considered a beta feature that we are testing. Due to this, they are disabled by default. To enable healthchecks, add the following configuration under the `monitoring` configuration in your `nebari-config.yaml`.
20+
21+
```yaml
22+
monitoring:
23+
healthchecks:
24+
enabled: true
25+
```
26+
27+
## Checking status of Healthchecks
28+
29+
All healthchecks are exported as metrics to Prometheus and can be viewed in Grafana.
30+
31+
For example: To see the uptime for the conda-store service, you can run:
32+
33+
```
34+
1 - (sum(count_over_time(kuberhealthy_check{check="dev/conda-store-http-check", status="0"}[30d])) OR vector(0))/(sum(count_over_time(kuberhealthy_check{check="dev/conda-store-http-check", status="1"}[30d])) * 100)
35+
```
36+
37+
in Grafana, which will show you the following chart.
38+
39+
![Grafana chart showing the uptime for conda store](/img/how-tos/nebari-healthchecks.png)
40+
41+
To see what other healthchecks are available, you can use the metric explorer in Grafana. Select the metric type of `kuberhealthy_check` and the label filter of `check`. The values list will be a list of the checks that
42+
have metrics available.
43+
44+
![Display of available kuberhealthy metrics in Grafana](/img/how-tos/nebari-healthchecks1.png)
45+
46+
:::note
47+
48+
If you have previously deployed Nebari without healthchecks, You may need to restart your Prometheus service to get it to pick up the kuberhealthy metrics.
49+
50+
:::
51+
52+
## Summary of available healthchecks
53+
54+
Below is an explanation of the available healthchecks. This list may not be comprehensive as work on this feature is ongoing.
55+
56+
| <div style={{width:180}}>Check Label</div> | Description |
57+
| ------------------------------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------- |
58+
| conda-store-http-check | verifies that conda-store is accessible via it's REST API |
59+
| jupyterhub-http-check | verifies JupyterHub is running |
60+
| dns-status-internal | verifies internal DNS is accessible |
61+
| daemonset | verifies that a daemonset can be created, fully provisioned, and torn down. This checks the full kubelet functionality of every node in your Kubernetes cluster |
62+
| deployment | verifies that a fresh deployment can run, deploy multiple pods, pass traffic, do a rolling update (without dropping connections), and clean up successfully |
63+
| keycloak-http-check | verifies Keycloak is accessible |

docs/sidebars.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -72,6 +72,7 @@ module.exports = {
7272
"how-tos/nebari-extension-system",
7373
"how-tos/telemetry",
7474
"how-tos/setup-monitoring",
75+
"how-tos/setup-healthcheck",
7576
"how-tos/access-logs-loki",
7677
"how-tos/use-gpus",
7778
"how-tos/develop-local-packages",
120 KB
Loading
53.6 KB
Loading

package-lock.json

Lines changed: 27 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
{
2+
"devDependencies": {
3+
"prettier": "3.3.3"
4+
}
5+
}

0 commit comments

Comments
 (0)