.. highlight:: rst

.. _scsohlog:

########
scsohlog
########

**Connect to the messaging and collect all information sent from connected
clients.**


Description
===========

scsohlog connects to the messaging and collects all information sent from connected
clients. It creates an XML file and writes that to disc at a configurable interval.
That output can be read by any consumer and converted to the desired output.


Example
=======

Create an output XML file every 60 seconds and execute a custom script to process
that XML file.

.. code-block:: sh

   #!/bin/sh
   scsohlog -o stat.xml -i 60 --script process-stat.sh

You can also preconfigure these values:

.. code-block:: sh

   monitor.output.file = /path/to/stat.xml
   monitor.output.interval = 60
   monitor.output.script = /path/to/script.sh


.. _scsohlog_configuration:

Module Configuration
====================

| :file:`etc/defaults/global.cfg`
| :file:`etc/defaults/scsohlog.cfg`
| :file:`etc/global.cfg`
| :file:`etc/scsohlog.cfg`
| :file:`~/.seiscomp/global.cfg`
| :file:`~/.seiscomp/scsohlog.cfg`

scsohlog inherits :ref:`global options<global-configuration>`.



.. confval:: monitor.output.interval

   Default: ``60``

   Type: *uint*

   Unit: *s*

   The output interval in seconds.


.. confval:: monitor.output.file

   Default: ``@LOGDIR@/server.xml``

   Type: *string*

   The output XML file.


.. confval:: monitor.output.script

   Type: *string*

   The script to execute.
   Example: \@CONFIGDIR\@\/scripts\/scsohlog_script.sh.



Command-Line Options
====================

.. program:: scsohlog

:program:`scsohlog [options]`


Generic
-------

.. option:: -h, --help

   Show help message.

.. option:: -V, --version

   Show version information.

.. option:: --config-file file

   The alternative module configuration file. When this option
   is used, the module configuration is only read from the
   given file and no other configuration stage is considered.
   Therefore, all configuration including the definition of
   plugins must be contained in that file or given along with
   other command\-line options such as \-\-plugins.

.. option:: --plugins arg

   Load given plugins.

.. option:: -D, --daemon

   Run as daemon. This means the application will fork itself
   and doesn't need to be started with \&.

.. option:: --auto-shutdown arg

   Enable\/disable self\-shutdown because a master module shutdown.
   This only works when messaging is enabled and the master
   module sends a shutdown message \(enabled with
   \-\-start\-stop\-msg for the master module\).

.. option:: --shutdown-master-module arg

   Set the name of the master\-module used for auto\-shutdown.
   This is the application name of the module actually
   started. If symlinks are used, then it is the name of
   the symlinked application.

.. option:: --shutdown-master-username arg

   Set the name of the master\-username of the messaging
   used for auto\-shutdown. If \"shutdown\-master\-module\" is
   given as well, this parameter is ignored.


Verbosity
---------

.. option:: --verbosity arg

   Verbosity level [0..4]. 0:quiet, 1:error, 2:warning, 3:info,
   4:debug.

.. option:: -v, --v

   Increase verbosity level \(may be repeated, e.g., \-vv\).

.. option:: -q, --quiet

   Quiet mode: no logging output.

.. option:: --component arg

   Limit the logging to a certain component. This option can
   be given more than once.

.. option:: -s, --syslog

   Use syslog logging backend. The output usually goes to
   \/var\/lib\/messages.

.. option:: -l, --lockfile arg

   Path to lock file.

.. option:: --console arg

   Send log output to stdout.

.. option:: --debug

   Execute in debug mode.
   Equivalent to \-\-verbosity\=4 \-\-console\=1 .

.. option:: --log-file arg

   Use alternative log file.


Messaging
---------

.. option:: -u, --user arg

   Overrides configuration parameter :confval:`connection.username`.


.. option:: -H, --host arg

   Overrides configuration parameter :confval:`connection.server`.


.. option:: -t, --timeout arg

   Overrides configuration parameter :confval:`connection.timeout`.


.. option:: -g, --primary-group arg

   Overrides configuration parameter :confval:`connection.primaryGroup`.


.. option:: -S, --subscribe-group arg

   A group to subscribe to.
   This option can be given more than once.

.. option:: --content-type arg

   Overrides configuration parameter :confval:`connection.contentType`.

   Default: ``binary``


.. option:: --start-stop-msg arg

   Default: ``0``

   Set sending of a start and a stop message.


Output
------

.. option:: -o, --file file

   The output XML file.

.. option:: -i, --interval arg

   The output interval in seconds.

.. option:: --script arg

   The script to execute. Example: path\/scsohlog_script.sh.

