Giter Club home page Giter Club logo

dashing-icinga2's Introduction

General

Dashing is a Sinatra based framework that lets you build beautiful dashboards.

This dashing implementation uses the Icinga 2 API to show basic alerts on your dashboard.

This is intended for demo purposes and not for production usage. You may use the provided examples in your own implementation.

Dashing Icinga 2

License

  • Dashing is licensed under the MIT license.
  • Icinga specific jobs and dashboards are licensed under the GPLv2+ license.

Requirements

  • Ruby, Gems and Bundler
  • Dashing Gem
  • Icinga 2 API (v2.4+)

Gems:

gem install bundle
gem install dashing

Icinga 2

Icinga 2 provides either basic auth or client certificates for authentication.

Therefore add a new ApiUser object to your Icinga 2 configuration:

vim /etc/icinga2/conf.d/api-users.conf

object ApiUser "dashing" {
  password = "icinga"
  client_cn = "icinga2a"
  permissions = [ "*" ]
}

In case you want to use client certificates, set the client_cn from your connecting host and put the client certificate files (private and public key, ca.crt) in the pki directory.

Note

The job script will attempt to use client certificates once found in the pki/ directory instead of basic auth.

Dashing Configuration

Edit jobs/icinga2.erb and adjust the settings for the Icinga 2 API credentials.

Run

Install all required ruby gems:

bundle install

On OSX El Capitan OpenSSL was deprecated, therefore you'll need to fix the eventmachine gem:

brew install openssl
bundle config build.eventmachine --with-cppflags=-I/usr/local/opt/openssl/include
bundle install --path binpaths

Now start dashing:

./run.sh

(or dashing start).

Navigate to http://localhost:3030

Thanks

roidelapliue for the Icinga 1.x dashing script.

TODO

  • Fix config.ru settings
  • Hints for Docker integration (docker-icinga2)

Developer Hints

Dashing Installation

sudo gem install dashing
sudo gem install bundler

dashing new icinga2
cd icinga2
bundle

dashing start

Widgets

dashing generate widget table
dashing generate widget showmon

Jobs

dashing generate job icinga2

dashing-icinga2's People

Watchers

 avatar  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.