/ansible-role-griffin

Ansible role for convenient installation of the Griffin monitoring stack.

MIT LicenseMIT

Role griffin

Note

This documentation page and role itself is still work in progress.

Ansible role for convenient installation of the custom Griffin monitoring tool. This role attempts to keep the things as simple as possible and performs only basic installation of the system. The is a monitoring stack based on following free tools:

Table of Contents:

This role is part of the MSMS package. Some common features are documented in its :ref:`manual <section-manual>`.

Installation

To install the role honzamach.griffin from Ansible Galaxy please use variation of following command:

ansible-galaxy install honzamach.griffin

To install the role directly from GitHub by cloning the ansible-role-griffin repository please use variation of following command:

git clone https://github.com/honzamach/ansible-role-griffin.git honzamach.griffin

Currently the advantage of using direct Git cloning is the ability to easily update the role when new version comes out.

Dependencies

This role is dependent on following roles:

No other roles have dependency on this role.

Usage

Example content of inventory file inventory:

[servers_griffin]
your-server

Example content of role playbook file role_playbook.yml:

- hosts: servers_griffin
  remote_user: root
  roles:
    - role: honzamach.griffin
  tags:
    - role-griffin

Example usage:

# Run everything:
ansible-playbook --ask-vault-pass --inventory inventory role_playbook.yml

ansible-playbook -i inventory playbook.yml --extra-vars '{"hm_griffin__apt_force_update":"yes"}'

Configuration variables

Internal role variables

.. envvar:: hm_griffin__install_packages

    List of packages defined separately for each linux distribution and package manager,
    that MUST be present on target system. Any package on this list will be installed on
    target host. This role currently recognizes only ``apt`` for ``debian``.

    * *Datatype:* ``dict``
    * *Default:* (please see YAML file ``defaults/main.yml``)
    * *Example:*

    .. code-block:: yaml

        hm_griffin__install_packages:
          debian:
            apt:
              - syslog-ng
              - ...

.. envvar:: hm_griffin__apt_force_update

    Force APT cache update before installing any packages ('yes','no').

    * *Datatype:* ``string``
    * *Default:* ``no``


Built-in Ansible variables

.. envvar:: ansible_lsb['codename']

    Debian distribution codename is used for :ref:`template customization <section-overview-role-customize-templates>`
    feature.


Managed files

Note

This role supports the :ref:`template customization <section-overview-role-customize-templates>` feature.

This role manages content of following files on target system:

  • /etc/telegraf/telegraf.conf [TEMPLATE]
  • /etc/grafana/grafana.ini [TEMPLATE]
  • /etc/grafana/provisioning/datasources/griffin.yaml [TEMPLATE]

Author and license

Copyright: (C) since 2019 Honza Mach <honza.mach.ml@gmail.com>
Author: Honza Mach <honza.mach.ml@gmail.com>
Use of this role is governed by the MIT license, see LICENSE file.