RSSAmplifier

Blog

Jelle Smet

smetj.netRSS feed ↗44 posts

Latest posts

Cutting through slop with minimal time and attention

We are living in the attention economy more than ever. While algorithms initially used human-made content to captivate our attention, they are now bombarding us with AI generated slop. What tools can we apply to cut through this and extract the essence saving precious time and attention. AI generated slop …

Its for your own safety

When the automated safety features in your car take over, could they actually be putting you and others at risk? Ultimately, the driver is still responsible, even when these systems intervene on your behalf. An unexpected near-miss Recently, while driving on a provincial road in Belgium I use daily, I …

Clai - True or False

Intro Clai is a CLI tool to interact with large language models (LLMs). One of my goals was to have the ability to feed data into it and evaluate true or false statements such that it can be used to implement complex logic in Bash scripts or pipelines, such as …

From Couch to Trail: A Beginner's Hiking Adventure

What is there to know about starting to hike? Slip into your comfiest shoes, step out the door, and off you go for a leisurely stroll. Sure, it's a simple, delightful way to start. Yet, if you yearn for something more adventurous — a day spent wandering through nature off the …

A trekker's best friends

Old friends A little over a year ago, I found myself faced with the inevitable task of parting ways with my beloved Timberland all-leather hiking shoes. They had faithfully accompanied me on countless adventures, but time had taken its toll, and they had begun to show signs of wear and …

Diagnostics-TK Part 2: An incident starts with answers

Introduction Whenever an outage occurs and the incident handling process begins, the first responders and incident commander should be able to start their work as well-informed as possible. Having clarity about the situation is key to keeping in control of the incident from the get-go. Clarity enables good decision making …

Diagnostics-TK Part 1: Running diagnostic checks during incidents

Introduction During incidents triggered by alerting on black box monitors or symptomatic metrics such as RED metrics 1 , an interesting behavior often emerges. The responding engineers start to execute various diagnostic checks (aka troubleshooting) to get an understanding of what exactly is happening. There might be various reason for that …

Productivity hacks - Keeping track of user questions on Slack

Keeping track of user questions on Slack

Productivity Hacks - Search results

Short articles to describe productivity hacks I

Exploring Prometheus metrics using Xpectd.

When exploring and experimenting with Prometheus its often hard to tell with certainty whether the outcomes of your queries are actually correct. Probably a reason might be that it's not always straightforward to have a predictable set of metrics at hand. Such a data set would at least give a …

Deploying AWS Lambdas with Terraform

After reading the comments of this Hackernews post I noticed that a sentiment people seem to share is that Terraform isn't really suited to deploy AWS Lambdas . Whether that's true or not I'll leave that up to you to decide. Nevertheless I have been using a simple Terraform recipe which …

TermFunk: Bridging the gap between Python and the terminal

If you have been a systems engineer or sysadmin for some time you have probably written and gathered a collection of shell scripts to solve your day to day chores. Shell is a powerful language but (arguably) it's syntax is arcane and scripts can become hard to read and maintain …

Building a notification system part 3: Dropbox

Dropbox is a file hosting service operated by American company Dropbox, Inc., headquartered in San Francisco, California, that offers cloud storage, file synchronization, personal cloud, and client software. In this article we will cover how to integrate Dropbox webhooks into the Wishbone based notification system we have built and configured …

Building a notification system part 2: Travis CI

Travis CI is a hosted, distributed continuous integration service used to build and test software projects hosted at GitHub. Travis CI can notify you about your build results through email, IRC, chat or custom webhooks. In this article we will cover how to integrate the Travis custom webhooks into the …

Building a notification system part 1: Base system

I would like to have a notification system on my phone and laptop to receive messages from various service events in order to keep track of events which require my attention. So why not use Twitter and Wishbone to create a Twitter bot which does exactly what I need? Abstract …

Azure Queue Storage input module

Microsoft's Azure Queue Storage service provides cloud messaging between application components. Queue storage delivers asynchronous messaging for communication between application components, whether they are running in the cloud, on the desktop, on an on-premises server, or on a mobile device. Queue storage also supports managing asynchronous tasks and building process …

Wishbone release 3.1.0

Wishbone 3.1.0 release. Documentation https://wishbone.readthedocs.io Downloads Download release directly from Github: https://github.com/smetj/wishbone/releases/tag/3.1.0 Download updated Docker container: smetj/wishbone:3.1.0 Builds and testing https://travis-ci.org/smetj/wishbone Release notes Features: Added wishbone.module.output …

Wishbone release 3.0.3

Wishbone 3.0.3 release. Documentation https://wishbone.readthedocs.io Downloads Download release directly from Github: https://github.com/smetj/wishbone/releases/tag/3.0.3 Download updated Docker container: smetj/wishbone:3.0.3 Builds and testing https://travis-ci.org/smetj/wishbone Highlights Input modules always require a native_event …

An introduction to the wishbone-input-httpserver module

In this article we will explore the current version of wishbone-input-httpserver a Wishbone input module to receive events over http(s). Introduction Wishbone-input-httpserver is a wishbone input module to receive events over the http protocol. A typical use-case is to accept and process webhook payloads. Once the payload is received …

Archiving Twitter likes

I use Twitter to keep track of the latest tech information by following a tailored list of hash tags and people. When interesting information is shared, I like to have the possibility to archive the content for later retrieval. Liking a tweet is the closest thing Twitter offers to bookmark …

Quis custodiet ipsos custodes: Monitoring a poll-based monitoring solution

Your monitoring platform is susceptible to failure pretty much like any other component within your infrastructure. Having your monitoring monitored is a topic you should consider spending some time on. In this article we will cover how you can use Wishbone to cross check your monitoring setup and alert an …

Go with the flow: Wishbone flow modules

Wishbone servers are all about event flow flexibility. In this article we will cover the role of the different built-in flow modules and how to shape the flow of events along with some practical examples. Table of Contents What are flow modules? Examples Fanout Funnel Fresh Roundrobin Switch Tippingbucket Final …

Processing webhooks using Wishbone Part 2: Pagerduty Webhooks

In a previous article we covered how to accept and validate webhook data using Wishbone . In this article we will take things a step further by processing Pagerduty webhook events and convert them into Nagios external commands. Our goal Pagerduty is a platform for Enterprise-grade incident management that helps orchestrate …

Processing webhook events using Wishbone Part 1: Accept and validate

Many service providers offer webhooks as a means to integrate their service into another system. Webhooks are basically a form of callbacks which can be used to trigger functionality somewhere else. In the case of webhooks this is usually done by submitting some sort structured data like JSON into a …

Exceptions as a feature

Wishbone modules process and transport messages in one way or the other. Obviously, this needs to happen as reliable as possible. Wishbone has a particular way of dealing with exceptions . In this article we cover the role unhandled code exceptions can play and how we can take advantage of them …

Running Alertmachine under Docker

In a previous article I wrote about managing Naemon and Nagios alerts with Alertmachine . In this article I will cover how you can run a fully operational Alertmachine container in a matter of minutes using Docker. [1] Docker Docker is an open source project to pack, ship and run any …

An alternative way of handling Nagios and Naemon alerts

Nagios based monitoring frameworks organize alerting by associating contacts to host and service objects. This is not a very flexible approach and quickly starts to become a pain to maintain. Alertmachine is a framework using easy to understand and flexible alert rules to process alert events outside the Nagios based …

Submit Elasticsearch metrics to Graphite

If you're running an Elasticsearch cluster you might want to keep track of the metrics it produces. In this article I explain how you can aggregate the metrics of an Elasticsearch cluster and submit them to Graphite. Prerequisites You need to have following software installed: Main software (installable from Pypi …

Anything to MQTT

In this blog post I would like to demonstrate the how easy it is to setup a Wishbone server which allows you to send data from bash to a MQTT broker. To install Wishbone you can follow the instructions found in the project documentation . Our setup Have a server up …

Submit Nagios metrics to Graphite with ModGearman and MetricFactory revisited

When it comes down to monitoring Nagios is still the weapon of choice for many. I would have abandoned it if there weren't projects like Livestatus , Mod_Gearman and Thruk which to my opinion should never be missing from any Nagios setup. Mod_Gearman, the framework which makes Nagios scalable, has a …

Load balance and high availability patterns using Wishbone

In this article I would like to explore the possibilities of creating a TCP based event proxy which balances events to one or more TCP backends. For this we will run through a couple of scenarios in which we highlight different approaches. Installation For the below mentioned scenarios we need …

Testing Graphite with MetricFactory revisited

In this post we revisit a previously posted article on how we can test and stress test a Graphite setup. This is basically a rewrite of that article since the Wishbone and MetricFactory software have meanwhile changed enough to dedicate a new article to it. Our end-goal still stands. We …

Installing PyPy with Gevent and virtualenv on Fedora

PyPy has been on my radar for a while but I have never really brought myself to the point of actually trying it. Recently, a notification caught to my attention stating PyPy 2.0.2 was released and had support to run Gevent. Good news! I was looking at speed …

Submit Nagios metrics to Graphite with ModGearman and MetricFactory

This article is superseded Read Submit Nagios metrics to Graphite with ModGearman and MetricFactory revisited instead. When it comes down to monitoring Nagios is still the weapon of choice for many. I would have abandoned it if there weren't projects like Livestatus , Mod_Gearman and Thruk which to my opinion should …

Testing Graphite with MetricFactory

This article is superseded Read Testing Graphite with MetricFactory revisited instead. Graphite is great. Not only because it's a great piece of software but also because of the community around it which brings forth all kinds of metrics goodness. Although it's pretty straightforward to get Graphite up and running on …

Consume, process and produce data with Wishbone and RabbitMQ

When I first came in touch with the messaging concept it was some kind of a revelation. Ever since many solutions I work on involve message brokers one way or the other. Because of that, a design pattern occurred hence the need for a Python framework allowing me to easily …

Using MetricFactory to get Hadoop metrics into Graphite.

Without metrics we're flying blind and that's very much the case with Hadoop . Hadoop is a well known framework to build reliable, scalable and distributed computing clusters. The Hadoop framework is a complex environment which "out of the box" hardly offers any metrics oversight on how the different components are …

Working with Moncli part2: Creating a simple request

In our previous post we have covered how to create an example plugin which allows you to generate the size of directories as a metric. A plugin on itself doesn't do that much at all. When a plugin is executed it returns the values of that very moment. Executing a …

Moncli 0.2.5

A new version of Moncli is released: Version 0.2.5 This release fixes 1 important bug and introduces a new feature: Fixed bug which resulted in a growing number of never closing Moncli processes. Writing to a logfile is replaced by writing to syslog only. It is advised to …

Working with Moncli part1: Creating a plugin

Producing data In the previous 2 posts we had an introduction about Moncli and we have seen how to consume Moncli data (reports) from the Message broker with Krolyk and process them. Now its time to let Moncli generate some data we can work with. In the next couple of …

Moncli 0.2.4

A new version of Moncli is released: This release immediately follows the 0.2.3 release to fix 2 issues which got unnoticed during that release: Moncli doesn't submit valid json data to the broker. traceback module not loaded Both issues have been tackled. For support please post a message …

Consuming Moncli data from RabbitMQ using Krolyk

What's in a name? Before we go into more detail on how to execute plugins, manipulate and evaluate data with Moncli we first have to take a look how we are going to consume the data produced by Moncli from RabbitMQ. I found myself quite often in the situation where …

Moncli - An introduction

One of the classic tasks one has to deal with when working with a monitoring framework is have the ability to retrieve metrics from an OS or server which aren't available just like that over the network. There are plenty of different techniques and a multitude of clients available which …

Monitoring and metric collection across teams.

There' s currently a lot of activity going on the monitoring and metrics collection landscape and I couldn't be more happy about that as it's on of those things which also keep me busy in a professional way. When looking at the growth of information, blogs and projects I can …