Find file History
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
..
Failed to load latest commit information.
Compute
Execution
Parsing
RRD
jiffy-web
ntop
AddMonitors.pl
DryRun.pl
DryRunMassLoad.pl
Example.pl
M3Templates.pm
MonitisConnection.pm
MonitisMonitorManager.pm
NagiosToM3Converter.pl
README.md
Run.pl
RunMassLoad.pl
TimerDryRun.pl
TimerRun.pl
config_nagios.xml
config_sample.xml
config_sample_json_extraction.xml
config_sample_regex_extraction.xml
config_sample_xpath_extraction.xml
cpu_memory_stats.xml
dbi_sample.xml
etc_file_monitor.xml
hotwire_sample.xml
pgsql_statistics.xml
snmp_test.xml
twitter_followers_sample.xml
yahoo_finance_sample.xml

README.md

M3

M3 => MMM => Monitis Monitor Manager

This is a utility that would help you to manage monitors in Monitis.

M3 helper scripts

  • Run.pl - Executes all agents, then sends the monitoring data to Monitis.
  • DryRun.pl - Same as Run.pl, however does not send monitoring data to Monitis. Can be used to debug your parsing.
  • TimerRun.pl - Runs M3 in a loop using timers to schedule invocation of monitors
  • TimerDryRun.pl - Same as TimerRun.pl but does not send monitoring data to Monitis.
  • RunMassLoad.pl - Operates on the output line by line, very useful for mass loading of data obtained from log files.
  • DryRunMassLoad.pl - Same as RunMassLoad.pl but goes with a dry run.\
  • NagiosToM3Converter.pl will convert a nagios configuration to M3 - still work in progress
  • RRD/munin_xml_generator - Creates a M3 configuration from munin data

Any of these scripts can be composed by yourself, it's a simple perl line.

M3 Plugin architecture

M3 has a plugin architecture. 3 types of plugins exist:

  1. Execution
  2. Parsing
  3. Compute And they sit in the Execution, Parsing and Compute directories respectively.

M3 phases

  • Execution plugins - Collecting output
  • Parsing plugins - picking the interesting data
  • Compute plugins - Post processing and transformation of data
  • Loading data to Monitis

Plugin documentation

Very simple example

Inspecting the simplest example of M3 - etc_file_monitor.xml it'll execute the command:

# find /etc -maxdepth 1 -type f | wc -l

In order to collect the output and upload to Monitis you have to form a

regular expression, in this example it is:

<regex>(.*)</regex> Anything enclosed in parenthesis would be collected by the regular expression plugin.

Further reading

Learn more about Montis Monitor Manager Framework here.