Temperature and system monitoring web server
psensor-server [OPTION]...
psensor-server is an HTTP server for monitoring hardware sensors remotely.
It provides a JSON Web service which can be used by psensor(1) to monitor remotely the hardware sensors of a computer.
It can provide information about:
* the temperature of the motherboard and CPU sensors (using lm-sensors). * the temperature of the Hard Disk Drives (using hddtemp). * the rotation speed of the fans (using lm-sensors).
It is also possible to connect to the psensor-server with a browser, a simple Web page is displaying the sensors information and the CPU usage.
The URL http://hostname:3131/api/1.0/sensors/[id] returns a JSON object containing all information about a sensor. [id] is the uniq identifier of the sensor.
Here is an example of the JSON object of type 'sensor':
{ "id": "lmsensor acpitz-virtual-0 temp1",
"name": "temp1", "type": 257, "min": 47.800000, "max": 60.800000, "measures": [ { "value": 47.800000, "time": 1311374873 }, { "value": 49.800000, "time": 1311374878 }, { "value": 49.800000, "time": 1311374883 } ], "last_measure": { "value": 49.800000, "time": 1311374883 }
}
Fields of the type 'sensor':
* id: the uniq identifier of the sensor. * name: a humean readable name of the sensor (might not be uniq). * type: the type of sensor. Look at src/lib/psensor.h for the different types. * min: the minimal value of the sensor. * max: the maximal value of the sensor. * measures: all measures of the sensor. * last_measure: the last value of the sensor. * time: the time of a measure as the number of seconds since 1970/01/01.
The URL http://hostname:3131/api/1.0/sensors returns a JSON array containing all JSON objects of type 'sensor'.
psensor-server can be stopped by sending an HTTP request with the URL 'http://hostname:port/api/1.0/server/stop'.
-h, --help
display this help and exit
-v, --version
display version information and exit
-p,--port=PORT
webserver port
-w,--wdir=DIR
directory containing webserver pages
-d, --debug=LEVEL
set the debug level, integer between 0 and 3
-l, --log-file=PATH
set the log file to PATH --sensor-log-file=PATH set the sensor log file to PATH --sensor-log-interval=S set the sensor log interval to S (seconds)
Sensors can be logged using the --sensor-log-file option.
It is using a text format, each line is terminated with a NEWLINE char.
The first line is: I,%D,%V
%D is the starting time of the log expressed as the number of seconds since EPOC.
%V is the version of psensor-server.
Following lines gives the ordered list of sensors: S,%I,%T
%I is the uniq identifier of the sensor.
%T is the hexadecimal representation of the sensor type.
Then, the values of all sensors are written: %D,%V...
%D is the number of seconds elapsed since the starting time of the log.
%V... is the list separated by a comma of the current value of all sensors. The ordering is the same than the list of sensor identifiers.
The value is expressed as a float with one digit precision. Temperatures are using Celsius unit.
The value is written only if it has changed.
Example: I,1345974927,0.7.0.4 S,lmsensor coretemp-isa-0000 Physical id 0,101 S,lmsensor coretemp-isa-0000 Core 0,101 S,lmsensor coretemp-isa-0000 Core 1,101 0,37.0,37.0,36.0 5,36.0,,36.0
Five seconds after the log starts, the temperature of the second sensor (Core 0) is still 37C.
psensor-server does not provide any way to restrict the connection to the HTTP server, worst, no effort has been made against malicious HTTP attacks. You should make the psensor-server port available only to a network or computer you trust by using the usual network security tools of the system (for example, iptables(8) ).
Report bugs to: [email protected]
psensor home page: <http://wpitchoune.net/psensor>
Copyright © 2010-2012 [email protected] License GPLv2: GNU GPL version 2 or later <http://www.gnu.org/licenses/old-licenses/gpl-2.0.html>
This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.