If you read the first two chapters, pat yourself on the back. There are a lot of technology considerations that go into a modern architecture, and I want readers of this book to understand many of the choices available before we move on to the Graphite nitty-gritty. I assume anyone reading this book is going to be working on, or possibly even building her own monitoring system, so it’s important to me that you’re heading into this project with eyes wide open.
For readers who skipped ahead, you missed the free Starbucks coupon and a brief overview of the Graphite architecture. To bring you partly up to speed (minus the coffee—you blew it), there are three main components in Graphite: the Carbon daemons, the Whisper database library, and the Graphite web application.
This chapter will explain the role of each component as we begin to mentally map out our Graphite installation. It helps to understand how each piece fits together, especially among the different Carbon daemon types, so when you need to diagnose your Graphite server (or begin scaling it up beyond a single node) you’ll have an appreciation of each component’s behavior, performance characteristics, and potential bottlenecks.
Whenever someone refers to Graphite’s Carbon component, they’re almost always talking about the
carbon-cache service. New users may not even realize there are actually three distinct daemons collectively referred to as Carbon: the