24.05.2011
Mod-Gearman
Distributed Monitoring based
- n the Gearman Framework
Sven Nierlein
Mod-Gearman Distributed Monitoring based on the Gearman Framework - - PowerPoint PPT Presentation
Mod-Gearman Distributed Monitoring based on the Gearman Framework Sven Nierlein 24.05.2011 Introduction Common Scenarios Configuration Performance Data Exports Tools OMD Hints www.consol.com
24.05.2011
Distributed Monitoring based
Sven Nierlein
24.05.2011 www.consol.com
2
24.05.2011 www.consol.com
3
24.05.2011 www.consol.com
4
Introduction
24.05.2011 www.consol.com
5
Introduction
Nagios Mod-Gearman NEB PNP4Nagios Worker Gearman Daemon Mod-Gearman Worker
Checkresults Perfdata Checks / Events Perfdata / Exports Checks / Events Perfdata Checkresults
Tools: send_gearman send_multi
Checkresults
24.05.2011 www.consol.com
6
24.05.2011 www.consol.com
7
Load Reduction & Non Blocking
Nagios
hosts=yes services=yes eventhandler=yes
Worker
hosts=yes services=yes eventhandler=yes
Pros
24.05.2011 www.consol.com
8
Load Balancing
Worker
hosts=yes services=yes eventhandler=yes
Nagios
hosts=yes services=yes eventhandler=yes
Worker
hosts=yes services=yes eventhandler=yes
Pros
24.05.2011 www.consol.com
9
Distributed Setup
Nagios
hosts=yes services=yes eventhandler=yes hostgroups=remote
Worker
hosts=no services=no eventhandler=no hostgroups=remote
Worker
hosts=yes services=yes eventhandler=yes
Pros
remote nagios installations
24.05.2011 www.consol.com
10
Distributed & Load Balancing
Nagios
hosts=yes services=yes eventhandler=yes hostgroups=remote
Worker
hosts=no services=no eventhandler=no hostgroups=remote
Worker
hosts=yes services=yes eventhandler=yes
Worker
hosts=no services=no eventhandler=no hostgroups=remote
Worker
hosts=yes services=yes eventhandler=yes
Pros
24.05.2011 www.consol.com
11
Distributed & Load Balancing + Graphing
Nagios
hosts=yes services=yes eventhandler=yes hostgroups=remote perfdata=yes
Worker
hosts=no services=no eventhandler=no hostgroups=remote
Worker
hosts=yes services=yes eventhandler=yes
Worker
hosts=no services=no eventhandler=no hostgroups=remote
Worker
hosts=yes services=yes eventhandler=yes
PNPWorker
24.05.2011 www.consol.com
12
Check Serialization
Nagios
hosts=no services=no eventhandler=no servicegroups=serial
Worker
hosts=no services=no eventhandler=no servicegroups=serial max-worker=1
Pros
24.05.2011 www.consol.com
13
24.05.2011 www.consol.com
14
Configuration
Nagios hosts=yes services=yes eventhandler=yes Worker hosts=yes services=yes eventhandler=yes Nagios hosts=yes services=yes eventhandler=yes hostgroups=remote Worker hosts=no services=no eventhandler=yes Worker hosts=yes services=yes eventhandler=no hostgroups=remote
+ = =
24.05.2011 www.consol.com
15
Configuration - Common
24.05.2011 www.consol.com
16
Configuration - Queues
24.05.2011 www.consol.com
17
Configuration - Queues
localservicegroups? localhostgroups? servicegroups? hostgroups? hosts=yes? services=yes? Let Nagios take care about this check Let Nagios take care about this check Put check in servicegroup queue: servicegroup_<groupname> Put check in hostgroup queue: hostgroup_<groupname> Put check in generic “hosts” queue Put check in generic “services” queue
24.05.2011 www.consol.com
18
Configuration - Worker
24.05.2011 www.consol.com
19
24.05.2011 www.consol.com
20
Performance Data
Nagios Mod-Gearman NEB PNP4Nagios Worker Gearman Daemon
Perfdata Perfdata
Config
24.05.2011 www.consol.com
21
24.05.2011 www.consol.com
22
Exports
export=<queue>:<returncode>:<callback>[,<callback>,...]
export=log_queue:1:NEBCALLBACK_LOG_DATA
24.05.2011 www.consol.com
23
24.05.2011 www.consol.com
24
gearman_top
24.05.2011 www.consol.com
25
check_gearman
check_gearman CRITICAL - failed to connect to localhost:4730 - Connection refused
check_gearman OK - 0 jobs running and 0 jobs waiting. Version: 0.14|...
24.05.2011 www.consol.com
26
send_gearman
24.05.2011 www.consol.com
27
$ check_multi -r 256 -f check.cfg | ./bin/send_multi --config=mod_gearman.cfg --host=<host>
#!/bin/bash host=$1; shift;
report="256" if [ "$other" != "" ]; then report="13" fi
rc=$? if [ `echo "$out" | grep -c "CHILD"` -eq 0 -o "$other" != "" ]; then echo "$out" exit $rc fi echo "$out" | .../send_multi config=.../mod_gearman.conf host=$host
$ ./multi.sh # for all $ ./multi.sh -i check17 # for a single check P P P P
send_multi
24.05.2011 www.consol.com
28
24.05.2011 www.consol.com
29
OMD
24.05.2011 www.consol.com
30
OMD
var/log/gearman/ gearmand.log neb.log worker.log etc/mod-gearman/ nagios.cfg perfdata.conf port.conf secret.key server.cfg worker.cfg # loading broker # perfdata config part of server.cfg # tcp port for gearmand # encryption key # neb module config # gearman worker config
24.05.2011 www.consol.com
31
OMD
24.05.2011 www.consol.com
32
24.05.2011 www.consol.com
33
Hints
24.05.2011 www.consol.com
34
Resources
24.05.2011 www.consol.com
35