<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>My gists about Observability</title><link>https://ceesbos.nl/</link><description>Recent content on My gists about Observability</description><generator>Hugo -- gohugo.io</generator><language>en-US</language><lastBuildDate>Fri, 19 Dec 2025 11:55:58 +0100</lastBuildDate><atom:link href="https://ceesbos.nl/index.xml" rel="self" type="application/rss+xml"/><item><title>Observable Framework ❤️ Downdetector</title><link>https://ceesbos.nl/posts/observable-framework-loves-downdetector/</link><pubDate>Fri, 19 Dec 2025 11:55:58 +0100</pubDate><guid>https://ceesbos.nl/posts/observable-framework-loves-downdetector/</guid><description>Incident reports are often static and lack the detail needed for deep analysis. What if you would use Observable Framework to create interactive, data-driven incident reports. By using customer impact data from DownDetector, you can build reproducible and interactive incident reports that clearly share your line of thinking.</description><enclosure length="0" type="image/jpeg" url="https://ceesbos.nl/posts/observable-framework-loves-downdetector/downdetector_and_observable_cover_hu_1a266c9e673acdc1.jpg"/></item><item><title>Challenge 2 - Observability Challenge with virtual threads</title><link>https://ceesbos.nl/posts/aocc-challenge-02/</link><pubDate>Fri, 10 Oct 2025 22:20:11 +0200</pubDate><guid>https://ceesbos.nl/posts/aocc-challenge-02/</guid><description>An Application Observability Code Challenge with &lt;code&gt;virtual threads&lt;/code&gt;. Spot the difference between system thread and virtual thread usage for the same application with some problems.</description><enclosure length="0" type="image/jpeg" url="https://ceesbos.nl/posts/aocc-challenge-02/aocc_challenge02_cover_hu_4f98a67d7adcb30d.jpg"/></item><item><title>Monitoring Buddy Hackathon - Day 3</title><link>https://ceesbos.nl/posts/monitoring-buddy-hackathon-day-3/</link><pubDate>Tue, 24 Jun 2025 15:26:58 +0200</pubDate><guid>https://ceesbos.nl/posts/monitoring-buddy-hackathon-day-3/</guid><description>The third and final day of the hackathon. During this hackathon I learned a lot about Quarkus, LangChain4j, Grafana MCP and many other things. Read this blog to read the progress of the last day and my conclusions of the hackathon.</description><enclosure length="0" type="image/jpeg" url="https://ceesbos.nl/posts/monitoring-buddy-hackathon-day-3/hackathon_day3_cover_hu_5717806d9fa12a55.jpg"/></item><item><title>Monitoring Buddy Hackathon - Day 2</title><link>https://ceesbos.nl/posts/monitoring-buddy-hackathon-day-2/</link><pubDate>Mon, 23 Jun 2025 19:38:47 +0200</pubDate><guid>https://ceesbos.nl/posts/monitoring-buddy-hackathon-day-2/</guid><description>The second day of the hackathon was a mix of activities. Next to the hackathon, we had a climbing outdoor activity. In this blog post I will share the results of the hackathon on day 2 and some pictures of the climbing activity.</description><enclosure length="0" type="image/jpeg" url="https://ceesbos.nl/posts/monitoring-buddy-hackathon-day-2/hackathon_day2_cover_hu_83bf4bd62402ae81.jpg"/></item><item><title>Monitoring Buddy Hackathon - Day 1</title><link>https://ceesbos.nl/posts/monitoring-buddy-hackathon-day-1/</link><pubDate>Sat, 21 Jun 2025 22:04:53 +0200</pubDate><guid>https://ceesbos.nl/posts/monitoring-buddy-hackathon-day-1/</guid><description>Together with my colleagues of OpenValue Utrecht we are having a hackathon at a nice place in the south of Belgium. The goal of the hackathon is to build a monitoring buddy, a chatbot that can help you with your monitoring and observability questions. I will use Quarkus, LangChain4j, Tools and MCP in combination with Observability to build this chatbot. This blog post describes the progress on Day 1.</description><enclosure length="0" type="image/jpeg" url="https://ceesbos.nl/posts/monitoring-buddy-hackathon-day-1/hackathon_day1_cover_hu_2fb916d153d889c2.jpg"/></item><item><title> Challenge 1 - step by step revealed</title><link>https://ceesbos.nl/posts/aocc-challenge-01-step-by-step/</link><pubDate>Fri, 02 May 2025 16:30:54 +0200</pubDate><guid>https://ceesbos.nl/posts/aocc-challenge-01-step-by-step/</guid><description>The first of the Application Observability Code Challenges step by step revealed. The application has some unexpected behaviour. In this post I will explain step by step what you can learn from the metrics and how you can improve the observability of the application to finally find the real problem.</description><enclosure length="0" type="image/jpeg" url="https://ceesbos.nl/posts/aocc-challenge-01-step-by-step/aocc_challenge01_revealed_cover_hu_6f9c8c2ca3f32eeb.jpg"/></item><item><title>Application Observability Code Challenge 1</title><link>https://ceesbos.nl/posts/aocc-challenge-01/</link><pubDate>Fri, 17 Jan 2025 13:29:23 +0000</pubDate><guid>https://ceesbos.nl/posts/aocc-challenge-01/</guid><description>The first of the Application Observability Code Challenges is now available. A simple Spring Boot application with a REST endpoint implemented in Jersey/JAX-RS This application has some unexpected behaviour. Can you find out what is happening based on the observability data? Can you improve the observability to prove that a fix really fixed the problems?</description><enclosure length="0" type="image/jpeg" url="https://ceesbos.nl/posts/aocc-challenge-01/aocc_challenge01_cover_hu_b2689ae086b91c83.jpg"/></item><item><title>Application Observability Code Challenges</title><link>https://ceesbos.nl/posts/application-observability-code-challenges/</link><pubDate>Fri, 10 Jan 2025 12:44:23 +0000</pubDate><guid>https://ceesbos.nl/posts/application-observability-code-challenges/</guid><description>Application Observability Code Challenges are a way to challenge yourself to improve the observability of a sample application. Of course, this application has some surprises that you probably did not expect. These challenges will help you develop an observability mindset and become more familiar with your observability tools.</description><enclosure length="0" type="image/jpeg" url="https://ceesbos.nl/posts/application-observability-code-challenges/aocc_cover_hu_474555252cee24a3.jpg"/></item><item><title>Grafana as proxy</title><link>https://ceesbos.nl/posts/grafana-as-proxy/</link><pubDate>Fri, 08 Nov 2024 14:43:23 +0000</pubDate><guid>https://ceesbos.nl/posts/grafana-as-proxy/</guid><description>Your &lt;code&gt;local development&lt;/code&gt; of a Grafana plugin or dashboard may lack representative data. Connecting to production data sources may be impossible, but there are other ways to connect. Read more to find out how to &lt;code&gt;use Grafana as a proxy&lt;/code&gt; to access the data.</description><enclosure length="0" type="image/jpeg" url="https://ceesbos.nl/posts/grafana-as-proxy/grafana_as_proxy_cover_hu_e0b365b0b30eec28.jpg"/></item><item><title>How to annotate your Grafana dashboard on a failing Checkly check</title><link>https://ceesbos.nl/posts/annotate-dashboard-on-failing-checkly-check/</link><pubDate>Wed, 04 Sep 2024 21:22:41 +0100</pubDate><guid>https://ceesbos.nl/posts/annotate-dashboard-on-failing-checkly-check/</guid><description>The &lt;code&gt;power of observability&lt;/code&gt; becomes visible when you combine signals and put it all together. Checks performed by Checkly can provide a piece of the puzzle that gives you a better view of what is happening. It would be really nice if you could &lt;code&gt;combine&lt;/code&gt; the data from &lt;code&gt;Checkly&lt;/code&gt; in the same &lt;code&gt;Grafana dashboards&lt;/code&gt; as your other observability data. This post describes how to bring it together and how to add Grafana &lt;code&gt;annotations&lt;/code&gt; to your dashboard based on Checkly results.</description><enclosure length="0" type="image/jpeg" url="https://ceesbos.nl/posts/annotate-dashboard-on-failing-checkly-check/annotate_cover_hu_ca70120ca54f44d5.jpg"/></item><item><title>Checkly and OpenTelemetry traces - part 2</title><link>https://ceesbos.nl/posts/checkly-and-opentelemetry-traces-part2/</link><pubDate>Fri, 30 Aug 2024 20:56:40 +0100</pubDate><guid>https://ceesbos.nl/posts/checkly-and-opentelemetry-traces-part2/</guid><description>Updates from Checkly Based on my previous post I have been in contact with Checkly about two parts that were not working as expected. I have some updates on these topics today. Sending traces from Checkly to Tempo In the previous post I mentioned that the traces in my Grafana environment showed root span not yet received. The root span was not available. This requires Checkly to send these spans to my environment as well.</description><enclosure length="0" type="image/jpeg" url="https://ceesbos.nl/posts/checkly-and-opentelemetry-traces-part2/checkly_traces_part2_cover_hu_af69a2252412e999.jpg"/></item><item><title>Checkly and OpenTelemetry traces</title><link>https://ceesbos.nl/posts/checkly-and-opentelemetry-traces/</link><pubDate>Wed, 21 Aug 2024 21:10:40 +0100</pubDate><guid>https://ceesbos.nl/posts/checkly-and-opentelemetry-traces/</guid><description>Checkly This week I came across Checkly, a code-first synthetic monitoring solution that can do API checks and browser checks using PlayWright. It would have saved me a lot of time if this had been around 8 years ago. At that time I was working on a project where we were doing some external checks with a vendor like Checkly, but it was all manual configuration in a web interface. And internally we had a checker tool running that did all sorts of internal checks, both HTTP checks and database checks.</description><enclosure length="0" type="image/jpeg" url="https://ceesbos.nl/posts/checkly-and-opentelemetry-traces/checkly_traces_cover_hu_59e64f662dfb9399.jpg"/></item><item><title>Replace Promtail with new Grafana Alloy</title><link>https://ceesbos.nl/posts/replace-promtail-with-alloy/</link><pubDate>Sat, 13 Apr 2024 13:45:40 +0100</pubDate><guid>https://ceesbos.nl/posts/replace-promtail-with-alloy/</guid><description>&lt;p&gt;An announcement was made at GrafanaCON. &lt;a href="https://grafana.com/blog/2024/04/09/grafana-alloy-opentelemetry-collector-with-prometheus-pipelines/"&gt;Alloy&lt;/a&gt; is introduced in the family of Grafana tools.
Alloy is an open source distribution of the OpenTelemetry Collector, but is will also replace Promtail.&lt;/p&gt;
&lt;p&gt;In the &lt;a href="https://goto.ceesbos.nl/observability-toolkit"&gt;Observability Toolkit&lt;/a&gt; I use both Promtail and OpenTelemetry Collector, so it makes sense to merge them.&lt;br&gt;
In this blog post I will replace Promtail with Alloy. In another post I will see how replacing of OpenTelemetry Collector with Alloy will look like.&lt;/p&gt;</description><enclosure length="0" type="image/jpeg" url="https://ceesbos.nl/posts/replace-promtail-with-alloy/replace_promtail_with_alloy__cover_hu_5c981874e890c451.jpg"/></item><item><title>Grafana Scenes - 10 development tips</title><link>https://ceesbos.nl/posts/grafana-scenes-development-tips/</link><pubDate>Sat, 02 Mar 2024 16:42:44 +0100</pubDate><guid>https://ceesbos.nl/posts/grafana-scenes-development-tips/</guid><description>&lt;p&gt;Grafana Scenes can enhance your experience with Grafana dashboards by bringing observability data together and guiding users to the right data.&lt;br&gt;
Combining metrics, traces and logs helps to understand the actual behavior of a system. That is the goal of observability.
If a dashboard or an app created with scenes does not give the right insights, then still the &lt;code&gt;explore&lt;/code&gt; feature of Grafana is available to dive into all data available searching for the unknown-unknown.&lt;/p&gt;</description><enclosure length="0" type="image/jpeg" url="https://ceesbos.nl/posts/grafana-scenes-development-tips/grafana_scenes_tips-cover_hu_72200926a00e16f8.jpg"/></item><item><title>Observability Toolkit</title><link>https://ceesbos.nl/posts/observability-toolkit/</link><pubDate>Fri, 26 Jan 2024 15:40:23 +0100</pubDate><guid>https://ceesbos.nl/posts/observability-toolkit/</guid><description>&lt;p&gt;&lt;strong&gt;Deep understanding of the actual behavior of a system&lt;/strong&gt; is key for me. I like to know all the details because it helps me to see the whole picture.
I am visually oriented, so tools like Grafana really help me in these situations.&lt;/p&gt;
&lt;p&gt;Observability is a topic that has come up in the last few years, but I have actually been doing this for years. But the good thing
is that it is more standardized now. I really like that.&lt;/p&gt;</description><enclosure length="0" type="image/jpeg" url="https://ceesbos.nl/posts/observability-toolkit/observability-toolkit-cover_hu_6ca42ba9b17dd2e3.jpg"/></item><item><title>Adding deployment.environment to Grafana Faro traces</title><link>https://ceesbos.nl/posts/grafana-faro-trace-with-deployment-environment/</link><pubDate>Mon, 08 Jan 2024 20:10:00 +0100</pubDate><guid>https://ceesbos.nl/posts/grafana-faro-trace-with-deployment-environment/</guid><description>&lt;p&gt;One of the great things about OpenTelemetry is the standardisation of span attributes and resource attributes.&lt;br&gt;
An example of this is &lt;code&gt;deployment.environment&lt;/code&gt;.&lt;/p&gt;</description></item><item><title>Grafana Scenes &amp; Codespaces</title><link>https://ceesbos.nl/posts/grafana-scenes-with-devcontainer-and-codespaces/</link><pubDate>Fri, 15 Dec 2023 21:45:00 +0100</pubDate><guid>https://ceesbos.nl/posts/grafana-scenes-with-devcontainer-and-codespaces/</guid><description>With Grafana Scenes it is possible to create more than just dashboards. There are options to create dashboards that guide the user. Deep dives with drill down pages can help to analyse problems. And with a feature like time range comparison it is even possible to use a feature that is not available with normal dashboards. But how do you start developing with Grafana Scenes? One trend is to develop remotely, rather than on your local machine.</description><enclosure length="0" type="image/jpeg" url="https://ceesbos.nl/posts/grafana-scenes-with-devcontainer-and-codespaces/scenes_and_codespaces_cover_hu_a4f502a27f45333b.jpg"/></item><item><title>Technical deep dive into Grafana Faro</title><link>https://ceesbos.nl/posts/technical-deep-dive-into-grafana-faro/</link><pubDate>Mon, 04 Dec 2023 22:06:00 +0100</pubDate><guid>https://ceesbos.nl/posts/technical-deep-dive-into-grafana-faro/</guid><description>As shown in my previous post you can add Grafana Faro to get more information about users who visit a website, in my case my own blog. This is how that setup looks like. But what kind of data is available now? Data sent by the browser The libraries from the Web SDK collect technical details about the browser interaction. The goal is not to track users, but to collect all sorts of technical data to see if there are problems with the web pages and what the perceived performance is for the users.</description><enclosure length="0" type="image/jpeg" url="https://ceesbos.nl/posts/technical-deep-dive-into-grafana-faro/faro-setup-cover_hu_3ff38abdc25c6d32.jpg"/></item><item><title>Blog Observability with logs and traces with Grafana Faro</title><link>https://ceesbos.nl/posts/blog-observability-with-grafana-faro/</link><pubDate>Fri, 24 Nov 2023 20:30:23 +0100</pubDate><guid>https://ceesbos.nl/posts/blog-observability-with-grafana-faro/</guid><description>&lt;p&gt;If you use &lt;a href="https://gohugo.io/"&gt;Hugo&lt;/a&gt; to create a blog or website, as I do, and you use &lt;a href="https://pages.github.com/"&gt;GitHub Pages&lt;/a&gt; to host the blog, it&amp;rsquo;s hard to get observability signals in your usual observability stack.
I have been using Grafana, Loki, Tempo and Prometheus for a long time, so using this stack makes sense to me. &lt;br&gt;
You can use Google Analytics with Hugo, but I don&amp;rsquo;t like third party cookies. If you search for &lt;code&gt;Google Analytics&lt;/code&gt; and &lt;code&gt;GDPR&lt;/code&gt; you will find quite a few articles about the concerns that exist on this topic.
But even apart from that, I like to see what I can get into the observability stack that I know.&lt;/p&gt;</description><enclosure length="0" type="image/jpeg" url="https://ceesbos.nl/posts/blog-observability-with-grafana-faro/faro-setup-cover_hu_3ff38abdc25c6d32.jpg"/></item><item><title>Sharing thoughts and experience via this Observability blog</title><link>https://ceesbos.nl/posts/start-observability-blog/</link><pubDate>Sat, 18 Nov 2023 20:13:23 +0100</pubDate><guid>https://ceesbos.nl/posts/start-observability-blog/</guid><description>&lt;p&gt;I am passionate about Observability already for a long time. Monitoring tools have been helping me already for quite some years to get insights in the behavior of a service and especially a landscape of services.
In &lt;strong&gt;2016&lt;/strong&gt; I was working at a project where we were facing a number of problems and didn&amp;rsquo;t really have a clue what was going on in our application landscape.
I suggested to work on more insights and we stared using &lt;a href="https://github.com/influxdata/telegraf"&gt;Telegraf&lt;/a&gt;, &lt;a href="https://github.com/influxdata/influxdb"&gt;InfluxDB&lt;/a&gt;, &lt;a href="https://github.com/prometheus/prometheus"&gt;Prometheus&lt;/a&gt; and &lt;a href="https://github.com/grafana/grafana"&gt;Grafana&lt;/a&gt;. Grafana &lt;em&gt;3.1&lt;/em&gt; was the first release we used.
The more metrics we put into InfluxDB the more insight we gained. We were able to move from reactive to proactive.
The load on the systems was doubling every year, so we knew we had to make sure we were prepared. And because of the insights we were able to invest in the next bottleneck so we could serve customers with the right quality.&lt;/p&gt;</description><enclosure length="0" type="image/jpeg" url="https://ceesbos.nl/posts/start-observability-blog/analysisdashboard_job_summary_cover_hu_639c467125e48574.jpg"/></item></channel></rss>