feat: CPU Temperature Monitoring for Hosts#1352
Open
thiagoalcav wants to merge 2 commits intomoghtech:mainfrom
Open
feat: CPU Temperature Monitoring for Hosts#1352thiagoalcav wants to merge 2 commits intomoghtech:mainfrom
thiagoalcav wants to merge 2 commits intomoghtech:mainfrom
Conversation
|
Nice addition, +1 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Motivation
This pull request introduces native CPU temperature monitoring for hosts within the Komodo ecosystem. Previously, users might have relied on external tools like Beszel or other standalone monitoring systems to keep an eye on hardware thermals. By integrating this directly into Komodo, we provide a more unified management experience, allowing users to monitor both their containers and their host's hardware health in a single pane of glass.
Changes
Backend & Core
komodo_client: Added an optionalcpu_tempfield toSystemStats(real-time) andSystemStatsRecord(historical) entities.periphery: Implemented thermal sensor collection in the stats polling loop using thesysinfocrate. It automatically filters for components labeled "core", "package", or "cpu" and reports the maximum temperature found to represent the host's thermal state accurately.core: Updated the monitoring logic to receive and persist CPU temperature data in the database (FerretDB/Postgres).Frontend (UI)
StatCellcomponent with a progress bar and dynamic coloring:StatCellto support custom suffixes (like°C), and optimized column widths across the dashboard to accommodate the new metric without horizontal scrolling.Technical Details
sysinfointegration for zero overhead and maximum portability.Screenshots (Internal validation)