SlideShare a Scribd company logo
Where’s My Beer?
Building a Better Kegerator with a
Raspberry Pi & Sensu
About Me
● Customer Success Engineer at Sensu
● Homebrewer
● Twitter: asachs01
The Problem(s)
Where's My Beer: Building a Better Kegerator with a Raspberry Pi & Sensu
Where's My Beer: Building a Better Kegerator with a Raspberry Pi & Sensu
Where's My Beer: Building a Better Kegerator with a Raspberry Pi & Sensu
The Solution
+
The Buildout
The Parts
● Raspberry Pi
● Smarticase w/ large
enclosure
● 7” lcd screen
● 4 x load cells
● OpenScale board
● Temp Sensor
● Contact Sensor
How It’s Wired
How It’s Wired, ctd.
The (Semi) Finished Product
Monitoring It All
Why Sensu?
● Flexibility
● Easy to write plugins
● Works on any Linux system
Monitoring - Flow
Monitoring - Setup
Check Details
● Couple of Ruby gems:
○ rpi_gpio
○ sensu-plugin
● Custom plugin
● Temperature checks (metric
and status)
● Contact sensor status
Check Details
● Couple of Ruby gems:
○ rpi_gpio
○ sensu-plugin
● Custom plugin
● Temperature checks (metric
and status)
● Contact sensor status
Check Details (ctd.)
Check Details (ctd.)
Check Details (ctd.)
Check Details (ctd.)
Check Details (ctd.)
Resources
● https://github.com/asachs01/kegpi
● https://bit.ly/kegpi-talk
● https://docs.sensu.io
● https://slack.sensu.io
Q&A
Me:
● Twitter: asachs01
Sensu:
● Community Slack:
https://slack.sensu
.io
Where's My Beer: Building a Better Kegerator with a Raspberry Pi & Sensu

More Related Content

PDF
Being dangerous with git
PPTX
Contract testing - isolated testing of microservices - Symfony Camp 2018, Evg...
PDF
Let Salt saltify it self!
PDF
Prometheus the future
PPTX
Beyond unit tests: Deployment and testing for Hadoop/Spark workflows
PDF
When it all GOes right
PDF
Unite2014 Bunny Necropsy - Servers, Syncing Game State, Security and Optimiza...
PPTX
Thingsboard Gateway - Remote temperature monitoring tool for Industries
Being dangerous with git
Contract testing - isolated testing of microservices - Symfony Camp 2018, Evg...
Let Salt saltify it self!
Prometheus the future
Beyond unit tests: Deployment and testing for Hadoop/Spark workflows
When it all GOes right
Unite2014 Bunny Necropsy - Servers, Syncing Game State, Security and Optimiza...
Thingsboard Gateway - Remote temperature monitoring tool for Industries

Similar to Where's My Beer: Building a Better Kegerator with a Raspberry Pi & Sensu (20)

PDF
OSMC 2012 | Shinken by Jean Gabès
PDF
OSMC 2014: From monitoringsucks to monitoringlove (and back) | Kris Buytaert
PDF
Monitoring Big Data Systems "Done the simple way" - Demi Ben-Ari - Codemotion...
PDF
Monitoring Big Data Systems Done "The Simple Way" - Demi Ben-Ari - Codemotion...
PDF
PDF
Application Monitoring using Open Source - VictoriaMetrics & Altinity ClickHo...
PDF
Application Monitoring using Open Source: VictoriaMetrics - ClickHouse
PDF
Monitoring Big Data Systems - "The Simple Way"
PDF
CodeFest 2014. Vedran Mikulic — Booking Fast Development
PPTX
Cinder On-boarding Room - Berlin (11-13-2018)
PDF
Thinking DevOps in the era of the Cloud - Demi Ben-Ari
PDF
OSDC 2014: Devdas Bhagat - Graphite: Graphs for the modern age
PPTX
Auditing data and answering the life long question, is it the end of the day ...
PDF
OSMC 2014 | From monitoringsucks to monitoringlove, and back by Kris Buytaert
PDF
Netty training
PPTX
Herding cats & catching fire: Workday's telemetry & middleware
PDF
Android best practices 2015
PDF
Embracing Observability in CI/CD with OpenTelemetry
PPTX
OpenStack Cinder On-Boarding Room - Vancouver Summit 2018
PPTX
Connect js nodejs_devops_shubhra
OSMC 2012 | Shinken by Jean Gabès
OSMC 2014: From monitoringsucks to monitoringlove (and back) | Kris Buytaert
Monitoring Big Data Systems "Done the simple way" - Demi Ben-Ari - Codemotion...
Monitoring Big Data Systems Done "The Simple Way" - Demi Ben-Ari - Codemotion...
Application Monitoring using Open Source - VictoriaMetrics & Altinity ClickHo...
Application Monitoring using Open Source: VictoriaMetrics - ClickHouse
Monitoring Big Data Systems - "The Simple Way"
CodeFest 2014. Vedran Mikulic — Booking Fast Development
Cinder On-boarding Room - Berlin (11-13-2018)
Thinking DevOps in the era of the Cloud - Demi Ben-Ari
OSDC 2014: Devdas Bhagat - Graphite: Graphs for the modern age
Auditing data and answering the life long question, is it the end of the day ...
OSMC 2014 | From monitoringsucks to monitoringlove, and back by Kris Buytaert
Netty training
Herding cats & catching fire: Workday's telemetry & middleware
Android best practices 2015
Embracing Observability in CI/CD with OpenTelemetry
OpenStack Cinder On-Boarding Room - Vancouver Summit 2018
Connect js nodejs_devops_shubhra
Ad

More from Sensu Inc. (20)

PPTX
Introducing GoAlert: a brand-new on-call scheduling and notification open sou...
PDF
Monitoring Graceful Failure
PDF
The Bonsai Asset Index : A new way for the community to share resources
PPTX
PPB's Sensu Journey
PDF
Testing and monitoring and broken things
PDF
Order from chaos: automating monitoring configuration
PDF
Keynote: Measuring the right things
PDF
Keynote: Scaling Sensu Go
PDF
Keynote: Sensu as a multi-cloud monitoring control plane
PDF
AIOps & Observability to Lead Your Digital Transformation
PDF
Ecosystem session: Sensu + Puppet
PDF
7 Years of Sensu: Then, Now, and Soon
PPTX
Pull, don’t push: Architectures for monitoring and configuration in a microse...
PPTX
Assets in Sensu 2.0
PPTX
The Box.com success story: migrating 350K Nagios objects to Sensu
PPTX
Project 3M: Meaningful Monitoring and Messaging
PPTX
Sharing Sensu with Multiple Teams using Ansible
PDF
Reimagining Sensu
PPTX
Alert Fatigue: Avoidance and Course Correction
PDF
Sensu and Kubernetes 1.x
Introducing GoAlert: a brand-new on-call scheduling and notification open sou...
Monitoring Graceful Failure
The Bonsai Asset Index : A new way for the community to share resources
PPB's Sensu Journey
Testing and monitoring and broken things
Order from chaos: automating monitoring configuration
Keynote: Measuring the right things
Keynote: Scaling Sensu Go
Keynote: Sensu as a multi-cloud monitoring control plane
AIOps & Observability to Lead Your Digital Transformation
Ecosystem session: Sensu + Puppet
7 Years of Sensu: Then, Now, and Soon
Pull, don’t push: Architectures for monitoring and configuration in a microse...
Assets in Sensu 2.0
The Box.com success story: migrating 350K Nagios objects to Sensu
Project 3M: Meaningful Monitoring and Messaging
Sharing Sensu with Multiple Teams using Ansible
Reimagining Sensu
Alert Fatigue: Avoidance and Course Correction
Sensu and Kubernetes 1.x
Ad

Recently uploaded (20)

PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PPTX
sap open course for s4hana steps from ECC to s4
PDF
cuic standard and advanced reporting.pdf
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PPTX
Programs and apps: productivity, graphics, security and other tools
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PDF
Assigned Numbers - 2025 - Bluetooth® Document
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PPTX
Spectroscopy.pptx food analysis technology
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PPTX
A Presentation on Artificial Intelligence
PDF
Encapsulation_ Review paper, used for researhc scholars
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PPTX
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
PDF
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
PDF
MIND Revenue Release Quarter 2 2025 Press Release
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PDF
Empathic Computing: Creating Shared Understanding
Diabetes mellitus diagnosis method based random forest with bat algorithm
sap open course for s4hana steps from ECC to s4
cuic standard and advanced reporting.pdf
Advanced methodologies resolving dimensionality complications for autism neur...
Programs and apps: productivity, graphics, security and other tools
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
Assigned Numbers - 2025 - Bluetooth® Document
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
Spectroscopy.pptx food analysis technology
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
A Presentation on Artificial Intelligence
Encapsulation_ Review paper, used for researhc scholars
20250228 LYD VKU AI Blended-Learning.pptx
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
MIND Revenue Release Quarter 2 2025 Press Release
The Rise and Fall of 3GPP – Time for a Sabbatical?
Empathic Computing: Creating Shared Understanding

Where's My Beer: Building a Better Kegerator with a Raspberry Pi & Sensu

Editor's Notes

  • #3: One other note, how many of y’all know what a kegerator is?
  • #5: Every superhero, er, project has a good origin story, right? Well, mine starts with glass bottles. Rather, my intense hatred of bottling beer. How many of you have ever brewed or bottled beer? > Well, you know my pain then. > For those that haven’t, bottling beer is a rather labor-intense process that even if you have new bottles, still involves sanitizing them and prepping them One of the other problems that I had with bottling is that every now and then, I’d have batches that ended up like the gif above. Every time I had that happen, a little part of my beer-loving soul died. So I made the decision to start kegging.
  • #6: The thing about kegging is that you have to have something to store/dispense what you have in your keg. That’s why I decided on a BYOK, or a build-your-own kegerator.
  • #8: So when I started making my kegerator, I quickly encountered my first problem post-production. I had a frozen keg. Basically, I had a delightful barrel-aged scotch ale that was nothing more than the world’s biggest alcoholic push pop...except it wasn’t going anywhere, and I had to thaw it out. If anyone of you decide to build a kegerator, I’d highly advise getting something that allows for a bit more control that your standard dorm room minifridge.
  • #9: Ah, the second problem. Leaving the door open. This wasn’t nearly as a big of a problem as you might think (though my wife might disagree). For the non-homebrewers in the room, temperature is super important when it comes to the lifecycle of a beer..Some beers ferment at different temperatures. A lager ferments at a different temperature than an ale. When it comes to storing beer, temperature plays no less of an important role. But in this case, I wanted to make sure that my kegerator door wasn’t open, resulting in a fridge acting as an AC unit.
  • #10: Now, the biggest problem (and admittedly one that I’m still in the process of solving) is that I’ve had when I’m consuming my homebrew is that when I reach the end of a keg, it’s only when I start getting a ton of foam in my glass that I realize, “Oh...I’m out.” This problem is SUPER embarrassing if you have company over, and they’re expecting tasty, delicious homebrew. I’ll get to how I’m solving this in a few slides.
  • #11: Talk about missteps here: Other solutions Trying to roll my own
  • #14: Here’s a list of the parts that were used to make the system that monitors the kegerator. I have a full build list in a repo that I’ll have up after the presentation. You can head there to get the list of everything I used and links to the sites where you can buy them.
  • #15: NO REDNECK
  • #18: Who has ever used Sensu?
  • #19: Sensu is a monitoring framework We make monitoring software that makes it so you don’t have to go out and build something yourself from scratch. Sensu has two products: Core Open core A very active community that write and hack on the product Enterprise Has support Come with some super slick interations that make building out a deployment that much easier
  • #20: Besides the fact that I work for Sensu, why did I choose to use it to monitor my kegerator vs something else, or building my own? I started off wanting to roll my own solution. While great, this was intimidating for someone who doesn’t code a lot. I began to think of What would the alerting do How would it function What about notifications like Slack, email, SMS, etc. I quickly realized that rolling monitoring, and something like a dashboard, would be quite the project and decided that since Sensu already does monitoring well, and gives me the ability to decide on pretty much anything when it comes to a monitoring pipeline, that anything I did would be reinventing the wheel, and not in a necessarily good way. Why else? Sensu’s plugins and extensions are easy to write. Keep in mind that this is coming from someone who’s never written any Ruby that’s been put into production. Sensu’s libraries are suuuuper easy to use and super easy to understand. Oh, and did I mention that you can write plugins in any language? Besides Ruby, you can write in Python, Powershell (I know, probably no Windows users here at a Linuxfest ;) ), or really any language that is going to provide an exit status code that adheres to the Nagios api. Now, here’s the other thing about Sensu: I can run it on pretty much any system (MacOS, Solaris, AIX, and Windows included). But in this case, I can run it on a Raspberry Pi. Now, there’s a bit of finagling that has to happen to get Sensu to work on a Raspberry Pi properly, but I’ll run you through how I got it running.
  • #21: So I’ll go through a brief overview of how Sensu works. This diagram is a simplified explanation of how all of the components of a Sensu deployment work. The hardest thing for most folks to wrap their minds around is the transport bit. This is the crux of any deployment. Without it, the server and the client can’t talk to each other. As with most other monitoring systems, there are also server and client components We also have a datastore for storing event state data, an api to programmatically interact with the datastore and server There’s also a dashboard (called Uchiwa) that allows you to have a more graphical view of what’s going on inside of your Sensu deployment
  • #22: Here’s the general gist of how everything flows when it comes to Sensu. For those that were in the workshop yesterday, this should make some sense. For those that weren’t, I’ll walk through (briefly) what happens. With Sensu 1.x, our core components for any installation are what you see in the middle on the server there: RabbitMQ Redis sensu-server/api Uchiwa So we take our raspberry pi, with some minimal Sensu configuration on it, point it at the
  • #23: Earlier, I’d mentioned that Sensu has configurable pipeline. This illustrates what I mean. What you see here are the fundamental building blocks for Sensu. Don’t worry if these don’t make sense right now. You’ll see how these work together in a few minutes. Suffice it to say that each of these elements has a role to play: Checks gather data and create events Filters only let important or relevant events come through A mutator changes data (if I need it to) And handlers tell somebody, or something to take action
  • #24: So Sensu has this concept of a plugin. Plugins are these things that allow anyone to add functionality to Sensu. In this case, the plugin that I’ve written add the ability for Sensu to monitor any sensors that we attach to the Raspberry Pi.
  • #25: So Sensu has this concept of a plugin. Plugins are these things that allow anyone to add functionality to Sensu. In this case, the plugin that I’ve written add the ability for Sensu to monitor any sensors that we attach to the Raspberry Pi.
  • #26: So Sensu has this concept of a plugin. Plugins are these things that allow anyone to add functionality to Sensu. In this case, the plugin that I’ve written add the ability for Sensu to monitor any sensors that we attach to the Raspberry Pi.
  • #27: So Sensu has this concept of a plugin. Plugins are these things that allow anyone to add functionality to Sensu. In this case, the plugin that I’ve written add the ability for Sensu to monitor any sensors that we attach to the Raspberry Pi.
  • #28: So Sensu has this concept of a plugin. Plugins are these things that allow anyone to add functionality to Sensu. In this case, the plugin that I’ve written add the ability for Sensu to monitor any sensors that we attach to the Raspberry Pi.
  • #29: So Sensu has this concept of a plugin. Plugins are these things that allow anyone to add functionality to Sensu. In this case, the plugin that I’ve written add the ability for Sensu to monitor any sensors that we attach to the Raspberry Pi.
  • #30: So Sensu has this concept of a plugin. Plugins are these things that allow anyone to add functionality to Sensu. In this case, the plugin that I’ve written add the ability for Sensu to monitor any sensors that we attach to the Raspberry Pi.
  • #31: At this point, it’s time to show how all of this works. So what I’ll do now is flip over to my Sensu instance and show off some of the magic.
  • #33: Some folks have asked how the raspberry pi communicates with Sensu Explain