GithubHelp home page GithubHelp logo

muninwalk's Introduction

=================================

Muninwalk Readme

================================
 
Masahito Zembutsu (@zembutsu)
http://github.com/zembutsu/

* What is 'muninwalk'?

Muninwalk is CLI(Command-Line interface for Munin). This behavior like snmpwalk.
A difference of snmpwalk is to collect data from munin-node(TCP Port4949).
This tool written in perl will be useful for your operation.

Munin is a a networked resource monitoring tool. 
http://munin-monitoring.org/

muninwalk の日本語ドキュメントは、こちらのエントリをご覧下さい。
http://pocketstudio.jp/log3/2012/04/13/muninwalk_and_muninget/

* Requirements

- OS: Linux 
- Perl 5.x
-- Modules  IO::Socket and Time::HiRes 
- munin-node

I'm now developing on Red Hat Enteprise Linux 5.


* Usage

Most of muninwalk and muninget are the same structure,
but roles are different.

- muninwalk - to collect the several information of one host
- muninget  - continue collecting one information from sevral hosts


$ muninwalk
No hostname specified.
USAGE: muninwalk <HOSTNAME[:PORT]> COMMAND [COMMAND...] [OPTION]

  Version: 0.0.1
  Github:  http://github.com/zembutsu/
  Web:     http://pocketstudio.jp/
  Email:   [email protected]

COMMAND:
  list                display node enable plugins
  nodes               dispaly nodes
  <plugins names>     fetch data
  version             display munin-node's version
  walk                walkmode (fetch all plugins data)

OPTION:
  -c[char]            change delimiter
  -d                  debug mode
  -h                  display this help message
  -v                  version
  -z                  zabbix integrate mode


	You must spcified target host, then you can see plugins name. 

	$ muninwalk localhost
	acpi apache_accesses apache_processes .... yum

	This is as same as 'LIST' over munin protocol.


	Please, type 'walk'. It's typically working.
	This is original mode for munin that get LIST and Fetching all data. 

	$ muninwalk localhost walk
	## WALKMODE ##
	localhost::acpi.* = proc
	localhost::apache_accesses.accesses80 = 16023636
	localhost::apache_processes.busy80 = 2
	localhost::apache_processes.idle80 = 14
	localhost::apache_processes.free80 = 1240
	localhost::apache_volume.volume80 = 218319014912
	localhost::cpu.user = 102389306
	localhost::cpu.nice = 40457009
	localhost::cpu.system = 22013272
	(snip)

	If you want to get a value of Load Average,

	$ muninwalk localhost load
	localhost::load.load = 0.28	

	If you want to get a value of Load Average and cpu status,

	$ muninwalk localhost load cpu
	localhost::load.load = 0.28
	localhost::cpu.user = 102390872
	localhost::cpu.nice = 40457009
	localhost::cpu.system = 22013642
	localhost::cpu.idle = 1975949071
	localhost::cpu.iowait = 49672118
	localhost::cpu.irq = 262710
	localhost::cpu.softirq = 1496958
	localhost::cpu.steal = 0

	The case, you want to check only 'cpu.iowait':

	$ muninwalk localhost cpu.iowait
	localhost::cpu.iowait = 49672379
            
	Note: 'watch' comannd might be helpls you. 

$ muninget
No hostname specified.
USAGE: muninget <HOSTNAME[:PORT]> COMMAND [COMMAND...] [OPTION]

  Version: 0.0.1
  Github:  http://github.com/zembutsu/
  Web:     http://pocketstudio.jp/
  Email:   [email protected]

COMMAND:
  list                display enable plugins
  nodes               dispaly nodes
  <plugins names>     fetch data
  version             display version

OPTION:
  -c[char]            change delimiter
  -d                  debug mode
  -h                  display this help message
  -v                  version

	If you want to continue collecting data (ex, load), 

	$ muninget localhost load
	12/04/11 21:41:06.084646::localhost::load.load = 0.16
	12/04/11 21:41:07.136572::localhost::load.load = 0.16

	'Ctrl+C' can stop this script.

	Do you need several hosts data? (ex, hostname node1 and node2 )

	$ muninget node1,node2 load
	12/04/11 21:42:51.895727::node1::load.load = 0.67
	12/04/11 21:42:51.946590::node2::load.load = 0.13
	12/04/11 21:42:53.000443::node1::load.load = 0.66
	12/04/11 21:42:53.051397::node2::load.load = 0.13

	If you want to change loop interval, you should use '-s' option.

	$ munin node1,node2 load -s0.5     (-s<sec>)
	12/04/11 21:44:55.674071::node1::load.load = 0.57
	12/04/11 21:44:55.724940::node2::load.load = 0.12
	12/04/11 21:44:56.280103::node1::load.load = 0.57
	12/04/11 21:44:56.331063::node2::load.load = 0.12

* Use case

- network and server operation
- debugging munin plugins


* Known bug's

- not support hierarchization munin plugins 


* Tasks/Plans 

- support hierachization munin plugins
- formatting output ( for human readable )

* Feedback

- welcome!


* History

Apr 11, 2011  1st release.

muninwalk's People

Contributors

ariela avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  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.