Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/AlexGustafsson/upmon
A cloud-native, distributed uptime monitor written in Go
https://github.com/AlexGustafsson/upmon
cloud-native distributed service-health service-monitoring
Last synced: about 2 months ago
JSON representation
A cloud-native, distributed uptime monitor written in Go
- Host: GitHub
- URL: https://github.com/AlexGustafsson/upmon
- Owner: AlexGustafsson
- License: mit
- Created: 2019-10-20T15:46:59.000Z (almost 5 years ago)
- Default Branch: master
- Last Pushed: 2023-03-07T01:41:09.000Z (over 1 year ago)
- Last Synced: 2024-07-09T11:10:44.777Z (2 months ago)
- Topics: cloud-native, distributed, service-health, service-monitoring
- Language: Go
- Homepage: https://alexgustafsson.github.io/upmon
- Size: 278 KB
- Stars: 11
- Watchers: 3
- Forks: 2
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
README
Quick Start | Documentation | Contribute# Upmon
### A cloud-native, distributed uptime monitor written in Go⚠️ Upmon is currently being actively developed. Until it reaches v1.0.0 breaking changes may occur in minor versions.
Upmon is a service for monitoring uptime. It is distributed and built around a gossip mechanism, providing eventual consistency. By easily creating a cluster of uptime monitors, a failure-tolerant uptime monitoring service may be deployed in minutes.
Upcoming.
## Table of contents
[Quickstart](#quickstart)
[Features](#features)
[Contributing](#contributing)* Deployable as a single node or an entire cluster
* Support for monitoring via pings, TCP sockets, HTTP requests and more
* Easily extensible to provide new monitoring capabilities
* Simple (optional) API for monitoring the status of services## Documentation
Please view [the docs on GitHub pages](https://alexgustafsson.github.io/upmon) or see them in the `docs` folder.
To view them offline in your browser, first install docsify by executing `npm install --global docsify-cli` and then run `docsify serve docs` in the project's folder.
Any help with the project is more than welcome. The project is still in its infancy and not recommended for production.
### Development
Dependencies beyond Go and Make:
* Go tools (installed by running `make install-tools`)
- [stringer](https://pkg.go.dev/golang.org/x/tools/cmd/stringer) - used to generate the `String()` method for `iota`s
* Other
- [openapi-generator](https://github.com/OpenAPITools/openapi-generator) - used to generate the models and client for the REST API```sh
# Clone the repository
https://github.com/AlexGustafsson/upmon.git && cd upmon# Show available commands
make help## Dependencies
# Install tools such as stringer
make install-tools## Building
# Build the server
make build# Generate API clients etc.
make generate## Code quality
# Format code
make format
# Lint code
make lint
# Vet the code
make vet
# Check the code for security issues
make gosec## Testing
# Run tests
make test
```To simplify development, `vet`, `gosec` and `test` are all run by executing `make check`.
_Note: due to a bug (https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93082, https://bugs.llvm.org/show_bug.cgi?id=44406, https://openradar.appspot.com/radar?id=4952611266494464), clang is required when building for macOS. GCC cannot be used._