A Cloud Challenge: Keep Track Of Your Inventory
Managing agile software deployment for cloud infrastructure can be challenging. Deployments should be automated whenever possible to ensure consistent version management. Nevertheless, it can happen that identical software versions are not deployed to all servers.
Such imperfect version management is a potential time-bomb. Distributed systems and microservices often rely on the deployment of the exact same software version installed on every cluster node. Unexpected problems can come up hours, days, or weeks later, once differences in software packages start to cause issues for end-users or DevOps. Every system administrator has seen situations where the team wonders why sometimes things work but other times they do not. The reason for such unexpected application behavior is often caused by different software versions getting deployed to different machines unbeknownst to those in charge of the infrastructure. Another common issue arises when software is deployed to machines with insufficient resources.
For humans, it’s very hard to keep track of installed packages when packages are updated by multiple mechanisms like automation tools, which are typically used for regular deployments, security patches, often triggered by cron jobs, or hotfixes installed manually by an administrator. Software updates and file changes could also be a part of a cyber attack and tracking all software installations and changes in critical directories is a must for everybody concerned about security. Sematext Cloud helps track such things and complements the existing Centralized Log Management and Infrastructure Monitoring with new Inventory Monitoring.
Automated Inventory Monitoring
The procedure of having an up-to-date hardware and software inventory, but also finding differences between packages and servers can be very time-consuming. One needs to find all software packages for each relevant host and compare hundreds of packages and versions on several different, dynamically deployed machines. Can’t it be automated, making this important aspect of DevOps work simpler?
Now it can! Sematext Agent can now collect the following system information:
- Unique identifier of the system
- OS version
- Kernel version
- Java virtual machine version
- System type (bare metal, virtual machine, container)
- Total memory size
- Memory slot information
- Total disk size
- Disk drives information
In addition, Sematext Agent automatically discovers information about installed software packages like the installation source, package name, and package version. Package events are sent to the Events Stream where you can see who installed or uninstalled what package, as well as where and when it happened.
Events in Sematext Cloud
Sematext Inventory View
The new Inventory View in Sematext Cloud, provides the necessary tooling to enable you to efficiently track your infrastructure inventory.
You can track all hardware configurations (number of CPUs, memory, storage capacity, etc.) and installed software packages and related changes for all machines. Even the difficult task of comparing package listings and system properties between two machines is covered. A quick check where software is deployed and which version is running where can be done with the integrated package search functionality.
Compare package versions on two different hosts
The Inventory View, first and foremost, presents an overview of package counts, OS distributions, OS versions, and kernel versions. From there you can search, or group packages by machines or group hosts by deployed packages. A search filter helps you focus on a specific set of packages, operating system versions or package managers. Most Linux package managers such as “apt” and “yum” are supported as well as the Node.js package manager, npm.
If you are already using Sematext Cloud just install or update the Sematext Monitoring Agent and wait a minute until the data arrives.