18.10.2012
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 18.10.2012 Consol http://www.consol.de/open-source-monitoring/ www.consol.com 18.10.2012 2 Introduction Common Scenarios Installation
18.10.2012
Distributed Monitoring based
Sven Nierlein
18.10.2012 www.consol.com
2
Consol
18.10.2012 www.consol.com
3
18.10.2012 www.consol.com
4
18.10.2012 www.consol.com
5
Introduction
18.10.2012 www.consol.com
6
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
18.10.2012 www.consol.com
7
18.10.2012 www.consol.com
8
Load Reduction & Non Blocking
Nagios
hosts=yes services=yes eventhandler=yes
Worker
hosts=yes services=yes eventhandler=yes
Pros
18.10.2012 www.consol.com
9
Load Balancing
Worker
hosts=yes services=yes eventhandler=yes
Nagios
hosts=yes services=yes eventhandler=yes
Worker
hosts=yes services=yes eventhandler=yes
Pros
18.10.2012 www.consol.com
10
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
18.10.2012 www.consol.com
11
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
18.10.2012 www.consol.com
12
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
18.10.2012 www.consol.com
13
Check Serialization
Nagios
hosts=no services=no eventhandler=no servicegroups=serial
Worker
hosts=no services=no eventhandler=no servicegroups=serial max-worker=1
Pros
18.10.2012 www.consol.com
14
18.10.2012 www.consol.com
15
Installation
18.10.2012 www.consol.com
16
18.10.2012 www.consol.com
17
Configuration - NEB Module
18.10.2012 www.consol.com
18
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
+ = =
18.10.2012 www.consol.com
19
Configuration - Common
18.10.2012 www.consol.com
20
Configuration - Queues
18.10.2012 www.consol.com
21
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
define host { ... _WORKER hostgroup_test }
18.10.2012 www.consol.com
22
Configuration - Queues by Custom Variable
# nagios: +epn
18.10.2012 www.consol.com
23
Configuration - Embedded Perl
18.10.2012 www.consol.com
24
Configuration - Worker
18.10.2012 www.consol.com
25
18.10.2012 www.consol.com
26
Performance Data
Nagios Mod-Gearman NEB PNP4Nagios Worker Gearman Daemon
Perfdata Perfdata
Config
18.10.2012 www.consol.com
27
18.10.2012 www.consol.com
28
Improved Plugin Output
18.10.2012 www.consol.com
29
18.10.2012 www.consol.com
30
Exports
export=<queue>:<returncode>:<callback>[,<callback>,...]
export=log_queue:1:NEBCALLBACK_LOG_DATA
18.10.2012 www.consol.com
31
18.10.2012 www.consol.com
32
gearman_top
18.10.2012 www.consol.com
33
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.25|...
18.10.2012 www.consol.com
34
send_gearman
18.10.2012 www.consol.com
35
$ check_multi -r 256 -f check.cfg | ./bin/send_multi --config=mod_gearman.cfg --host=<host>
#!/bin/bash host=$1; shift;
report="256" [ "$other" != "" ] && report="13"
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
$ ./better.sh # for all $ ./better.sh -i check17 # for a single check P P P P
send_multi
18.10.2012 www.consol.com
36
gearman_proxy.pl
Gearman Daemon (DMZ) Nagios
Checkresults Checks / Events Checks / Events Checkresults
Gearman Daemon (Main) Mod-Gearman Worker gearman- proxy.pl
worker/client
not possible to directly access the gearmand from remote locations
18.10.2012 www.consol.com
37
Thruk
18.10.2012 www.consol.com
38
18.10.2012 www.consol.com
39
Livestatus and Mod-Gearman Module loaded
single virtual machine
Performance
18.10.2012 www.consol.com
40
Performance
18.10.2012 www.consol.com
41
18.10.2012 www.consol.com
42
Resources