Monitoring Blog
Release announcements, technical guides and monitoring insights from the ConSol team.
Introduction to TimescaleDB
Wednesday, October 31, 2018 in Insights
Our world is full of various processes: tracking of goods delivery, currencies trading, monitoring of server resources, hotel bookings, selling goods or services etc. Since these processes occur over time, they can be described by time series data. Successful businesses always take advantage of their data by analyzing it and then making predictions (e.g. predicting volume of sales for the next month) and business decisions (e.g. if the volume of sales grows then additional goods need to delivered to a warehouse). There are a number of technologies for analysing the time series data. This article gives an introduction to one of them which is called TimescaleDB which is an open source solution for time series data analysis based on battle-tested PostgreSQL DBMS. TL;DR Machines get smarter …
OMD 2.80 Labs Edition Released
Monday, October 29, 2018 in Insights
OMD Labs Edition 2.80 has been released today. The OMD Labs Edition is based on the standard OMD but adds some more useful addons like Grafana and Prometheus or additional cores like Icinga 2 and Naemon. This release updates many of the shiped components and adds some more usefull features. Whats new Updates All components have been updated to their latest stable releases including Thruk 2.24 Naemon 1.0.8 Icinga 2 2.9.2 Grafana 5.3.2 Prometheus 2.4.3 New platforms supported This OMD release comes with new prebuild packages for Fedora 28 and Ubuntu 18.04. SELinux Support On Centos and redhat SELinux is now supported and you don’t have to disable SELinux anymore to run OMD. Improved OS Updates Previous releases could not be uninstalled without removing all sites using that version. This …
JavaZone Video: Prometheus Monitoring without Modifying Source Code Using Java Agents and Byte Buddy
Friday, September 14, 2018 in Insights
The Prometheus monitoring tool follows a white-box monitoring approach: Applications actively provide metrics about their internal state, and the Prometheus server pulls these metrics from the applications using HTTP. If you can modify the application’s source code, it is straightforward to instrument an application with Prometheus metrics: Add the Prometheus client library as a dependency, call that library to maintain the metrics, and use the library to expose the metrics via HTTP. However, DevOps teams do not always have the option to modify the source code of the applications they are running. At this year’s JavaZone conference, Fabian Stäber did a talk on how to instrument Java Web Applications with Prometheus metrics without modifying the application’s source code. Prometheus …
Eclipse MicroProfile - Microservices with Java EE
Monday, September 10, 2018 in Insights
As the number of microservice based architectures continues to grow, development teams are facing new challenges when choosing the adequate tools for the job. At the technical level, the decisions need to be made considering the features of both: the cloud or container platform that is going to be used for the deployment and the runtime that will be used by the software. The infrastructure needs to be aware of the health and metrics of the software and the software itself must make the most of the infrastructure by tolerating failures and being able to handle configuration changes. There are numerous solutions for the individual challenges but the lack of an enterprise level blueprint actually paved the way for Eclipse Microprofile. Eclipse Microprofile is an open source initiative that …
Arch Linux for Devs
Monday, June 18, 2018 in Insights
This report is about the experience, I’ve made with Arch Linux as the operating system for a developers workstation. You’ll be introduced into the concepts of Arch Linux, followed by a introduction into the main tasks such as package installation and OS maintenance. At the end, I’ll discuss why I think that Arch Linux is a great OS for developers, and finish with a conclusion. Introduction First of all, I’d like to avoid the typical OS comparison statements like “Linux is better than Windows”, “Mac is better than Linux” or “Windows is better than Mac”. If the operating system suites your personal requirements, it is the right choice for you. There is, as in so many aspects in life, no absolute “better” choice. Please note that this article is nevertheless based on my personal opinion and …
Setting up the Prometheus Operator with Ansible on a Kubeadm Kubernetes Cluster
Friday, June 08, 2018 in Insights
Prometheus is a popular monitoring tool based on time series data. One of the strengths of Prometheus is its deep integration with Kubernetes. Kubernetes components provide Prometheus metrics out of the box, and Prometheus’s service discovery integrates well with dynamic deployments in Kubernetes. There are multiple ways how to set up Prometheus in a Kubernetes cluster. There’s an official Prometheus Docker image, so you could use that and create the Kubernetes YAML files from scratch (which according to Joe Beda is not totally crazy). There is also a helm chart. And there is the Prometheus Operator, which is built on top of the CoreOS operator framework. This blog post shows how to get the Prometheus Operator up and running in a Kubernetes cluster set up with kubeadm. We use Ansible to …
Backup and Restore a Kubernetes Master with Kubeadm
Friday, May 25, 2018 in Insights
Kubeadm is a basic toolkit that helps you bootstrap a simple Kubernetes cluster. It is intended as a basis for higher-level deployment tools, like Ansible playbooks. A typical Kubernetes cluster set-up with kubeadm consists of a single Kubernetes master, which is the machine coordinating the cluster, and multiple Kubernetes nodes, which are the machines running the actual workload. Dealing with node failure is simple: When a node fails, the master will detect the failure and re-schedule the workload to other nodes. To get back to the desired number of nodes, you can simply create a new node and add it to the cluster. In order to add a new node to an existing cluster, you first create a token on the master with kubeadm token create, then you use that token on the new node to join the …
CIFS Flexvolume Plugin for Kubernetes
Friday, May 11, 2018 in Insights
This blog post shows how to use CIFS (a.k.a. SMB, Samba, Windows Share) network filesystems as Kubernetes volumes. Docker containers running in Kubernetes have an ephemeral file system: Once a container is terminated, all files are gone. In order to store persistent data in Kubernetes, you need to mount a Persistent Volume into your container. Kubernetes has built-in support for network filesystems found in the most common cloud providers, like Amazon’s EBS, Microsoft’s Azure disk, etc. However, some cloud hosting services, like the Hetzner cloud, provide network storage using the CIFS (SMB, Samba, Windows Share) protocol, which is not natively supported in Kubernetes. Fortunately, Kubernetes provides Flexvolume, which is a plugin mechanism enabling users to write their own drivers. There …
Machine Learning and ConSol CM
Friday, April 20, 2018 in Insights
ConSol CM brings BPM to a CRM system. In-house ConSol CM is used to process cases of a wide range of types. Amongst others it also maps the sales process. For that purpose a new sales case is created automatically or manually every time a sales opportunity or lead comes up. To these cases, information can be added concerning the communication with the customer, the origin of the opportunities and others. Within a research and development project the scope was to predict the success for open sales cases, using machine learning algorithms. This way, sales employees would know already in an early stage if the opportunity most probably will be successful or how to adapt their strategy during the sales process to increase the chances for success. At the end of the sales process, the employee …
Docker Headless VNC Container 1.3.0 Released
Tuesday, April 03, 2018 in Insights
Docker Headless VNC Container 1.3.0 has been released today. The different Docker images contains a complete VNC based, headless UI environment for testautomation like Sakuli does or simply for web browsing and temporary work in a throw-away UI container. The functionality is pretty near to a VM based image, but can be started in seconds instead of minutes. Each Docker image has therefore installed the following components: Desktop environment Xfce4 or IceWM VNC-Server (default VNC port 5901) noVNC - HTML5 VNC client (default http port 6901) Browsers: Mozilla Firefox Chromium For more information about the usage take a look at github.com/ConSol/docker-headless-vnc-container. Updates for Version 1.3.0 change default USER to 1000 (#61) refactor vnc startup script (#73) add help option …