Git Product home page Git Product logo

puppet-grafanadash's Introduction

grafanadash

Table of Contents

  1. Overview
  2. Setup - The basics of getting started with grafanadash
  3. Usage
  4. Reference
  5. Limitations - OS compatibility, etc.

Overview

This is a simple dev module for installing graphite and grafana on a single node. It was only successfully tested with Puppet 3.7.1 and CentOS 6.

This is basically derived from what the cprice404/grafanadash module does (https://forge.puppetlabs.com/cprice404/grafanadash) with the exception of no initial support for setting up elasticsearch. You're probably better off using cprice404/grafanadash as this module is purely an experiment.

Setup

What grafanadash affects

  • Sets selinux to 'permissive'.
  • Installs EPEL repo, graphite, related python packages needed by graphite, and grafana. Sets up Apache Virtual Hosts for graphite and grafana.

Usage

Classes and Defined Types

Class: grafanadash::dev

Installs Graphite and Grafana on a single host, running under Apache.

apache_servername

ServerName to add to the Apache Virtual Host configurations for Graphite and Grafana vhost. Defaults to ::fqdn of the host on which the packages are being installed.

grafana_apache_port

Port on the Apache server under which the Grafana web application should be hosted. Defaults to 10000.

graphite_apache_port

Port on the Apache server under which the Graphite web application should be hosted. Defaults to 80.

graphite_line_receiver_port

Port of the Graphite line receiver. Defaults to 2003.

graphite_url

Port of the Graphite web server interface - used by Grafana's config.js to poll Graphite for data. Defaults to "http://${::fqdn}"

Examples

To install with default parameters:

    class { 'grafanadash::dev': }

To install with custom parameters:

    class { 'grafanadash::dev':
      apache_servername           => 'myhost.mydomain.com',
      grafana_apache_port         => 9998,
      graphite_apache_port        => 9997,
      graphite_line_receiver_port => 9996,
      graphite_url                => 'http://myhost.mydomain.com:9997'
    }

Reference

Classes

Public Classes

  • grafanadash::dev: Installs Graphite and Grafana under a single host, running under Apache.

Private Classes

  • grafanadash::grafana_apache: Configures an Apache Virtual Host for a Grafana server and SHOULD NOT be called directly.
  • grafanadash::graphite_apache: Configures an Apache Virtual Host for a Graphite server and SHOULD NOT be called directly.

Limitations

Sets selinux to permissive rather than just configuring the minimal rules needed for applications to run with selinux still being enforced.

This module does not work on CentOS 7.0.1406 for three reasons:

  1. An "Error: comparison of String with 7 failed at ...selinux/manifests/params.pp" message occurs. This is due to some missing logic in the version string checking in the selinux module's params.pp class. This is a known issue in the selinux module. A pull request to address this is at https://github.com/spiette/puppet-selinux/pull/13/files.

  2. A couple of the dependencies that the graphite module is looking for are not satisfied - Django14 and python-sqlite2. An issue about this was filed in the puppet-graphite project - echocat/puppet-graphite#106.

  3. Assuming one were to workaround the second problem by installing a django 1.6 version from EPEL, there is a problem in the latest released package of graphite-web, 0.9.12, with running under django 1.6. A fix for that problem was integrated to graphite-web master at https://github.com/graphite-project/graphite-web/commit/fc3f018544c19b90cc63797d18970a4cc27ef2ad but that fix has not been included in a later release of graphite-web.

puppet-grafanadash's People

Contributors

camlow325 avatar

Watchers

 avatar

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.