Introduction

In most monitoring environments, maps are still static. Markers are placed manually. Changes require manual updates. Visual layers are disconnected from real-time data.
This project changes that.

Using Checkmk as the data collection layer, I built a system that automatically creates, updates, and removes geographic objects based on wildfire data.
Each fire becomes a dynamic object with live metadata, location, and status, all generated and managed without user intervention.
The result is a continuously updating geographic layer that reflects the real state of the field.


How it works

A custom Checkmk special agent collects structured data from fogos.pt. The data includes location, operational resources, timestamps, and status.
A Python module processes this information and writes directly into a geographic database.

For each incident, the system:

  • Validates GPS coordinates
  • Assigns a unique ID
  • Creates a new object with structured metadata
  • Updates the object as new data arrives
  • Deletes it when no longer relevant

This keeps the map in sync with the real world without manual configuration.

automated wildfire object creation


Why this matters

The value is not in consuming data. The value is in transforming it into automated, real-time geographic visibility.
By embedding this logic inside a Checkmk-based monitoring workflow, the map becomes a live reflection of field activity.
It is not just a visual reference but an operational tool that adapts to the data as it changes.


What you see

The images show wildfire incidents automatically positioned on the map:

  • Each object is color-coded by severity and includes contextual metadata.
  • No markers were placed manually.
  • No visual elements were configured by hand.
  • Everything is generated by automation.

automated wildfire object creation - normal status automated wildfire object creation - warning status automated wildfire object creation - critical status


Components

  • agent_fogos_tabela.py is a Checkmk special agent that collects and structures the data.
  • worldmap_sync.py handles object creation, updates, and removal using Python.

The system integrates directly into Checkmk’s plugin and discovery structure.

If you work with monitoring, geospatial data, or need dynamic field visibility powered by Checkmk, I’d be happy to exchange ideas.

Elicarlos Dias
Elicarlos Dias

As a DevOps Consultant Trainee at Lynxmind, he is building a strong foundation in automation, CI/CD and cloud infrastructure. With a hands-on approach and a drive to grow, he supports the team in streamlining processes and enhancing system reliability.