Skip to content
Pall Sigurdsson edited this page Apr 30, 2014 · 11 revisions

Welcome to the Adagios user guide. It's wiki document so anyone can contribute to this document.

This guide assumes that you already have Adagios installed and running. If not consult the Install Guide on how to get Adagios up and running.

Remember this Document is about Adagios which is an addon to Nagios/Icinga. This guide will not go in detail about Nagios/Icinga features like what configuration objects do, and how to monitor specific systems. Instead consider the following documents:

Adding custom headers and footers

If you are doing custom installs of Adagios you may want to have a custom header and footer displayed in the output of web pages that adagios renders. You can include any information that browsers understand (html, javascript, etc).

This can be used to create your own custom menus and such.

How it works

You can include your custom content by dropping appropriately named files in your "serverside_includes" directory as it is specified in adagios.conf (by default /etc/adagios/ssi).

Custom headers are included at the top of the markup and custom footers right before /body.

There are two types of headers/footers.

  • /etc/adagios/ssi/common-header.ssi and common-footer.ssi respectively. These are included on every page load.
  • /etc/adagios/ssi/CUSTOMPAGE-header.ssi and CUSTOMPAGE-footer.ssi where CUSTOMPAGE is a name of one specific page to include data on. For example if you want to include html on the services page, you would create a file called /etc/adagios/ssi/adagios.status.views.services-footer.ssi

Injecting html content into adagios pages

If your serverside include html tags include the special classes ssi-append and ssi-overwrite then adagios will recognize as html to inject somwhere else.

Examples

Add nagvis to top navigation bar:

<div class="ssi-append" data-for="#top_navigation_menuitems">
    <li>
        <a href="/nagvis"><i class="glyph-list glyph-grey"></i> Nagvis</a>
    </li>
</div>

Same as above, but maintain adagios top navigation bar:

<div class="ssi-append" data-for="#top_navigation_menuitems">
    <li>
        <a href="{% url adagios.misc.views.iframe %}?url=/nagvis"><i class="glyph-list glyph-grey"></i> Nagvis</a>
    </li>
</div>

Business Intelligence Module

We are currently working on a business intelligence module in Adagios. It's still under heavy development, but we better drop down a few notes to explain what its all about.

Things to know before you start using the BI module

Few definitions:

  • A "Business Process" (BP) is a way to group together services in Adagios
  • I repeat: Business Process is a grouping tool!
  • Business Process can contain one or more "Sub processes" which can be any of:
  • Nagios Service checks
  • Hosts
  • Hostgroup
  • Servicegroup
  • Another Business Process (so nesting is supported)
  • You can configure the status of a business process depending on its sub processes by setting the "Status Calculation Method". Examples of status calculation method for a business process is:
  • Use worst service state
  • Use worst host state
  • Use custom Business intelligence rules
  • Business Process states in Adagios are configurable, but generally the nagios-style states of 0,1,2,3 = ok,warn,crit,unknown are the default
  • You can create your own custom views to display the status of a business process
  • Graphs can be added to a business process

Access Control

Adagios started of as a configuration interface only. So to begin with authentication was handled by the web server and there was no authorization. Now that Adagios is a half-decent status interface, it makes sense to give some users limited access to status information, and deny them access to configuration stuff.

How it works

To enable authorization in Adagios add the following to /etc/adagios/adagios.conf:

enable_authorization=True
administrators="nagiosadmin,admins"

After authorization has been enabled, access to a adagios is limited for everyone that is not in the administrators group. administrators do not need to be contacts, but if you specify a contact group (f.e. "admins") adagios will look through the contacts in that group and if a contact matches the user logging in, then it is granted access.

Connecting to remote and/or multiple monitoring backends

Adagios supports connecting to multiple backends for the purpose of showing multiple nagios instances in one web interface. At the point of this writing, this applies only for livestatus connections, not for editing configuration.

At the time of this writing. this is highly experimental.

How it works

Adagios uses the config variable livestatus_path to find a path to livestatus socket. If livestatus_path is not provided, adagios looks for it in your nagios.cfg and connects to it automatically.

To explicitly tell adagios which socket to use, or to have it connect to multiple sockets put a comma-separated list in livestatus_path like so:

livestatus_path="socket1,socket2,socket3"

# Example:
livestatus_path="/var/spool/nagios/cmd/livestatus,remoteserver.example.com:6559"

Showing graphs from Graphite

If you already have set up a graphite server that is collecting performance data from your nagios server, you can hook Adagios up to that graphite server and use adagios to browse graphs for your hosts/services.

How it works

This does not cover to set up graphite, nor how to push performance data into graphite.

What you need to do is the following:

  • Open up /misc/adagios/settings
  • Check "Enable graphite integration"
  • Edit "Graphite URL" and point it to the web interface of your graphite installation
  • Verify that "Graphite path" matches your install.
  • Open up status detail for a host or a service and verify that there are graphs under the "graphite" tab