| 1 | .\" $OpenBSD: sensorsd.conf.5,v 1.18 2007/08/14 17:10:02 cnst Exp $ |
| 2 | .\" $DragonFly: src/usr.sbin/sensorsd/sensorsd.conf.5,v 1.3 2007/12/25 12:54:50 hasso Exp $ |
| 3 | .\" |
| 4 | .\" Copyright (c) 2003 Henning Brauer <henning@openbsd.org> |
| 5 | .\" Copyright (c) 2005 Matthew Gream <matthew.gream@pobox.com> |
| 6 | .\" Copyright (c) 2007 Constantine A. Murenin <cnst@FreeBSD.org> |
| 7 | .\" |
| 8 | .\" Permission to use, copy, modify, and distribute this software for any |
| 9 | .\" purpose with or without fee is hereby granted, provided that the above |
| 10 | .\" copyright notice and this permission notice appear in all copies. |
| 11 | .\" |
| 12 | .\" THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES |
| 13 | .\" WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF |
| 14 | .\" MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR |
| 15 | .\" ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES |
| 16 | .\" WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN |
| 17 | .\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF |
| 18 | .\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. |
| 19 | .\" |
| 20 | .Dd December 25, 2007 |
| 21 | .Dt SENSORSD.CONF 5 |
| 22 | .Os |
| 23 | .Sh NAME |
| 24 | .Nm sensorsd.conf |
| 25 | .Nd configuration file for sensorsd |
| 26 | .Sh DESCRIPTION |
| 27 | The |
| 28 | .Nm |
| 29 | file is read by |
| 30 | .Xr sensorsd 8 |
| 31 | to configure hardware sensor monitoring. |
| 32 | Each sensor registered in the system |
| 33 | is matched by at most one entry in |
| 34 | .Nm , |
| 35 | which may specify high and low limits, |
| 36 | and whether sensor status changes provided by the driver should be ignored. |
| 37 | If the limits are crossed or if the status provided by the driver changes, |
| 38 | .Xr sensorsd 8 Ap s |
| 39 | alert functionality is triggered and a command, if specified, is |
| 40 | executed. |
| 41 | .Pp |
| 42 | The |
| 43 | .Nm |
| 44 | file follows the syntax of configuration databases as documented in |
| 45 | .Xr getcap 3 . |
| 46 | Sensors may be specified by their full |
| 47 | .Va hw.sensors |
| 48 | .Xr sysctl 8 |
| 49 | variable name or by type, |
| 50 | with the full name taking precedence. |
| 51 | For example, if an entry |
| 52 | .Va hw.sensors.lm0.temp1 |
| 53 | is not found, then an entry for |
| 54 | .Dq Li temp |
| 55 | will instead be looked for. |
| 56 | .Pp |
| 57 | The following attributes may be used: |
| 58 | .Pp |
| 59 | .Bl -tag -width ".Li command" -offset indent -compact |
| 60 | .It Li command |
| 61 | Specify a command to be executed on state change. |
| 62 | .It Li high |
| 63 | Specify an upper limit. |
| 64 | .It Li low |
| 65 | Specify a lower limit. |
| 66 | .It Li istatus |
| 67 | Ignore status provided by the driver. |
| 68 | .El |
| 69 | .Pp |
| 70 | The values for temperature sensors can be given in degrees Celsius or |
| 71 | Fahrenheit, for voltage sensors in volts, and fan speed sensors take a |
| 72 | unit-less number representing RPM. |
| 73 | Values for all other types of sensors can be specified |
| 74 | in the same units as they appear under the |
| 75 | .Xr sysctl 8 |
| 76 | .Va hw.sensors |
| 77 | tree. |
| 78 | .Pp |
| 79 | Sensors that provide status |
| 80 | do not require boundary values specified |
| 81 | and simply trigger on status transitions. |
| 82 | If boundaries are specified nonetheless, |
| 83 | then they are used in addition to automatic status monitoring, |
| 84 | unless the |
| 85 | .Dq Li istatus |
| 86 | attribute is specified to ignore status values that are provided by the drivers. |
| 87 | .Pp |
| 88 | The command is executed when there is any change in sensor state. |
| 89 | Tokens in the command are substituted as follows: |
| 90 | .Pp |
| 91 | .Bl -tag -width indent -offset indent -compact |
| 92 | .It Li %x |
| 93 | the |
| 94 | .Va xname |
| 95 | of the device the sensor sits on |
| 96 | .It Li %t |
| 97 | the type of sensor |
| 98 | .It Li %n |
| 99 | the sensor number |
| 100 | .It Li %2 |
| 101 | the sensor's current value |
| 102 | .It Li %3 |
| 103 | the sensor's low limit |
| 104 | .It Li %4 |
| 105 | the sensor's high limit |
| 106 | .El |
| 107 | .Pp |
| 108 | By default, |
| 109 | .Xr sensorsd 8 |
| 110 | monitors status changes on all sensors that keep their state. |
| 111 | This behaviour may be altered by using the |
| 112 | .Dq Li istatus |
| 113 | attribute to ignore |
| 114 | status changes of sensors of a certain type |
| 115 | or individual sensors. |
| 116 | .Sh FILES |
| 117 | .Bl -tag -width ".Pa /etc/sensorsd.conf" |
| 118 | .It Pa /etc/sensorsd.conf |
| 119 | Configuration file for |
| 120 | .Xr sensorsd 8 . |
| 121 | .El |
| 122 | .Sh EXAMPLES |
| 123 | In the following configuration file, |
| 124 | if |
| 125 | .Va hw.sensors.lm0.temp0 |
| 126 | transitions 80C, the command |
| 127 | .Pa /etc/sensorsd/log_warning |
| 128 | will be executed, |
| 129 | with the sensor type, number and current value passed to it. |
| 130 | Alerts will be sent |
| 131 | if |
| 132 | .Va hw.sensors.lm0.volt3 |
| 133 | transitions to being within or outside |
| 134 | a range of 4.8V and 5.2V; |
| 135 | if the speed of the fan attached to |
| 136 | .Va hw.sensors.lm0.fan1 |
| 137 | transitions to being below or above 1000RPM; |
| 138 | however, no alerts will be generated for status changes on |
| 139 | timedelta sensors. |
| 140 | For all other sensors whose drivers automatically provide |
| 141 | sensor status updates, alerts will be generated |
| 142 | each time those sensors undergo status transitions. |
| 143 | .Bd -literal -offset indent |
| 144 | # Comments are allowed |
| 145 | hw.sensors.lm0.temp0:high=80C:command=/etc/sensorsd/log_warning %t %n %2 |
| 146 | hw.sensors.lm0.volt3:low=4.8V:high=5.2V |
| 147 | hw.sensors.lm0.fan1:low=1000 |
| 148 | timedelta:istatus #ignore status changes for timedelta |
| 149 | .Ed |
| 150 | .Sh SEE ALSO |
| 151 | .Xr getcap 3 , |
| 152 | .Xr lm 4 , |
| 153 | .Xr sensorsd 8 , |
| 154 | .Xr sysctl 8 |
| 155 | .Sh HISTORY |
| 156 | The |
| 157 | .Nm |
| 158 | file format first appeared in |
| 159 | .Ox 3.5 . |
| 160 | The format was altered in |
| 161 | .Ox 4.1 |
| 162 | to accommodate hierarchical device-based sensor addressing. |
| 163 | The |
| 164 | .Dq Li istatus |
| 165 | attribute was introduced in |
| 166 | .Ox 4.2 . |
| 167 | .Sh CAVEATS |
| 168 | Alert functionality is triggered every time there is a change in sensor state; |
| 169 | for example, when |
| 170 | .Xr sensorsd 8 |
| 171 | is started, |
| 172 | the status of each monitored sensor changes |
| 173 | from undefined to whatever it is. |
| 174 | One must keep this in mind when using commands |
| 175 | that may unconditionally perform adverse actions (e.g.\& |
| 176 | .Xr shutdown 8 ) , |
| 177 | as they will be executed even when all sensors perform to specification. |
| 178 | If this is undesirable, then a wrapper shell script should be used instead. |