Other articles

  1. Adding the Git Revision to a Docker Image

    Spring Boot makes it quite easy to find the Git revision of a running application. You add a Gradle plugin and the revision is added to the Actuator's info endpoint. What it doesn't do though is publish the Git revision as part of the SBOM or OCI metadata. That requires …

    read more
  2. File Name Too Long

    When trying to build the Spring Boot source code, I ran into a strange problem: The Gradle build terminated with several "File name too long" exceptions. I knew that the ext4 filesystem I was using has limits - 4064 characters for the entire path and 255 characters for each segment. But …

    read more
  3. Testing Alertmanager

    When a Prometheus alerting rule fires, the Prometheus server sends a notification to the Alertmanager, which is then responsible for processing that alert further, i.e. by routing it to an appropriate alerting channel (e-mail, Slack, ...). In order to test the Alertmanager configuration, it is useful to trigger alerts directly …

    read more
  4. Using Kubectl Printers and Plugins

    Even though we have plenty of metrics and dashboards at work, I use the kubectl command line tool a lot for looking at resources and for troubleshooting. Because the defaults don't always display the information that I need, I often use the kubectl printer mechanisms. In many cases, this is …

    read more
  5. Additional Workspaces in Gnome

    I use Gnome on Ubuntu 18.04 with static workspaces and switch between them using keyboard shortcuts - for example, ALT+1 takes me to workspace one. Unfortunately, using the graphical settings editor, I was only able to assign keyboard shortcuts to the first four workspaces. After a bit of research …

    read more
  6. Retries Can Kill You

    In a large-scale distributed system, it's inevitable that some requests will fail. Even if your collaborating systems work perfectly, sooner or later you will experience temporary network issues and other intermittent errors. That's why a lot of people try to paint over this issue by implementing retries in their applications …

    read more
  7. Prometheus and Spring Boot Health Checks

    Published: Sun 24 June 2018
    By mafr

    In java.

    When trying to set up alerting for Spring Boot services with Prometheus, I discovered the synthetic "up" time series which is great for checking whether the monitoring system can reach my service instances. While this is a great thing, I also wanted to alert on the health status of my …

    read more