Blog Entries

26. 06. 2025 Davide Sbetti Automation, Development, Documentation, NetEye

Building (and Customizing) Documentation for Your Ansible Collections

In NetEye, we use Ansible to automate many different tasks in an idempotent way, ranging from the first installation of the system to updates and upgrades. Ansible already comes with many built-in useful modules to manage files, perform HTTPS requests and much more. Furthermore, various Ansible Collections have been developed by the community to address…

Read More
04. 03. 2025 Alessandro Valentini Automation, DevOps, Service Management

Group-aware Reboot with Ansible

Use Case During NetEye Cloud updates we typically have to handle 25+ nodes, updating both OS and Firmware and subsequently rebooting all servers, all without causing downtime. We can of course reboot one node a time, but this would be really time-consuming. The main constraints on reboot are PCS nodes and Elastic layers. In particular…

Read More
20. 12. 2024 Davide Sbetti Automation, Development, NetEye

When Less is More: NetEye Update and Upgrade Checkpoints

Hello everyone! Today, I’d like to briefly discuss an improvement to the update and upgrade procedures that we’ve started to adopt with NetEye 4.39! What we wanted to improve One aspect that made quite an impact was that whenever the update or upgrade procedure stopped, even for legitimate reasons such as rpmnew or rpmsave files,…

Read More
19. 12. 2024 Gabriele Bocchi Automation, Development, NetEye

NetEye Install and Upgrades: Moving to a Parallel Architecture

Hello everyone! Today, I’d like to share an exciting improvement we’ve made to the installation and upgrade procedures in NetEye, introducing a faster and more efficient parallel architecture! Why Modernize the Installation and Upgrade Processes? At Würth Phoenix, we strive to make NetEye not only powerful but also highly efficient and reliable for our users….

Read More
19. 12. 2024 Luigi Miazzo Automation, Development, DevOps

Embracing Idempotency: Writing Your Own Ansible Collection – From Code to Tests

Ansible is a powerful automation tool that simplifies the configuration, deployment, and management of systems. At its heart lies the concept of idempotency — the guarantee that applying the same operation any number of times will yield the same result. Writing your own Ansible collection can unlock a new level of customization and control for…

Read More
19. 09. 2024 Davide Gallo Development, DevOps

Ansible Development, Part 1.5: Building an Execution Environment in a Pipeline (CI/CD)

Hello everyone, I’m back to discuss Ansible and Ansible Execution Environments. In my previous blog, we talked about why and how execution environments are critical for a successful Ansible implementation. I hope my guide was easy to follow, but as you may have noticed, the process requires a significant amount of manual effort to keep…

Read More
11. 09. 2024 Davide Gallo Contribution, Development, DevOps

Ansible Development, Part 1: Building an Execution Environment

Right now, at Würth Phoenix, we are investing in automating most of our operations using Ansible. You’re probably already familiar with what Ansible does, but to summarize, Ansible is an open-source, command-line IT automation application written in Python. I’ve talked about it here: One challenge we faced while developing our automation scripts was that we…

Read More
30. 07. 2024 Lorenzo Candeago DevOps

Terraform Integration with Ansible

In this blog post we’ll try a tool that’s new to me, called Terraform, and see how easy it is to integrate it with Ansible starting with no knowledge of Terraform. Terraform is a tool that allows you to automate resource provisioning; it uses HCL2 as the configuration language, and support has recently been added,…

Read More
29. 07. 2024 Lorenzo Candeago DevOps

include_task vs import_task in Ansible

After updating one of our machines, we found that some of our Ansible playbooks were failing with the following error: The include module was removed in ansible 2.16, while the include warning deprecation was already present in ansible 2.12. At this point, we can choose between two possible modules to replace include: import_tasks or include_tasks….

Read More
28. 12. 2023 Davide Gallo Cloud, ITOA, NetEye

Using Jinja2 to Automate Configuration Files

As you may know, NetEye Cloud is our multi-tenant SaaS solution for monitoring your infrastructure. It’s crucial to us for keeping every tenant aligned with the latest configurations and patches. We’ve managed to automate and align the agents via Desired State Configuration (DSC) and Ansible, but we still had to manually check those agents’ configurations….

Read More
24. 12. 2023 Damiano Chini Development, DevOps, Log-SIEM, NetEye

Making ELK Updates Smoother with Configurators and Ansible

Recently (in September 2023) NetEye integrated version 8.8 of the Elastic Stack, which is just one of many Elastic updates brought into NetEye 4. Since this Elastic update there was a major upgrade (from version 7.17) coming with many breaking changes, so we, as the NetEye R&D team, wanted to make this important upgrade as…

Read More
12. 09. 2023 Davide Gallo Contribution, DevOps, NetEye

Automating Icinga 2 Deployment on Linux Systems

Currently, deploying an Icinga 2 Agent on a Linux system can be intricate, given the substantial variations in the process across different releases or OS families. For instance: Fortunately, there’s no need to develop and maintain a custom script to manage these diverse scenarios. We can leverage the readily available Ansible Plugins for this purpose….

Read More
02. 05. 2023 Davide Gallo Contribution, NetEye

Using Ansible to Automate Agent Deployment

NetEye relies on many agents in order to monitor just one server, some examples are: Icinga, Telegraf, Elastic beats, GLPI agent and so on. As a Site Reliability Engineer, I’m responsible for ensuring that all these agents run smoothly. This can involve performing repetitive and time-consuming tasks like managing configurations, deploying updates, and provisioning new…

Read More
20. 12. 2022 Lorenzo Candeago Development, DevOps

A Simple and Portable Dockerfile for Working with Azure and Ansible

For our use case, we need to be able to deploy Azure machines using Ansible from developer’s laptops and from our own CI/CD infrastructure both on Jenkins and OpenShift. The easiest way to ship a working and easy-to-use environment for our use case is to create a Docker instance: we based our Docker on rockylinux…

Read More
07. 07. 2022 Lorenzo Candeago DevOps

How to Test an ISO with Packer and Change the Root Password at Boot

In a previous blogpost, we showed how to test an ISO using Packer, an open source software tool for creating machine images for multiple platforms. One of the issues we faced was due to a security requirement we have: that the ISO we ship must have its password already expired so that when NetEye is…

Read More

Archive