Loading…
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