forked from shinken-monitoring/mod-livestatus
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Sebastien Coavoux
committed
Sep 29, 2014
1 parent
343df96
commit 63b7ff5
Showing
5 changed files
with
151 additions
and
7 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,115 @@ | ||
.. image:: https://api.travis-ci.org/shinken-monitoring/mod-livestatus.svg?branch=master | ||
:target: https://travis-ci.org/shinken-monitoring/mod-livestatus | ||
.. _livestatus_shinken: | ||
|
||
======================= | ||
Shinken Livestatus API | ||
======================= | ||
|
||
|
||
Overview | ||
========= | ||
|
||
|
||
* Jump back to :ref:`Getting Started <gettingstarted/index>` | ||
* Jump back to :ref:`Livestatus module configuration <the_broker_modules>` | ||
|
||
|
||
What is it | ||
----------- | ||
|
||
|
||
Livestatus API is the modern method of interacting with Shinken and Nagios based systems alike. | ||
|
||
Originally developed for Nagios, MK Livetstatus, was re-implemented in Python for use with Shinken by professional developers. The access methods and query languages are the same. | ||
|
||
|
||
.. image:: /_static/images/livestatus_-_network_communications.png | ||
:scale: 90 % | ||
|
||
|
||
Why use it | ||
----------- | ||
|
||
|
||
It is fast. | ||
|
||
It is network based using TCP. | ||
|
||
It is standard for all Nagios and Shinken monitoring systems. | ||
|
||
It uses in-memory structures for status data | ||
|
||
It uses a back-end database for historical reporting | ||
|
||
It uses an SQL based query language | ||
|
||
It has a host of powerful nuts and bolts features (authentication, caching, connection persistence, multiple object methods (JSON, Python)). | ||
|
||
|
||
What can I do with it? | ||
----------------------- | ||
|
||
|
||
All programs and scripts use (or should use) this method to : | ||
|
||
* Obtain the current state of hosts and services | ||
* Obtain the current configuration related to hosts and services | ||
* Send administrative commands (downtimes, comments, forcing checks) | ||
* Filter information to display | ||
* Obtain basic reports and event statistics | ||
|
||
Shinken being a modern re-implementation of Nagios has additional features that are available in addition to the standard Livestatus API. | ||
|
||
Shinken Livestatus API unique features can : | ||
* Obtain Business Impact information | ||
* Obtain intelligent dependency status hosts or services (combines dependency and parent information) | ||
* Obtain Business Process states (same syntax as standard host and service queries) | ||
|
||
|
||
How does it work | ||
================= | ||
|
||
|
||
Livestatus uses a powerful SQL-like query language. The standard methods and parameters are defined at : | ||
|
||
`MK Livestatus reference methods and query language definition`_ | ||
|
||
Full list of Shinken Livestatus API methods: | ||
|
||
`Shinken mapping.py methods`_ | ||
|
||
|
||
What software uses Livestatus to interact with Shinken | ||
======================================================= | ||
|
||
|
||
Well known Web frontends | ||
* MK Multisite | ||
* Thruk | ||
* NagVis | ||
* Splunk for Nagios | ||
|
||
Mobile Web frontends | ||
* get list | ||
|
||
Scripts | ||
* Downtime management scripts | ||
* Debug scripts | ||
|
||
|
||
Installing Livestatus | ||
---------------------- | ||
|
||
|
||
Have you installed the required packages to use the Livestatus module? You can look at the requirement section of the :ref:`10 minute installation guide <gettingstarted/installations/shinken-installation>` for the :ref:`requirement lists <gettingstarted/installations/shinken-installation#requirements>`. | ||
|
||
|
||
How to enable Livestatus | ||
------------------------- | ||
|
||
|
||
Very simple, jump to the :ref:`Shinken Broker configuration <the_broker_modules>` section to enable it. | ||
|
||
.. _Shinken mapping.py methods: https://github.com/shinken-monitoring/mod-livestatus/blob/master/module/mapping.py | ||
.. _MK Livestatus reference methods and query language definition: http://mathias-kettner.de/checkmk_livestatus.html |
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,2 @@ | ||
https://github.com/shinken-monitoring/mod-logstore-sqlite.git | ||
https://github.com/shinken-monitoring/mod-logstore-mongodb.git |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,32 @@ | ||
#!/bin/bash | ||
|
||
get_name (){ | ||
|
||
echo $(python -c 'import json; print json.load(open("'$1'package.json"))["name"]') | ||
} | ||
|
||
setup_submodule (){ | ||
for dep in $(cat test/dep_modules.txt); do | ||
mname=$(basename $dep | sed 's/.git//g') | ||
git clone $dep ~/$mname | ||
rmname=$(get_name ~/$mname/) | ||
cp -r ~/$mname/module ~/shinken/modules/$rmname | ||
[ -f ~/$mname/requirements.txt ] && pip install -r ~/$mname/requirements.txt | ||
done | ||
} | ||
|
||
name=$(get_name) | ||
|
||
pip install pycurl | ||
pip install coveralls | ||
git clone https://github.com/naparuba/shinken.git ~/shinken | ||
[ -f test/dep_modules.txt ] && setup_submodule | ||
[ -f requirements.txt ] && pip install -r requirements.txt | ||
rm ~/shinken/test/test_*.py | ||
cp test/test_*.py ~/shinken/test/ | ||
[ -d test/etc ] && cp -r test/etc ~/shinken/test/ | ||
cp -r module ~/shinken/modules/$name | ||
ln -sf ~/shinken/modules ~/shinken/test/modules | ||
#cd ~/shinken | ||
|
||
|