Coder Social home page Coder Social logo

singuliere / icinga2-api-examples Goto Github PK

View Code? Open in Web Editor NEW

This project forked from icinga/icinga2-api-examples

0.0 1.0 0.0 11.78 MB

Examples for the Icinga 2 API

Ruby 8.81% CSS 3.55% PHP 9.36% JavaScript 53.77% Go 11.53% Shell 5.30% Python 7.69%

icinga2-api-examples's Introduction

General

These examples for the Icinga 2 API should help you get started with your own projects.

Please read the API documentation thoroughly before looking into the scripting details.

Support

These examples remain generally unsupported, you should not put them in production without your own review and knowledge.

Discuss your questions on the community channels.

Integrations

If any tool or script is missing, please send a patch/PR :)

Libraries

Name Language Description
ruby-icinga2 Ruby Ruby library
python-icinga2_api Python Python library
python-icinga2-api Python Python bindings for Icinga 2 interaction
go-icinga2 Golang Golang functions and type definitions
go-icinga2-api Golang Golang implementation used inside the Terraform provider
go-icinga2-client Golang Golang implementation for the Rancher integration.
Monitoring::Icinga2::Client::REST Perl Perl bindings.

Status

Name Language Description
Dashing Ruby, HTML Dashboard for Dashing querying the REST API for current host/service/global status
Icinga 2 Slack Bot Golang Query host/service details from a Slack channel
InfluxDB Telegraf Input Golang Telegraf is an agent written in Go for collecting, processing, aggregating, and writing metrics.
icinga2bot Python Errbot plugin to fetch status and event stream information and forward to XMPP, IRC, etc.
IcingaBusyLightAgent C# Notification Agent in Systray
BitBar for OSX Python macOS tray app for highlighting the host/service status
Icinga 2 Multistatus - Chrome Extension
Clippy.js PHP, JS Funny demo for presenting alerts in your browser

Manage Objects

Name Language Description
Icinga Director PHP, JS Icinga 2 configuration interface integrated into Icinga Web 2
Logstash output for Icinga Ruby Forward check results and create objects from log events
AWS/EC2 Ruby Example script for creating and deleting AWS instances in Icinga 2
Foreman Smart Proxy Monitoring Ruby Smart Proxy extension for Foreman creating and deleting hosts and services in Icinga 2
Terraform Provider Golang Register hosts from Terraform in Icinga 2. Official docs.
Rancher integration Golang Registers Rancher resources in Icinga 2 for monitoring.

Event Streams

Name Language Description
Elastic icingabeat Golang Process events and send to Elasticsearch/Logstash outputs
Request Tracker ticket integration Golang Create and update RT tickets
Logstash input event stream Ruby Forward events as Logstash input
Flapjack events Golang Dumping events into Redis for Flapjack processing
Stackstorm integration Python Processing events and fetching status information

Actions

Name Language Description
Icinga Web 2 PHP Trigger actions via command transport
Logstash output for Icinga Ruby Forward check results and create objects from log events
OTRS SystemMonitoring Perl Acknowledge problems in Icinga 2 from OTRS tickets
mqttwarn Python Forward check results from mqttwarn to Icinga 2
Lita handler Ruby List, recheck and acknowledge through a #chatops bot called Lita
Sakuli forwarder Java Forward check results from tests from Sakuli to Icinga 2
OpsGenie actions Golang, Java Integrate Icinga 2 into OpsGenie

REST API Clients

Name Language Description
Browser plugins - Postman for Chrome, REST Easy for Firefox
Postman - App instead of browser plugin
Cocoa Rest Client - macOS app
Paw for MacOS (exported) Examples here
Icinga Studio C++ Application for visualizing the status information
icinga2 console C++ CLI tool for running config expressions against the API

Misc

Several Scripts.

Name Language Description
go-icinga2-events Golang Connect to the event stream and output state changes
console - Examples for using the icinga2 console CLI command
events - Examples for event streams
objects PHP, Python Examples for fetching status and managing objects

Filter json output with jq

You can test your filter expression online.

Example: how to get output from service

curl -k -u training:icinga 'https://icinga2Server.localdomain:5665/v1/objects/services?filter=match(%22icingaHost1%22,host.name)&attr=last_check_result' |jq '.results[].attrs.last_check_result.output'
"OK - load average per CPU: 0.00, 0.00, 0.00"

icinga2-api-examples's People

Contributors

chrnie avatar lazyfrosch avatar whitekiba 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.