Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Live Monitoring with Subsecond temporal resolution
Python TeX Java C Shell JavaScript
branch: master

Merge pull request #4 from yoe/patch-1

Update from_collectd
latest commit 935175351a
@m4rienf authored
Failed to load latest commit information.
c added some C experiments
collectd updated copyright dates
doc
java updated copyright dates
plugins Update from_collectd
plugins_out updated copyright dates
profiling use /usr/bin/env python3
servers updated copyright dates
to_be_ported
.gitignore Add some installation instructions
COPYING first commit
README updated copyright dates
coven.py updated copyright dates
dirmanager.py
dump.py updated copyright dates
extremon.py updated copyright dates
killer added graphite output (text format)
x3plugin.py

README

/*
  * ExtreMon Project
  * Copyright (C) 2009-2013 Frank Marien
  * frank@apsu.be
  *
  * This file is part of ExtreMon.
  *
  * ExtreMon is free software: you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
  * the Free Software Foundation, either version 3 of the License, or
  * (at your option) any later version.
  *
  * ExtreMon is distributed in the hope that it will be useful,
  * but WITHOUT ANY WARRANTY; without even the implied warranty of
  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  * GNU General Public License for more details.
  *
  * You should have received a copy of the GNU General Public License
  * along with ExtreMon. If not, see <http://www.gnu.org/licenses/>.
  */

From the Extreme Monitoring Manifesto:

>>  Live, with Subsecond temporal resolution where possible, as fast as doesn’t disrupt service, elsewhere
    Display on a meaningful representation, and in real-time.
>>  Simple Text-based Internet-Friendly Subscription Push API
    Implicit Provisioning (Test-driven infrastructure)
    Agent push the data as it is gathered
>>  Hot-pluggable components
>>  Re-use as many ubiquitous technologies as possible

Extremon-Display is an implementation of the first and third, 6th and 7th targets:  
Live, with Subsecond temporal resolution where possible,
Simple Text-based Internet-Friendly Subscription Push API
Hot-pluggable components
and Re-use as many ubiquitous technologies as possible

see https://extremon.org/

For the second target, see the ExtreMon-Display project

INSTALLATION WITH VIRTUALENV
----------------------------
Make sure python3 is installed. Inotify should be compiled in your kernel.

Clone the git repository to a directory on your computer

    git clone https://github.com/m4rienf/ExtreMon.git extremon

Install a virtualenv

    cd extremon
    virtualenv -p /usr/bin/python3 ENV

Start the newly created environment ENV. You should do this every time you want
to run extremon.

    source ./ENV/bin/activate

Create a directory for enabled plugins. Copy plugins you want to enable.

    mkdir ./plugins-enabled
    cp ./plugins/from_collectd ./plugins-enabled

Edit coven.py. At the bottom of the file, enter you plugins directory and the name of your host

      coven=Coven(path.abspath('./plugins-enabled'),'extre.mon',('224.0.0.1',1249))

Start the coven and see what's missing

    ./coven.py
    # open another terminal to view your syslog output 
    tail -f /var/log/syslog # or whatever your syslog writes to

Install missing python modules eg:

     pip install pyinotify

To see what's passing by:

     ./dump.py

GET YOUR LOCAL collectd INSTALL FORWARDING DATA TO EXTREMON
---------------------------------------------------------------
Update the configuration of the from_collectd plugin. Edit ./plugins-enabled/from_collectd

    ## point to the types.db of your collectd install
    #x3.types.db=/usr/share/collectd/types.db
    ## point to a custom types.db. enter /dev/null if you don't have one
    #x3.types.db.custom=/dev/null
    #x3.out.filter=^.

Once saved, the plugin will be reloaded by the coven.

Add  these lines to your collect configuration:

    LoadPlugin network
    <Plugin "network">
        <Server "224.0.0.1" "1250">
          Interface "lo"
        </Server>
    </Plugin>

Restart collectd

Something went wrong with that request. Please try again.