open-vault/website/content/api-docs/system/health.mdx
mallika-hc 9e340ed7f8
Update health.mdx (#16645)
* Update health.mdx

Added sample request and response for customizing the status code being returned from the sys/health endpoint

* Update website/content/api-docs/system/health.mdx

Co-authored-by: Loann Le <84412881+taoism4504@users.noreply.github.com>
2022-08-12 10:39:51 -07:00

130 lines
3.9 KiB
Plaintext
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
layout: api
page_title: /sys/health - HTTP API
description: The `/sys/health` endpoint is used to check the health status of Vault.
---
# `/sys/health`
The `/sys/health` endpoint is used to check the health status of Vault.
## Read Health Information
This endpoint returns the health status of Vault. This matches the semantics of
a Consul HTTP health check and provides a simple way to monitor the health of a
Vault instance.
| Method | Path |
| :----- | :------------ |
| `HEAD` | `/sys/health` |
| `GET` | `/sys/health` |
The default status codes are:
- `200` if initialized, unsealed, and active
- `429` if unsealed and standby
- `472` if disaster recovery mode replication secondary and active
- `473` if performance standby
- `501` if not initialized
- `503` if sealed
### Parameters
- `standbyok` `(bool: false)` Specifies if being a standby should still return
the active status code instead of the standby status code. This is useful when
Vault is behind a non-configurable load balancer that just wants a 200-level
response. This will not apply if the node is a performance standby.
- `perfstandbyok` `(bool: false)` Specifies if being a performance standby should
still return the active status code instead of the performance standby status code.
This is useful when Vault is behind a non-configurable load balancer that just wants
a 200-level response.
- `activecode` `(int: 200)`  Specifies the status code that should be returned
for an active node.
- `standbycode` `(int: 429)` Specifies the status code that should be returned
for a standby node.
- `drsecondarycode` `(int: 472)` Specifies the status code that should be
returned for a DR secondary node.
- `performancestandbycode` `(int: 473)` Specifies the status code that should be
returned for a performance standby node.
- `sealedcode` `(int: 503)` Specifies the status code that should be returned
for a sealed node.
- `uninitcode` `(int: 501)` Specifies the status code that should be returned
for a uninitialized node.
### Sample Request
```shell-session
$ curl \
http://127.0.0.1:8200/v1/sys/health
```
### Sample Response
This response is only returned for a `GET` request.
Note: `replication_performance_mode` and `replication_dr_mode` reflect the state of
the active node in the cluster; if you are querying it for a standby that has
just come up, it can take a small time for the active node to inform the
standby of its status.
```json
{
"initialized": true,
"sealed": false,
"standby": false,
"performance_standby": false,
"replication_performance_mode": "disabled",
"replication_dr_mode": "disabled",
"server_time_utc": 1516639589,
"version": "0.9.2",
"cluster_name": "vault-cluster-3bd69ca2",
"cluster_id": "00af5aa8-c87d-b5fc-e82e-97cd8dfaf731"
}
```
### Sample Request to customize the status code being returned
```shell-session
$ curl -i https://127.0.0.1:8200/v1/sys/health\?drsecondarycode\=200
HTTP/2 200
cache-control: no-store
content-type: application/json
strict-transport-security: max-age=31536000; includeSubDomains
content-length: 364
date: Wed, 26 Jan 2022 09:21:13 GMT
```
### Sample Response
This response is only returned for a `GET` request.
Note: `replication_performance_mode` and `replication_dr_mode` reflect the state of
the active node in the cluster; if you are querying it for a standby that has
just come up, it may take time for the active node to inform the
standby of its status.
```json
{
"initialized": true,
"sealed": false,
"standby": false,
"performance_standby": false,
"replication_performance_mode": "disabled",
"replication_dr_mode": "secondary",
"server_time_utc": 1643188873,
"version": "1.9.0+prem",
"cluster_name": "SECONDARY",
"cluster_id": "d2fbb13b-0830-70a3-4751-57b6b6d95d01",
"last_wal":13,
"license":{"state":"none","expiry_time":"","terminated":false}
}
```