Giter Club home page Giter Club logo

ansible-role-munin-node's Introduction

munin-node

It installs munin-node, configures plugins and adds it to munin server.

Requirements

Munin server must be in inventory under "munin" name.

Role variables

Server connection:

  • munin_node_over_ssh: Set to yes if munin server should connect over ssh. File munin_server_id_rsa.pub is required.
  • munin_node_server_public_ip: Public IP of munun server. Used only when munin_node_over_ssh = yes. Used to limit accepted ssh connections.

Server config:

Node plugins:

  • munin_node_disable_plugins: List of plugins to disable. Elements are strings with plugin names.
  • munin_node_enable_plugins: List of plugins to enable. Elements are objects:
    - name: foo_bar
      # template_base in optional
      template_base: foo_
      # custom is optional
      # if yes, it'll be installed from local files
      custom: yes
      # deps is optional
      # it's a list of dependencies required by plugin
      deps:
        - something
        - python3-somelib
      # config is optional
      config:
        var1: value1
        var2: value2
      # cron is optional
      cron:
        hour: 5
        minute: 15

Variables munin_node_(en|dis)able_plugins can be merged from multiple group_vars by adding suffixes to variable name (see example below).

Dependencies

None

Example Playbook

playbook.yml:

- hosts: all
  roles: [munin-node]

files/certbot_expiry - a plugin downloaded from munin gallery

inventory/inventory.yml:

all:
  hosts:
    munin:
    host1:
    host2:
  children:
    munin_node_letsencrypt:
      hosts:
        munin:
        host1:
    munin_node_bare_metal:
      hosts:
        host1:
        host2:

inventory/group_vars/all.yml:

munin_node_enable_plugins_common:
  - name: df_abs
    config:
      env.exclude: iso9660 squashfs overlay tmpfs devtmpfs
      env.total: "off"
  - name: diskstats
    config:
      env.exclude: loop
  - name: memory
    config:
      env.apps_warning: 80%
      env.apps_critical: 95%

inventory/group_vars/munin_node_letsencrypt.yml:

munin_node_enable_plugins_letsencrypt:
  - name: certbot_expiry
    custom: yes
    config:
      user: root

inventory/group_vars/munin_node_bare_metal.yml:

munin_node_enable_plugins_bare_metal:
  - name: sensors_temp
    template_base: sensors_
    deps:
      - lm-sensors
  - name: smart_sda
    template_base: smart_
    config:
      env.ignoreexit: 96

License

GPL-3.0-or-later

Author Information

Golem Network

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.