Metadata-Version: 2.1
Name: alignak-module-mongo-logs
Version: 1.1.0
Summary: Alignak - Broker module for the monitoring logs, directy store to Mongo DB
Home-page: https://github.com/Alignak-monitoring-contrib/alignak-modules-mongo-logs
Author: Frédéric Mohier
Author-email: frederic.mohier@alignak.net
License: GNU Affero General Public License, version 3
Keywords: alignak monitoring module logs
Platform: UNKNOWN
Classifier: Development Status :: 5 - Production/Stable
Classifier: Environment :: Console
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: System Administrators
Classifier: License :: OSI Approved :: GNU Affero General Public License v3 or later (AGPLv3+)
Classifier: Natural Language :: English
Classifier: Programming Language :: Python
Classifier: Topic :: System :: Monitoring
Classifier: Topic :: System :: Systems Administration
Description-Content-Type: text/x-rst

Alignak Log MongoDB Module
==========================

**Note** that this module is only useful to get the Alignak monitoring logs in a Mongo DB if you do not use the Alignak backend

-----

*Alignak module for the monitoring logs*

.. image:: https://travis-ci.org/Alignak-monitoring-contrib/alignak-module-mongo-logs.svg?branch=develop
    :target: https://travis-ci.org/Alignak-monitoring-contrib/alignak-module-mongo-logs
    :alt: Develop branch build status

.. image:: https://landscape.io/github/Alignak-monitoring-contrib/alignak-module-mongo-logs/develop/landscape.svg?style=flat
    :target: https://landscape.io/github/Alignak-monitoring-contrib/alignak-module-mongo-logs/develop
    :alt: Development code static analysis

.. image:: https://codecov.io/gh/Alignak-monitoring-contrib/alignak-module-mongo-logs/branch/develop/graph/badge.svg
    :target: https://codecov.io/gh/Alignak-monitoring-contrib/alignak-module-mongo-logs
    :alt: Development code tests coverage

.. image:: https://badge.fury.io/py/alignak_module_mongo_logs.svg
    :target: https://badge.fury.io/py/alignak-module-mongo-logs
    :alt: Most recent PyPi version

.. image:: https://img.shields.io/badge/License-AGPL%20v3-blue.svg
    :target: http://www.gnu.org/licenses/agpl-3.0
    :alt: License AGPL v3

Installation
------------

The installation of this module will copy some configuration files in the Alignak default configuration directory (eg. */usr/local/etc/alignak*). The copied files are located in the default sub-directory used for the modules (eg. *arbiter/modules*).

From PyPI
~~~~~~~~~
To install the module from PyPI:
::

   sudo pip install alignak-module-mongo-logs


From source files
~~~~~~~~~~~~~~~~~
To install the module from the source files (for developing purpose):
::

   git clone https://github.com/Alignak-monitoring-contrib/alignak-module-mongo-logs
   cd alignak-module-mongo-logs
   sudo pip install . -e


Short description
-----------------

This module for Alignak collects the monitoring logs (alerts, notifications, ...) to log them into a collection of a Mongo DB.

This module was back-ported from the Shinken `mod-mongo-logs` but it does not manage the availability for hosts and services.

Configuration
-------------

Once installed, this module has its own configuration file in the */usr/local/etc/alignak/arbiter/modules* directory.
The default configuration file is *mod-mongo-logs.cfg*. This file is commented to help configure all the parameters.

To configure Alignak broker to use this module:

- edit your broker daemon configuration file
- add the `module_alias` parameter value (`logs`) to the `modules` parameter of the daemon

To configure this module for Mongo DB:

- edit the module configuration file to set the MongoDB parameters

Metrics
-------

This module is able to push metrics to an external TSDB (Graphite, InfluxDB). Configure the metrics parameters in the configuration:
::

   ; --------------------------------------------------------------------
   ; Module internal metrics
   ; Export module metrics to a statsd server.
   ; By default at localhost:8125 (UDP) with the alignak prefix
   ; Default is not enabled
   ; --------------------------------------------------------------------
   ;statsd_host = localhost
   ; For StatsD
   ;statsd_port = 8125
   ; For Graphite
   ;statsd_port = 2004
   ; Default
   ;statsd_prefix=alignak
   ; Use this prefix to use the alignak name in the metrics hierarchy
   ;statsd_prefix=%(alignak_name)s.modules
   ; Default is disabled
   ;statsd_enabled = 0
   ;graphite_enabled = 0
   ; --------------------------------------------------------------------


Available metrics:

- `committed-logs` counts the DB commited logs
- `monitoring-event-got.%s` counts the detected events
- `monitoring-event-ignored.%s` counts the ignored events (not DB commited)
- `queue-size` is the module message queue size. If greater than 1, it indicates a module overload because the queue should be emptied on each loop turn
- `managed-broks-time` is the broks management duration on each loop turn

**Note** that only the events in this list are DB commited: ['TIMEPERIOD TRANSITION', 'RETENTION LOAD', 'RETENTION SAVE', 'CURRENT STATE', 'NOTIFICATION', 'ALERT', 'DOWNTIME', 'FLAPPING', 'ACTIVE CHECK', 'PASSIVE CHECK', 'COMMENT', 'ACKNOWLEDGE', 'DOWNTIME']

An example Grafana dashboard:

.. image:: ./doc/_static/images/grafana.png
   :scale: 90 %



Bugs, issues and contributing
-----------------------------

Contributions to this project are welcome and encouraged ... `issues in the project repository <https://github.com/alignak-monitoring-contrib/alignak-module-mongo-logs/issues>`_ are the common way to raise an information.


