https://github.com/medigo/go-healthz
An HTTP health check handler for Go
https://github.com/medigo/go-healthz
Last synced: 5 months ago
JSON representation
An HTTP health check handler for Go
- Host: GitHub
- URL: https://github.com/medigo/go-healthz
- Owner: MEDIGO
- License: apache-2.0
- Created: 2016-09-15T15:50:20.000Z (almost 9 years ago)
- Default Branch: master
- Last Pushed: 2023-01-04T13:15:05.000Z (over 2 years ago)
- Last Synced: 2024-06-20T16:50:03.525Z (12 months ago)
- Language: Go
- Homepage:
- Size: 7.81 KB
- Stars: 8
- Watchers: 5
- Forks: 5
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# go-healthz
[](https://circleci.com/gh/MEDIGO/go-healthz)
This package provides an HTTP handler that returns information about the health status of the application. If the application is healthy and all the registered check pass, it returns a `200 OK` HTTP status, otherwise, it fails with a `503 Service Unavailable`. All responses contain a JSON encoded payload with information about the runtime system, current checks statuses and some configurable metadata.
### Usage
```go
package mainimport (
"errors"
"net/http"
"time""github.com/MEDIGO/go-healthz"
)const version = "1.0.0"
func main() {
healthz.Set("version", version)healthz.Register("important_check", time.Second*5, func() error {
return errors.New("fail fail fail")
})http.Handle("/healthz", healthz.Handler())
http.ListenAndServe(":8000", nil)
}
``````
$ http GET localhost:8000/healthz
HTTP/1.1 503 Service Unavailable
Content-Length: 317
Content-Type: application/json
Date: Fri, 23 Sep 2016 08:55:16 GMT{
"status": "Unavailable",
"time": "2016-09-23T10:55:16.781538256+02:00",
"since": "2016-09-23T10:55:14.268149643+02:00",
"metadata": {
"version": "1.0.0"
},
"failures": {
"important_check": "fail fail fail"
},
"runtime": {
"alloc_bytes": 314048,
"arch": "amd64",
"goroutines_count": 4,
"heap_objects_count": 4575,
"os": "darwin",
"total_alloc_bytes": 314048,
"version": "go1.7"
}
}
```## Copyright and license
Copyright © 2016 MEDIGO GmbH.
go-healthz is licensed under the Apache License, Version 2.0. See [LICENSE](LICENSE) for the full license text.