1
0
mirror of https://github.com/openbsd/src.git synced 2024-12-22 16:42:56 -08:00
openbsd-src/usr.sbin/sensorsd/sensorsd.conf.5

205 lines
6.0 KiB
Groff
Raw Normal View History

.\" $OpenBSD: sensorsd.conf.5,v 1.29 2020/02/10 13:18:22 schwarze Exp $
.\"
.\" Copyright (c) 2003 Henning Brauer <henning@openbsd.org>
.\" Copyright (c) 2005 Matthew Gream <matthew.gream@pobox.com>
.\" Copyright (c) 2007 Constantine A. Murenin <cnst@openbsd.org>
.\"
.\" Permission to use, copy, modify, and distribute this software for any
.\" purpose with or without fee is hereby granted, provided that the above
.\" copyright notice and this permission notice appear in all copies.
2005-04-01 14:15:40 -08:00
.\"
.\" THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
.\" WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
.\" MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
.\" ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
.\" WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
.\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
.\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
.\"
.Dd $Mdocdate: February 10 2020 $
.Dt SENSORSD.CONF 5
.Os
.Sh NAME
.Nm sensorsd.conf
2006-03-07 03:14:02 -08:00
.Nd configuration file for sensorsd
.Sh DESCRIPTION
The
.Nm
file is read by
.Xr sensorsd 8
to configure hardware sensor monitoring.
Each variable in the
.Xr sysctl 2
.Va hw.sensors
subtree represents a sensor.
Each sensor is matched by at most one entry in
2007-05-28 23:04:41 -07:00
.Nm ,
Major update to sensorsd. Improves support for both 'smart' (those providing sensor status) and 'old-style' sensors. Due to re-design, the following improvements are now present and many flaws are now gone: == for smart sensors == * automatically monitor all sensors that provide status by themselves, with the possibility to ignore certain individual sensors or sensors of certain type (appropriate template for sensorsd.conf is included) * report actual sensor status as provided by the driver. Previously, WARN, CRITICAL and UNKNOWN statuses were considered the same, but now they are different and will be reported separately. This also improves readability of the log-files and consistency with sysctl output. * ability to ignore status provided by the driver with the 'istatus' keyword ("ignore automatic status" or "I set the status"), with the possibility to set your own settings for acceptable limits. Previously, it was not possible to set any kind of user limits for those sensors that had their own status facilities. == for old-style sensors == * previously, lm(4)-style fans that were flagged SENSOR_FINVALID during sensorsd startup were completely ignored, but now their invalid status is appropriately reported, and they are monitored again when they come out of their invalid mode * previously, a sensor that had an empty entry in the configuration file was reported to be "within limits", but now it will not be monitored at all (unless, of cause, it provides its own status) As a bonus, sensorsd syslog entries should now be shorter, and the majority of them will fit on one line on 80-column terminals. ok beck@, henning@, deraadt@
2007-05-30 00:49:37 -07:00
which may specify high and low limits,
2007-06-04 21:10:56 -07:00
and whether sensor status changes provided by the driver should be ignored.
Each time the limits are crossed in either direction
or the status provided by the driver changes,
.Xr sensorsd 8 Ns 's
alert functionality is triggered and a command, if specified, is
executed.
.Pp
.Nm
follows the syntax of configuration databases as documented in
.Xr cgetent 3 .
2007-06-04 21:10:56 -07:00
Sensors may be specified by their full
.Va hw.sensors
.Xr sysctl 8
2007-06-04 21:10:56 -07:00
variable name or by type,
with the full name taking precedence.
For example, if an entry
.Dq hw.sensors.lm0.temp1
is not found, then an entry for
.Dq temp
will instead be looked for.
.Pp
2006-03-07 03:14:02 -08:00
The following attributes may be used:
.Pp
2006-03-07 03:14:02 -08:00
.Bl -tag -width "commandXX" -offset indent -compact
.It Li command
Specify a command to be executed on state change.
2006-03-07 03:14:02 -08:00
.It Li high
Specify the largest acceptable value.
2006-03-07 03:14:02 -08:00
.It Li low
Specify the smallest acceptable value.
Major update to sensorsd. Improves support for both 'smart' (those providing sensor status) and 'old-style' sensors. Due to re-design, the following improvements are now present and many flaws are now gone: == for smart sensors == * automatically monitor all sensors that provide status by themselves, with the possibility to ignore certain individual sensors or sensors of certain type (appropriate template for sensorsd.conf is included) * report actual sensor status as provided by the driver. Previously, WARN, CRITICAL and UNKNOWN statuses were considered the same, but now they are different and will be reported separately. This also improves readability of the log-files and consistency with sysctl output. * ability to ignore status provided by the driver with the 'istatus' keyword ("ignore automatic status" or "I set the status"), with the possibility to set your own settings for acceptable limits. Previously, it was not possible to set any kind of user limits for those sensors that had their own status facilities. == for old-style sensors == * previously, lm(4)-style fans that were flagged SENSOR_FINVALID during sensorsd startup were completely ignored, but now their invalid status is appropriately reported, and they are monitored again when they come out of their invalid mode * previously, a sensor that had an empty entry in the configuration file was reported to be "within limits", but now it will not be monitored at all (unless, of cause, it provides its own status) As a bonus, sensorsd syslog entries should now be shorter, and the majority of them will fit on one line on 80-column terminals. ok beck@, henning@, deraadt@
2007-05-30 00:49:37 -07:00
.It Li istatus
2007-06-04 21:10:56 -07:00
Ignore status provided by the driver.
2006-03-07 03:14:02 -08:00
.El
.Pp
The values for temperature sensors can be given in degrees Celsius or
Fahrenheit, for voltage sensors in volts, and fan speed sensors take a
unit-less number representing RPM.
For Boolean sensors, specify 0 for
.Qq Off
or 1 for
.Qq On .
Values for all other types of sensors can be specified
in the same units as they appear under the
.Xr sysctl 8
.Va hw.sensors
tree.
.Pp
Sensors that provide status (such as those from
2006-08-23 04:49:15 -07:00
.Xr bio 4 ,
2006-08-23 07:30:27 -07:00
.Xr esm 4 ,
or
2006-08-23 04:49:15 -07:00
.Xr ipmi 4 )
do not require boundary values specified
and simply trigger on status transitions.
If boundaries are specified nonetheless,
then they are used in addition to automatic status monitoring,
unless the
.Dq istatus
attribute is specified to ignore status values that are provided by the drivers.
.Pp
The command is executed when there is any change in sensor state.
2006-03-07 03:14:02 -08:00
Tokens in the command are substituted as follows:
.Pp
.Bl -tag -width Ds -offset indent -compact
.It %l
Whether the value exceeds or is within the user specified limits.
Can be one of: "below", "above", "within", "invalid", or "uninitialised".
.It %n
The sensor number.
.It %s
The sensor status.
.It %x
The xname of the device the sensor sits on.
.It %t
The type of sensor.
2006-03-07 03:14:02 -08:00
.It %2
The sensor's current value.
2006-03-07 03:14:02 -08:00
.It %3
The sensor's low limit.
2006-03-07 03:14:02 -08:00
.It %4
The sensor's high limit.
2006-03-07 03:14:02 -08:00
.El
Major update to sensorsd. Improves support for both 'smart' (those providing sensor status) and 'old-style' sensors. Due to re-design, the following improvements are now present and many flaws are now gone: == for smart sensors == * automatically monitor all sensors that provide status by themselves, with the possibility to ignore certain individual sensors or sensors of certain type (appropriate template for sensorsd.conf is included) * report actual sensor status as provided by the driver. Previously, WARN, CRITICAL and UNKNOWN statuses were considered the same, but now they are different and will be reported separately. This also improves readability of the log-files and consistency with sysctl output. * ability to ignore status provided by the driver with the 'istatus' keyword ("ignore automatic status" or "I set the status"), with the possibility to set your own settings for acceptable limits. Previously, it was not possible to set any kind of user limits for those sensors that had their own status facilities. == for old-style sensors == * previously, lm(4)-style fans that were flagged SENSOR_FINVALID during sensorsd startup were completely ignored, but now their invalid status is appropriately reported, and they are monitored again when they come out of their invalid mode * previously, a sensor that had an empty entry in the configuration file was reported to be "within limits", but now it will not be monitored at all (unless, of cause, it provides its own status) As a bonus, sensorsd syslog entries should now be shorter, and the majority of them will fit on one line on 80-column terminals. ok beck@, henning@, deraadt@
2007-05-30 00:49:37 -07:00
.Pp
For Boolean sensors, %2, %3, and %4 are substituted with
.Qq On
or
.Qq Off .
.Pp
Major update to sensorsd. Improves support for both 'smart' (those providing sensor status) and 'old-style' sensors. Due to re-design, the following improvements are now present and many flaws are now gone: == for smart sensors == * automatically monitor all sensors that provide status by themselves, with the possibility to ignore certain individual sensors or sensors of certain type (appropriate template for sensorsd.conf is included) * report actual sensor status as provided by the driver. Previously, WARN, CRITICAL and UNKNOWN statuses were considered the same, but now they are different and will be reported separately. This also improves readability of the log-files and consistency with sysctl output. * ability to ignore status provided by the driver with the 'istatus' keyword ("ignore automatic status" or "I set the status"), with the possibility to set your own settings for acceptable limits. Previously, it was not possible to set any kind of user limits for those sensors that had their own status facilities. == for old-style sensors == * previously, lm(4)-style fans that were flagged SENSOR_FINVALID during sensorsd startup were completely ignored, but now their invalid status is appropriately reported, and they are monitored again when they come out of their invalid mode * previously, a sensor that had an empty entry in the configuration file was reported to be "within limits", but now it will not be monitored at all (unless, of cause, it provides its own status) As a bonus, sensorsd syslog entries should now be shorter, and the majority of them will fit on one line on 80-column terminals. ok beck@, henning@, deraadt@
2007-05-30 00:49:37 -07:00
By default,
.Xr sensorsd 8
monitors status changes on all sensors that keep their state.
This behaviour may be altered by using the
.Dq istatus
2007-06-04 21:10:56 -07:00
attribute to ignore
status changes of sensors of a certain type
or individual sensors.
.Sh FILES
.Bl -tag -width /etc/examples/sensorsd.conf -compact
.It Pa /etc/sensorsd.conf
Configuration file for
.Xr sensorsd 8 .
.It Pa /etc/examples/sensorsd.conf
Example configuration file.
.El
2006-03-07 03:14:02 -08:00
.Sh EXAMPLES
In the following configuration file,
if hw.sensors.ipmi0.temp0 moves upwards beyond 80C
or downwards to 80C or less or if its status as provided by
.Xr ipmi 4
changes, the command
2006-03-07 03:14:02 -08:00
.Pa /etc/sensorsd/log_warning
will be executed,
with the sensor type, number and current value passed to it.
Alerts will be sent
if hw.sensors.lm0.volt3 moves into or out of
the range from 4.8V to 5.2V, inclusive;
if the speed of the fan attached to hw.sensors.lm0.fan1
transitions to being below or above 1000RPM;
Major update to sensorsd. Improves support for both 'smart' (those providing sensor status) and 'old-style' sensors. Due to re-design, the following improvements are now present and many flaws are now gone: == for smart sensors == * automatically monitor all sensors that provide status by themselves, with the possibility to ignore certain individual sensors or sensors of certain type (appropriate template for sensorsd.conf is included) * report actual sensor status as provided by the driver. Previously, WARN, CRITICAL and UNKNOWN statuses were considered the same, but now they are different and will be reported separately. This also improves readability of the log-files and consistency with sysctl output. * ability to ignore status provided by the driver with the 'istatus' keyword ("ignore automatic status" or "I set the status"), with the possibility to set your own settings for acceptable limits. Previously, it was not possible to set any kind of user limits for those sensors that had their own status facilities. == for old-style sensors == * previously, lm(4)-style fans that were flagged SENSOR_FINVALID during sensorsd startup were completely ignored, but now their invalid status is appropriately reported, and they are monitored again when they come out of their invalid mode * previously, a sensor that had an empty entry in the configuration file was reported to be "within limits", but now it will not be monitored at all (unless, of cause, it provides its own status) As a bonus, sensorsd syslog entries should now be shorter, and the majority of them will fit on one line on 80-column terminals. ok beck@, henning@, deraadt@
2007-05-30 00:49:37 -07:00
if any RAID volume drive
changes its status from, for example,
2006-08-23 07:30:27 -07:00
.Dq OK ,
such as in the case of drive failure, rebuild, or a complete failure,
the command
Major update to sensorsd. Improves support for both 'smart' (those providing sensor status) and 'old-style' sensors. Due to re-design, the following improvements are now present and many flaws are now gone: == for smart sensors == * automatically monitor all sensors that provide status by themselves, with the possibility to ignore certain individual sensors or sensors of certain type (appropriate template for sensorsd.conf is included) * report actual sensor status as provided by the driver. Previously, WARN, CRITICAL and UNKNOWN statuses were considered the same, but now they are different and will be reported separately. This also improves readability of the log-files and consistency with sysctl output. * ability to ignore status provided by the driver with the 'istatus' keyword ("ignore automatic status" or "I set the status"), with the possibility to set your own settings for acceptable limits. Previously, it was not possible to set any kind of user limits for those sensors that had their own status facilities. == for old-style sensors == * previously, lm(4)-style fans that were flagged SENSOR_FINVALID during sensorsd startup were completely ignored, but now their invalid status is appropriately reported, and they are monitored again when they come out of their invalid mode * previously, a sensor that had an empty entry in the configuration file was reported to be "within limits", but now it will not be monitored at all (unless, of cause, it provides its own status) As a bonus, sensorsd syslog entries should now be shorter, and the majority of them will fit on one line on 80-column terminals. ok beck@, henning@, deraadt@
2007-05-30 00:49:37 -07:00
.Pa /etc/sensorsd/drive
will be executed, with the sensor number passed to it; however,
no alerts will be generated for status changes on timedelta sensors.
For all other sensors whose drivers automatically provide
2007-06-04 21:10:56 -07:00
sensor status updates, alerts will be generated
Major update to sensorsd. Improves support for both 'smart' (those providing sensor status) and 'old-style' sensors. Due to re-design, the following improvements are now present and many flaws are now gone: == for smart sensors == * automatically monitor all sensors that provide status by themselves, with the possibility to ignore certain individual sensors or sensors of certain type (appropriate template for sensorsd.conf is included) * report actual sensor status as provided by the driver. Previously, WARN, CRITICAL and UNKNOWN statuses were considered the same, but now they are different and will be reported separately. This also improves readability of the log-files and consistency with sysctl output. * ability to ignore status provided by the driver with the 'istatus' keyword ("ignore automatic status" or "I set the status"), with the possibility to set your own settings for acceptable limits. Previously, it was not possible to set any kind of user limits for those sensors that had their own status facilities. == for old-style sensors == * previously, lm(4)-style fans that were flagged SENSOR_FINVALID during sensorsd startup were completely ignored, but now their invalid status is appropriately reported, and they are monitored again when they come out of their invalid mode * previously, a sensor that had an empty entry in the configuration file was reported to be "within limits", but now it will not be monitored at all (unless, of cause, it provides its own status) As a bonus, sensorsd syslog entries should now be shorter, and the majority of them will fit on one line on 80-column terminals. ok beck@, henning@, deraadt@
2007-05-30 00:49:37 -07:00
each time those sensors undergo status transitions.
2006-03-07 03:14:02 -08:00
.Bd -literal -offset indent
# Comments are allowed
hw.sensors.ipmi0.temp0:high=80C:command=/etc/sensorsd/log_warning %t %n %2
hw.sensors.lm0.volt3:low=4.8V:high=5.2V
hw.sensors.lm0.fan1:low=1000
Major update to sensorsd. Improves support for both 'smart' (those providing sensor status) and 'old-style' sensors. Due to re-design, the following improvements are now present and many flaws are now gone: == for smart sensors == * automatically monitor all sensors that provide status by themselves, with the possibility to ignore certain individual sensors or sensors of certain type (appropriate template for sensorsd.conf is included) * report actual sensor status as provided by the driver. Previously, WARN, CRITICAL and UNKNOWN statuses were considered the same, but now they are different and will be reported separately. This also improves readability of the log-files and consistency with sysctl output. * ability to ignore status provided by the driver with the 'istatus' keyword ("ignore automatic status" or "I set the status"), with the possibility to set your own settings for acceptable limits. Previously, it was not possible to set any kind of user limits for those sensors that had their own status facilities. == for old-style sensors == * previously, lm(4)-style fans that were flagged SENSOR_FINVALID during sensorsd startup were completely ignored, but now their invalid status is appropriately reported, and they are monitored again when they come out of their invalid mode * previously, a sensor that had an empty entry in the configuration file was reported to be "within limits", but now it will not be monitored at all (unless, of cause, it provides its own status) As a bonus, sensorsd syslog entries should now be shorter, and the majority of them will fit on one line on 80-column terminals. ok beck@, henning@, deraadt@
2007-05-30 00:49:37 -07:00
drive:command=/etc/sensorsd/drive %n
timedelta:istatus #ignore status changes for timedelta
2006-03-07 03:14:02 -08:00
.Ed
.Sh SEE ALSO
.Xr cgetent 3 ,
.Xr bio 4 ,
.Xr ipmi 4 ,
2006-03-07 03:14:02 -08:00
.Xr sensorsd 8 ,
.Xr sysctl 8
.Sh HISTORY
The
.Nm
file format first appeared in
.Ox 3.5 .
The format was altered in
.Ox 4.1
to accommodate hierarchical device-based sensor addressing.
The
.Dq istatus
attribute was introduced in
.Ox 4.2 .
.Sh CAVEATS
Alert functionality is triggered every time there is a change in sensor state;
for example, when
.Xr sensorsd 8
is started,
the status of each monitored sensor changes
from undefined to whatever it is.
One must keep this in mind when using commands
that may unconditionally perform adverse actions (e.g.\&
.Xr shutdown 8 ) ,
as they will be executed even when all sensors perform to specification.
If this is undesirable, then a wrapper shell script should be used instead.