Zabbix in the Munich subway

Zabbix blog shares a very inspiring post “Zabbix in the subway. Munich Transport Corporation Case Study“, which shows how Zabbix is used for the monitoring of the trains and trams in Munich. Here are some implementation details to get you started:

Currently, there are 3796 devices monitored by the Zabbix server, which in turn houses the MySQL database and the web front-end. This server is operated virtually with 8 CPU’s and 32GB RAM supported by SAS storage system. 105818 items are queried by the Zabbix server from those devices, where 23820 triggers detect whether certain items deviate from their target state. This results in 298.48 NVPS with an average of approx. 7 people (actively) using the system concurrently. General overview:
* Each device inside a tram/subway is treated as a host and is monitored for availability.
* Each tram/subway is managed as a host group.
* Host groups are nested and organized by the tram/subway lines (using the host group nesting feature introduced in Zabbix 3.2).
* All devices depend on the connectivity of the MRCU (Mobile Radio Control Unit in subways) or LTE router (LTE G4 Connectivity in trams)
* Maps are automatically created for each tram/subway (using the Zabbix API).
* Maps use sub-maps to link to a specific tram/subway view.

There’s also a video from the Zabbix conference, presenting the case study.

Earthquakes of the 20th Century


National Oceanic and Atmospheric Administration (NOAA) has this excellent visualization of the earthquakes recorded between January 1, 1901 and Decemeber 31, 2000. Each earthquake is shown as a circle, where the size indicates the strength and the color indicates the depth. Interesting, how most of these make up lines, showing the tectonic plate borders.

StackOverflow: Developer Survey Results 2019

This year’s results for StackOverflow Developer Survey are in. This is probably the largest survey of IT professionals, with nearly 90,000 participating this year.

As always, there are plenty of insightful findings and correlations in the results. But one that I was somewhat glad to see was the attitude towards Blockchain technology.

While the mainstream media continues to confuse Blockchain with cryptocurrencies, technical people do understand the difference. And the majority (29.2% + 26.2% = 55.4%) of the survey respondents think it is useful for a variety of things outside of the cryptocurrency.

And with all the hype around cryptocurrencies and Blockchain, the majority of the organizations are not working with the technology just yet. Furthermore, of those that do work with Blockchain, the majority is NOT using it for the cryptocurrency.

That is pretty close to my mental picture of what’s going on.

How to disable IPv6 on CentOS / RHEL 7

Sometimes I miss the good old days …

Recently, I had an issue with one of the servers, where a bunch of services were attaching to IPv6 ports instead of the IPv4 ones. Rather than editing the configuration of each of these services, I wanted to simply disabled IPv6 on the machine.

In the old good days, things like these were easily done via the sysctl. I surely tried that option too, but it wasn’t enough. Turns out, the proper way these days is to do this via Grub, as per this blog post:

  1. Vim /etc/default/grub file
  2. Change: GRUB_CMDLINE_LINUX=”ipv6.disable=1 crashkernel=auto rhgb quiet”
  3. Regenerate and overwrite Grub config with: grub2-mkconfig -o /boot/grub2/grub.cfg
  4. Reboot.

That sounds a bit too excessive. But then again a reboot is also required for the proper disabling of SELinux, so I guess its’ fine.

Chrome Extensions: PHP Console and JavaScript Errors Notifier

Here are a couple of handy Google Chrome extensions that I came across the other day.

PHP Console

PHP Console can display PHP errors and var dumps in the Google Chrome Developer Console and notification popups. It can also execute PHP code remotely, with the help of this server side library.

JavaScript Errors Notifier

JavaScript Errors Notifier lets you know of any JavaScript errors either with an icon highlight, or with a popup window. This makes things a lot easier to notice.

You Don’t Need jQuery

You Don’t Need jQuery is a GitHub repository with a collection of code snippets that show how to do the most common jQuery bits in native JavaScript. The collection covers a whole range of subjects, like:

  • Query selector
  • CSS and style
  • DOM manipulation
  • AJAX
  • Events
  • Promises
  • Animations
  • … and more.

All examples should work just fine in all modern browsers.

Additionally, have a look at the You Might Not Need jQuery website.

Zabbix 4.2 is out!

Zabbix 4.2 has been released and it brings an impressive array of new features and improvements. Some of these are:

  • Built-in support of Prometheus data collection
  • Efficient high-frequency monitoring
  • Validation of collected data and error handling
  • Preprocessing data with JavaScript
  • Test preprocessing rules from UI
  • Test media type from Web UI
  • Support of TimescaleDB
  • Simplified tag management
  • More flexible auto-registration
  • Support for HTML emails
  • Animations and easy external services access on network maps
  • Extracting data from HTTP headers (like authentication tokens)
  • Non-destructive resizing and reordering of dashboard widgets
  • … and a lot more

If you were waiting for a good reason to upgrade – this is it!