Provided by: sensord_3.3.1-2ubuntu1_amd64 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,


       -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 alarms.

       -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

              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 libsensors
              default configuration file is used.

       -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 daemon.

              Other possible facilities include local0 through local7, and 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


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

       Upon receipt of a SIGHUP, this daemon will rescan  the  kernel  interface  for  chips  and
       features, and reload the libsensors configuration file.


       All messages from this daemon are logged to syslog(3) under the program name `sensord' and
       facility daemon, 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. Assuming you set the logging facility to
       local4, 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' containing:

              # 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.

       Note that some drivers may lack support for alarm reporting even  though  the  chips  they
       support  do  have  alarms. As of Linux 2.6.23, many drivers still don't report alarms in a
       format suitable for libsensors 3.


       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


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

       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 parameters.

       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 server.

       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).


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


       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
              The system-wide syslog(3) / syslogd(8) configuration file. See  syslog.conf(5)  for
              further details.




       Sensord  was written by Merlin Hughes <>. Basics of round-robin databases
       were misappropriated from Mark D. Studebaker.