Transcript
Grafsy
Release cycle
Go!
How does it work
- Goroutines (client, server, monitoring)
- Channels
- Github https://github.com/leoleovich/grafsy
- Jenkins stage job with testing
- Tags
- Jenkins job with tag version + build number (1.100.1-ig114)
- Fast!
- Python did not work out
- No dependencies on servers
- Fancy/New
Black box
What do we get?
- Service which is easily holding 2K RPS
- Reliable metrics delivery
- Easy maintenance of Graphite cluster
- Filtering bad metrics (less load on cluster)
- Sending interval (avoids peaks)
- Easy interface to communicate (localhost or file)
- Aggregation functions
Watchdog
Systemd
Debian package
- Grafsy calls sd_notify every N seconds
- If systemd did not get call - service will be restarted
- Universal supervisor for all Linux
- Nice interfaces to monitor status
- Dependencies
- ...
- Watchdog
- Dependencies
- Easy to check which files are managed by
- Easy to install previous version
- Postinst scripts
- ...
- Built by Jenkins