Deprecated: Return type of Pimple\Container::offsetExists($id) should either be compatible with ArrayAccess::offsetExists(mixed $offset): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /data01/virt126885/domeenid/www.saksadogi.com/codegurus.eu/wp-content/plugins/ithemes-security-pro/vendor-prod/pimple/pimple/src/Pimple/Container.php on line 133

Deprecated: Return type of Pimple\Container::offsetGet($id) should either be compatible with ArrayAccess::offsetGet(mixed $offset): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /data01/virt126885/domeenid/www.saksadogi.com/codegurus.eu/wp-content/plugins/ithemes-security-pro/vendor-prod/pimple/pimple/src/Pimple/Container.php on line 98

Deprecated: Return type of Pimple\Container::offsetSet($id, $value) should either be compatible with ArrayAccess::offsetSet(mixed $offset, mixed $value): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /data01/virt126885/domeenid/www.saksadogi.com/codegurus.eu/wp-content/plugins/ithemes-security-pro/vendor-prod/pimple/pimple/src/Pimple/Container.php on line 79

Deprecated: Return type of Pimple\Container::offsetUnset($id) should either be compatible with ArrayAccess::offsetUnset(mixed $offset): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /data01/virt126885/domeenid/www.saksadogi.com/codegurus.eu/wp-content/plugins/ithemes-security-pro/vendor-prod/pimple/pimple/src/Pimple/Container.php on line 143

Deprecated: Return type of iThemesSecurity\Lib\Lockout\Execute_Lock\Context::offsetExists($offset) should either be compatible with ArrayAccess::offsetExists(mixed $offset): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /data01/virt126885/domeenid/www.saksadogi.com/codegurus.eu/wp-content/plugins/ithemes-security-pro/core/lib/lockout/execute-lock/abstract-context.php on line 60

Deprecated: Return type of iThemesSecurity\Lib\Lockout\Execute_Lock\Context::offsetGet($offset) should either be compatible with ArrayAccess::offsetGet(mixed $offset): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /data01/virt126885/domeenid/www.saksadogi.com/codegurus.eu/wp-content/plugins/ithemes-security-pro/core/lib/lockout/execute-lock/abstract-context.php on line 66

Deprecated: Return type of iThemesSecurity\Lib\Lockout\Execute_Lock\Context::offsetSet($offset, $value) should either be compatible with ArrayAccess::offsetSet(mixed $offset, mixed $value): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /data01/virt126885/domeenid/www.saksadogi.com/codegurus.eu/wp-content/plugins/ithemes-security-pro/core/lib/lockout/execute-lock/abstract-context.php on line 72

Deprecated: Return type of iThemesSecurity\Lib\Lockout\Execute_Lock\Context::offsetUnset($offset) should either be compatible with ArrayAccess::offsetUnset(mixed $offset): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /data01/virt126885/domeenid/www.saksadogi.com/codegurus.eu/wp-content/plugins/ithemes-security-pro/core/lib/lockout/execute-lock/abstract-context.php on line 76

Deprecated: Return type of iThemesSecurity\Lib\Lockout\Execute_Lock\Context::getIterator() should either be compatible with IteratorAggregate::getIterator(): Traversable, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /data01/virt126885/domeenid/www.saksadogi.com/codegurus.eu/wp-content/plugins/ithemes-security-pro/core/lib/lockout/execute-lock/abstract-context.php on line 56

Deprecated: Return type of ITSEC_Lib_Distributed_Storage_Cursor::current() should either be compatible with Iterator::current(): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /data01/virt126885/domeenid/www.saksadogi.com/codegurus.eu/wp-content/plugins/ithemes-security-pro/core/lib/class-itsec-lib-distributed-storage.php on line 578

Deprecated: Return type of ITSEC_Lib_Distributed_Storage_Cursor::next() should either be compatible with Iterator::next(): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /data01/virt126885/domeenid/www.saksadogi.com/codegurus.eu/wp-content/plugins/ithemes-security-pro/core/lib/class-itsec-lib-distributed-storage.php on line 585

Deprecated: Return type of ITSEC_Lib_Distributed_Storage_Cursor::key() should either be compatible with Iterator::key(): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /data01/virt126885/domeenid/www.saksadogi.com/codegurus.eu/wp-content/plugins/ithemes-security-pro/core/lib/class-itsec-lib-distributed-storage.php on line 606

Deprecated: Return type of ITSEC_Lib_Distributed_Storage_Cursor::valid() should either be compatible with Iterator::valid(): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /data01/virt126885/domeenid/www.saksadogi.com/codegurus.eu/wp-content/plugins/ithemes-security-pro/core/lib/class-itsec-lib-distributed-storage.php on line 613

Deprecated: Return type of ITSEC_Lib_Distributed_Storage_Cursor::rewind() should either be compatible with Iterator::rewind(): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /data01/virt126885/domeenid/www.saksadogi.com/codegurus.eu/wp-content/plugins/ithemes-security-pro/core/lib/class-itsec-lib-distributed-storage.php on line 620
Show HN: SenseThing, sensor logging and remote monitoring for Linux - CodeGurus

Show HN: SenseThing, sensor logging and remote monitoring for Linux

SenseThing provides simple tools for sensors on Linux systems. Its key features are:

– Continuous logging of system temperature, voltage, power, and clock speed data.
– Remote monitoring of the same data.

I upgraded my PC recently, and wanted to run some tests to make sure everything was running smoothly. Initially, I was running a bash script that called lm-sensors every couple of seconds while some benchmark was running. That was problematic for a few reasons:

1. lm-sensors’s output is a bit annoying to turn into a machine-friendly CSV format.
2. Nvidia GPUs don’t expose their sensor data in a way that’s supported by lm-sensors, so I actually had to invoke nvidia-smi in addition to lm-sensors to get all the data I needed.
3. Calling “sleep” periodically inside a loop resulted in inconsistent time intervals between measurements.

These problems resulted in me writing a very early version of SenseThing. The first iteration just took sensor readings from sysfs and nvidia-smi, and dumped them into a CSV file.

Then, about a week later, I was setting up a little server that’s now living under my couch. This isn’t a machine I can readily access, and I’d rather not set up an SSH session every time I want to check on it. So, I decided to add a simple HTTP server to SenseThing that lets me check the server’s temperature sensors from any other device on my LAN.

With that out of the way, I decided I might as well tidy it up so that other people might want to use. So, here it is!

Comments URL: https://news.ycombinator.com/item?id=39472485

Points: 1

# Comments: 0


Posted

in

by

Tags:

Comments

Leave a Reply