Provided by: sensord_2.9.2-5ubuntu3_i386 bug


       sensord - Sensor information logging daemon.


       sensord [ options ] [ chips ]


       Sensord  is  a  daemon  that  can  be  used  to periodically log sensor
       readings from hardware health-monitoring chips to syslog(3) or a round-
       robin database (RRD) and to alert when a sensor alarm is signalled; for
       example, if a fan fails, a temperature limit is exceeded, etc.

       Sensord  knows  about  certain  chips,  and  outputs  nicely  formatted
       readings  for  them; but it can also display the information of unknown
       chips, as long as libsensors(3) knows about them.


       -i, --interval time
              Specify the interval between scanning  for  sensor  alarms;  the
              default is to scan every minute.

              The  time should be specified as a raw integer (seconds) or with
              a suffix ‘s’ for seconds, ‘m’ for minutes or ‘h’ for hours;  for
              example, the default interval is ‘60’ or ‘1m’.

              Specify  an interval of zero to suppress scanning explicitly for

       -l, --log-interval time
              Specify the interval between logging all  sensor  readings;  the
              default is to log all readings every half hour.

              The time is specified as before; e.g., ‘30m’.

              Specify  an  interval  of  zero  to  suppress logging of regular
              sensor readings.

       -t, --rrd-interval time
              Specify the interval between logging all sensor  readings  to  a
              round-robin  database;  the default is to log all readings every
              five minutes if a round-robin database is configured.

              The time is specified as before; e.g., ‘5m’.

       -T, --rrd-no-average
              Specify that the round-robin database should not be averaged.

       -r, --rrd-file file
              Specify a round-robin database into  which  to  log  all  sensor
              readings;  e.g.,  ‘/var/log/sensord.rrd’.  This database will be
              created if  it  does  not  exist.  By  default,  no  round-robin
              database is used.

              See the section ROUND ROBIN DATABASES below for more details.

       -c, --config-file file
              Specify  a  libsensors(3)  configuration  file.  If  no  file is
              specified, the name ‘sensors.conf’ is used.

              If the sensors configuration name does not contain  a  directory
              separator,  the  following  paths  are  searched  for  the file:
              ‘/etc’,      ‘/usr/lib/sensors’,       ‘/usr/local/lib/sensors’,
              ‘/usr/lib’, ‘/usr/local/lib’.

       -p, --pid-file file
              Specify what PID file to write; the default is to write the file
              ‘/var/run/’. You should always  specify  an  absolute
              path here. The file is removed when the daemon exits.

       -f, --syslog-facility facility
              Specify  the  syslog(3)  facility  to  use  when  logging sensor
              readings and alarms; the default is to use local4.

              Other possibile facilities include local0 through local7, daemon
              or user.

       -g, --rrd-cgi directory
              Prints  out  a  sample  rrdcgi(1) CGI script that can be used to
              display graphs of recent sensor information in a Web  page,  and
              exits.  You  must  specify  the  world-writable,  Web-accessible
              directory where the graphs should  be  stored;  the  CGI  script
              assumes  that  this  will  be  accessed  under  the  ‘/sensord/’
              directory  on  the  Webserver.  See  the  section  ROUND   ROBIN
              DATABASES below for more details.

       -a, --load-average
              Include  the  load  average in the RRD database. You should also
              specify this flag when you create the CGI script.

       -d, --debug
              Prints a small amount of additional debugging information.

       -h, --help
              Prints a help message and exits.

       -v, --version
              Displays the program version and exits.


       To restrict the devices that  are  scanned  by  this  daemon,  you  may
       optionally  specify  a  list  of  chip names. By default, all available
       chips are scanned.

       A typical chip name would be ‘w83782d-*’ (you may want  to  escape  the
       ‘*’  for your shell) which would scan any W83782D chips on any bus. See
       sensors.conf(5) for more details. Another option is to simply not  load
       the sensor modules for chips in which you have no interest.


       Upon  receipt  of  a  SIGTERM  (see  signal(7) for details) this daemon
       should gracefully shut down.


       All messages from this daemon are logged to syslog(3) under the program
       name  ‘sensord’  and  facility  local4, or whatever is specified on the
       command line.

       Regular sensor readings are logged  at  the  level  info.   Alarms  are
       logged  at the level alert.  Inconsequential status messages are logged
       at the minimum level, debug, when debugging is enabled.

       You can use an appropriate  ‘/etc/syslog.conf’  file  to  direct  these
       messages  in  a  useful  manner.  See  syslog.conf(5) for full details,
       however the following is a sample configuration:

              # Sample syslog.conf entries
              *.info;...;local4.none;local4.warn  /var/log/messages
              local4.alert                        /dev/console
              local4.alert                        *

       The first line ensures that regular  sensor  readings  do  not  clutter
       ‘/var/log/messages’;   we   first   say   ‘local4.none’   to  eliminate
       informational messages;  then  ‘local4.warn’  to  enable  warnings  and
       above.  The  second  line  says  to  log all regular sensor readings to
       ‘/var/log/sensors’; the leading hyphen ‘-’ means that this file is  not
       flushed after every message. The final two lines ensure that alarms are
       printed to the system console as well as to  all  connected  users  (in
       addition to ‘/var/log/messages’ and ‘/var/log/sensors’).


       On  a  typical  system  with  a  good sensor chip, expect about 2KB per
       sensor reading in the log file. This works out at about 3MB per  month.
       You  should  be  rotating your syslog files anyway, but just to be sure
       you’ll want to use  something  like  logrotate(8)  or  equivalent.  You
       might,   for   example,  want  an  entry  in  ‘/etc/logrotate.d/syslog’

              # Sample logrotate.d entry
              /var/log/sensors {
                      /usr/sbin/killall -HUP syslogd

       Note, of course, that you want to restart syslogd(8) and not sensord(8)


       Alarms  generally  indicate  a  critical  condition; for example, a fan
       failure or an unacceptable temperature or voltage. However, some sensor
       chips  do  not  support alarms, while others are incorrectly configured
       and may signal alarms incorrectly.

       Typically, an alarm will only be signaled once, even  if  the  critical
       condition persists. This means that it is very easy to miss an alarm!

       In  other cases, however, uninteresting alarms (e.g., chassis intrusion
       detection)  will  be   repeated   continuously.   You   can   configure
       libsensors(3)  to  ignore  unwanted  sensor  reading  such  as these by
       placing an ‘ignore’ entry in the appropriate chip-specific  section  of
       the sensors.conf(5) configuration file.

       For example, I have the following entry:

              # Sample /etc/sensors.conf entry
              chip "w83782d-*"
                  ignore "alarms"

       In  this  case,  ‘alarms’ was the sensor label reported in the relevant
       sensor log message.

       Alternatively, you may be able to reset the alarm with your BIOS.


       If you see ‘(beep)’ beside any sensor reading,  that  just  means  that
       your   system  is  configured  to  issue  an  audio  warning  from  the
       motherboard if an alarm is signalled on that sensor.


       Sensord(8) provides support for storing sensor  readings  in  a  round-
       robin  database.  This  may  be  a  useful  alternative  to  the use of

       Round-robin databases are constant-size databases that can be  used  to
       store,  for  example,  a  week’s  worth  of sensor readings. Subsequent
       readings stored in the database will overwrite readings that are over a
       week  old. This capability is extremely useful because it allows useful
       information to be stored in an easily-accessible manner  for  a  useful
       length of time, without the burden of ever-growing log files.

       The  rrdtool(1)  utility  and  its associated library provide the basic
       framework  for  the  round-robin  database  beneath   sensord(8).    In
       addition,  the  rrdcgi(1) and rrdgraph(1) utilities provide support for
       generating graphs of these data for display in a Web page.

       If you wish to use the default configuration of  round-robin  database,
       which  holds one week of sensor readings at five-minute intervals, then
       simply start sensord(8) and specify where you want the database stored.
       It  will  automatically  be  created and configured using these default

       If you wish readings to be stored for a longer period, or want multiple
       readings  to  be  averaged  into  each  database  entry,  then you must
       manually create and configure the database before starting  sensord(8).
       Consult  the  rrdcreate(1)  manual  for details. Note that the database
       must match exactly the names and order of sensors read  by  sensord(8).
       It  is  recommended  that  you create the default database and then use
       rrdinfo(1) to obtain this information, and/or rrdtune(1) to change  it.

       After  creating  the round-robin database, you must then configure your
       Web server to display the sensor information.  This  assumes  that  you
       have  a  Web  server  preconfigured  and  functioning  on your machine.
       Sensord(8) provides a command-line option --rrd-cgi to generate a basic
       CGI  script to display these graphs; you can then customize this script
       as desired.  Consult the rrdcgi(1) manual for details. This CGI  script
       requires a world-writable, Web-accessible directory into which to write
       the graphs that it generates.

       An example of how to set up  Web-accessible  graphs  of  recent  sensor
       readings follows:

              sensord --log-interval 0 \
                --load-average \
                --rrd-file /var/log/sensord.rrd

       Here,  we  start  sensord(8)  and  configure  it to store readings in a
       round-robin database; note that we disable logging of  sensor  readings
       to syslog(3), and enable logging of the load average.

              mkdir /var/www/sensord
              chown www-data:staff /var/www/sensord
              chmod a=rwxs /var/www/sensord

       Here,  we  create  a  world-writable, Web-accessible directory in which
       graphs will be stored; we set the ownership  and  permissions  on  this
       directory  appropriately.  You  will have to determine the location and
       ownership that is appropriate for your machine.

              sensord --load-average \
                --rrd-file /var/log/sensord.rrd \
                --rrd-cgi /var/www/sensord \
                > /usr/lib/cgi-bin/sensord.cgi
              chmod a+rx /usr/lib/cgi-bin/sensord.cgi

       Here, we create a CGI script that will display sensor readings from the
       database.   You  must specify the location of the round-robin database,
       the location of the directory where the images should  be  stored,  and
       whether you want the load average displayed. The --rrd-cgi command-line
       parameter causes sensord(8) to display a suitable CGI script on  stdout
       and  then  to  exit.  You will need to write this script to the CGI bin
       directory of your  Web  server,  and  edit  the  script  if  the  image
       directory  you  chose  is  not  the  ‘/sensord/’  directory of your Web

       Finally, you should be able to view your sensor readings from  the  URL


       It  is  expected  that  all required sensor modules are loaded prior to
       this daemon being started. This can either be achieved  with  a  system
       specific  module  loading scheme (e.g., listing the required modules in
       the file ‘/etc/modules’ under  Debian)  or  with  explicit  modprobe(1)
       commands in an init script before loading the daemon.

       For  example,  a  ‘sensord’  initialization script might contain (among
       others) the following commands:

              # Sample init.d scriptlet
              echo -n "Loading AMD756 module: "
              modprobe i2c-amd756 || { echo Fail. ; exit 1 ; }
              echo OK.
              echo -n "Loading W83781D module: "
              modprobe w83781d || { echo Fail. ; exit 1 ; }
              echo OK.
              echo -n "Starting sensord: "
              daemon sensord

       Ignore the platform-specific shell functions; the general  idea  should
       be fairly clear.


       Errors  encountered by this daemon are logged to syslogd(8) after which
       the daemon will exit.


       Sensord doesn’t yet cope with the flipped alarm bits on AS99127F chips.
       Round-robin  database  support  doesn’t cope with multiple sensor chips
       having duplicate sensor labels.


              The   system-wide   libsensors(3)   configuration   file.    See
              sensors.conf(5) for further details.
              The  system-wide  syslog(3) / syslogd(8) configuration file. See
              syslog.conf(5) for further details.






       Sensord was written by Merlin Hughes <>. Chip-specific
       formatting  code  was  ripped  from  sensors which was written by Frodo
       Looijaard  <>.  Basics  of  round-robin   databases   were
       misappropriated from Mark D. Studebaker.