.. _platform-logs:

Logs
----

.. index:: log;log list
.. index:: log;log purge
.. index:: log;log audit
.. index:: log;log event

.. _20.1.1|VOSS-724|EKB-5806:
.. _21.3-PB3|EKB-12892:

The system maintains a comprehensive list of logs under ``/var/log``:

* The ``platform/`` directory has logs pertaining the general platform or to specific 
  log types.

  * ``apps.log`` contains application and process control logging
  * ``audit.log`` a log type available if enabled with **log audit locallog on** -
    contains audit log information
  * ``database.log`` contains database logs spawned by |VOSS Automate| transactions
  * ``dockerd.log`` contains logs spawned by the Docker container management daemon
  * ``backup.log`` contains all logging pertaining to backups - available after the first backup
  * ``cluster.log`` contains all control level management of the cluster
  * ``cluster_check.log`` contains output of **cluster check** command.
    Run **cluster check** to have the latest cluster check information logged to
    ``cluster_check.log`` - see: :ref:`cluster_check`.
  * ``config.log`` contains information relating to the platform-level configuration
  * ``event.log`` a log type available if enabled with **log event locallog on** -
    contains event log information
  * ``execute.log`` contains low-level information about command execution
  * ``notifications.log`` contains information relating to SNMP notifications
  * ``reports.log`` contains information relating to system reports. Refer to the Scheduling
    section on how reports can be created.
  * ``security.log`` contains information relating to user security
  * ``security_install_GUI.log`` contains information relating to user graphical interface security
  * ``security_update.log`` contains information relating to security updates
  * ``ui.log`` contains higher-level information relating to UI commands being executed.
  * ``wsgi.log`` contains information relating to API-level commands via the WSGI server

* The ``provision/`` directory contains logs relating to provisioning.
  Every module provision is logged to component log files.

* The ``health/`` directory contains health logs.
  These are stored automatically every half hour, or whenever health is run, and 
  are of the format ``health/summary_report-<date>-<time>``.

* The ``process/`` directory contains process logs instrumental in debugging particular processes.
  All of the output from each process is logged to an individual file ``process/<application>.<process>.log``

* The ``install/`` directory contains logs detailing the install process.
* The ``mongodb/`` directory contains logs relating to the Database function.
* The ``nginx/`` directory contains logs relating to the WebProxy function.
* The ``voss-deviceapi/`` directory contains logs relating to the Application function. For example, ``voss-deviceapi/cnf_collector.log`` is the Change Notification Collector log.
* The ``billing-data-extract/`` directory contains service logs relating to the Billing Data Extract module, if installed. For example, ``callback.log``, ``extractor.log``, ``notifier.log``, ``scheduler.log``.
* The ``nbi-api/`` directory contains logs relating to the Billing Data Extract module API, if installed.
* The ``voss-portal/`` directory contains nginx logs relating to the portal interface.
* The ``insights-voss-sync/`` directory contains real time and transaction logs relating to the sync of data for insights
* The ``insights-api/`` directory contains logs for the insights API.

**log list [<search_string>]** is used to display a list of logs, optionally matching ``search_string``.
For example:

::

   platform@clusternode:~$ log list alternatives.log
   selfservice/alternatives.log
   voss-deviceapi/alternatives.log
   nginx/alternatives.log
   mongodb/alternatives.log
   alternatives.log

The main log rotation scripts will rotate log files only when files exceed 100M or if the disk 
containing ``/var/log/`` is over 80% full. This is checked once per hour. The system will attempt to 
keep 5 historic zipped files of each log.  If the disk containing ``/var/log`` is over 90% full, 
files will be purged to ensure that the system continues to function.

* 100M size logs:

  * ``mongodb/*.log``
  * ``nginx/*.log``
  * ``selfservice/*.log``
  * ``voss-deviceapi/*.log``
  * ``insights-voss-sync/*.log``  

* 10M size logs, with 7-day log rotation:

  * logs in ``/var/log/process/*log`` and ``/var/log/platform/*log``

* 35-day log rotation:

  * ``/var/log/syslog``

* 1-hour log rotation:

  * ``insights-voss-sync/*.log``  


All rotated log files and log files exceeding 1GB can be purged manually
with **log purge**.









.. |VOSS Automate| replace:: VOSS Automate
.. |Unified CM| replace:: Unified CM
