Add health check feature documentation
This commit is contained in:
parent
da8ac1635f
commit
b5552bc4e5
|
@ -41,6 +41,7 @@
|
|||
- [Git LFS configuration](workflow/lfs/lfs_administration.md)
|
||||
- [Housekeeping](administration/housekeeping.md) Keep your Git repository tidy and fast.
|
||||
- [GitLab Performance Monitoring](monitoring/performance/introduction.md) Configure GitLab and InfluxDB for measuring performance metrics
|
||||
- [Monitoring uptime](monitoring/health_check.md) Check the server status using the health check endpoint
|
||||
- [Sidekiq Troubleshooting](administration/troubleshooting/sidekiq.md) Debug when Sidekiq appears hung and is not processing jobs
|
||||
- [High Availability](administration/high_availability/README.md) Configure multiple servers for scaling or high availability
|
||||
|
||||
|
|
|
@ -0,0 +1,57 @@
|
|||
# Health Check
|
||||
_**Note:** This feature was [introduced][ce-3888] in GitLab 8.8_
|
||||
|
||||
GitLab provides a health check endpoint for uptime monitoring on the `health_check` web
|
||||
endpoint. The health check reports on the overall system status based on the status of
|
||||
the database connection, the state of the database migrations, and the ability to write
|
||||
and access the cache. This endpoint can be provided to uptime monitoring services like
|
||||
[Pingdom][pindom], [Nagios][nagios-health], and [NewRelic][newrelic-health].
|
||||
|
||||
## Access Token
|
||||
|
||||
A access token needs to be provided while accessing the health check endpoint. The current
|
||||
accepted token can be found on the `admin/heath_check` page of your GitLab instance.
|
||||
|
||||
![access token](img/health_check_token.png)
|
||||
|
||||
The access token can be passed as a url parameter:
|
||||
|
||||
`https://gitlab.example.com/health_check.json?token=ACCESS_TOKEN`
|
||||
|
||||
or as a http header:
|
||||
|
||||
```bash
|
||||
curl -H "TOKEN: ACCESS_TOKEN" https://gitlab.example.com/health_check.json
|
||||
```
|
||||
|
||||
## Using the Endpoint
|
||||
|
||||
Once you have the access token, health information can be retrieved as plain text, JSON,
|
||||
or XML using the `health_check` endpoint:
|
||||
|
||||
- `https://gitlab.example.com/health_check?token=ACCESS_TOKEN`
|
||||
- `https://gitlab.example.com/health_check.json?token=ACCESS_TOKEN`
|
||||
- `https://gitlab.example.com/health_check.xml?token=ACCESS_TOKEN`
|
||||
|
||||
You can also ask for the status of specific services:
|
||||
|
||||
- `https://gitlab.example.com/health_check/cache.json?token=ACCESS_TOKEN`
|
||||
- `https://gitlab.example.com/health_check/database.json?token=ACCESS_TOKEN`
|
||||
- `https://gitlab.example.com/health_check/migrations.json?token=ACCESS_TOKEN`
|
||||
|
||||
Example output:
|
||||
```bash
|
||||
curl -H "TOKEN: ACCESS_TOKEN" https://gitlab.example.com/health_check.json
|
||||
{"healthy":true,"message":"success"}
|
||||
```
|
||||
|
||||
## Status
|
||||
|
||||
On failure the endpoint will return a `500` http status code. On success the endpoint
|
||||
will return a valid successful http status code, and a `success` message. Ideally your
|
||||
uptime monitoring should look for the success message.
|
||||
|
||||
[ce-3888]: https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/3888
|
||||
[pingdom]: https://www.pingdom.com
|
||||
[nagios-health]: https://nagios-plugins.org/doc/man/check_http.html
|
||||
[newrelic-health]: https://docs.newrelic.com/docs/alerts/alert-policies/downtime-alerts/availability-monitoring
|
Binary file not shown.
After Width: | Height: | Size: 11 KiB |
Loading…
Reference in New Issue