Presentation is loading. Please wait.

Presentation is loading. Please wait.

1 Automating Monitoring with Puppet Chris Mague Moovweb May 23, 2012.

Similar presentations


Presentation on theme: "1 Automating Monitoring with Puppet Chris Mague Moovweb May 23, 2012."— Presentation transcript:

1 1 Automating Monitoring with Puppet Chris Mague Moovweb May 23, 2012

2 2 Where I Want to be..... +

3 3 What I'll Settle For.....

4 4 Requirements Rock solid stability Automated node addition (discovery) Scales horizontally Service dependency models Easy to write plugins Promotes sane workflows Unified front end view Flexible configuration

5 5 Tool Stack

6 6 What???? but #monitoringsucks and #ihatenagios How could you?

7 7 In defense of Nagios Been around since 1996 Has Service dependencies Easy to write plugins Easy-ish to troubleshoot ROCK SOLID

8 8 Valid attacks on Nagios No automated discovery It's complicated to setup Text files – really? Front end won't win any beauty contests Development is slow Stats collection is a PITA

9 9 Solutions Use Icinga! Use Puppet to auto configure Stats – leave it to graphite. It's really good at that Big boys and girls learn their tools

10 10 Icinga Fork of Nagios Configurations are compatible More solid architecture ( core, API, Web, IDODB ) Nice front end, nice mobile front end Can use NRPE

11 11 High Level View

12 12 Configure Icinga Servers using Puppet Standard Types

13 13 Things to configure with Standard Types icinga.cfg (file) => icinga main config file Apache icinga.conf (file) => http access to each server cgiauth.cfg (file) => cgi access cgi.cfg (file) => options, users templates.cfg (file) got lazy => use for basic classes idomod.cfg (template) => template for hostname to DB

14 14 Configure Icinga using Nagios Types

15 15 Puppet Nagios Types nagios_command nagios_contact nagios_contactgroup nagios_host nagios_hostdependency nagios_hostescalation nagios_hostextinfo nagios_hostgroup nagios_service nagios_servicedependency nagios_serviceescalation nagios_serviceextinfo nagios_servicegroup nagios_timeperiod

16 16 Configuring Hosts

17 17 Overview

18 18 Detailed Overview

19 19 Store Configs Store puppet info in a DB Retrieve information from DB Share info across nodes Use thin_storeconfigs Set up on puppet master

20 20 Exporting Nagios_host Resources Export = Save to DB Use facter for dynamic data PRO TIP: use ENC PRO TIP: use targets PRO TIP: hostgroups PRO TIP: use tags

21 21 PRO TIP: Use your ENC

22 22 PRO TIP: use targets Use cfg_dir in icinga.cfg Create a unique file per host or service Addition and removal are now super easy Also default dirs are in a horrible place /etc/nagios

23 23 PRO TIP: hostgroups Add machines to a hostgroup Add services to a hostgroup New machines inherit all of the services associated with a hostgroup

24 24 PRO TIP: use tags Tags allow you to filter resources so that you only realize those resources that you need

25 25 Configuring Services/Commands

26 26 Icinga Services OR 'Stuff I want to monitor' Associate with a hostgroup Use a target

27 27 Icinga Commands OR 'What actually gets run' Use Macros to set paths in resource.cfg

28 28 Dependencies

29 29 PRO TIP: Dependencies Unreliable services Cut down on the number of alerts Tell me what's really wrong Route alerts accordingly

30 30 Nagios_servicedependencies

31 31 NRPE

32 32 NRPE Runs on client Secured via SSL Has ACLs Runs as nobody Can run commands Useful for other things...

33 33 Configuring NRPE

34 34 NRPE Checks

35 35 Plugins

36 36 exchange.nagios.org

37 37 Writing Plugins Write in any language Output 1 line to stdout NRPE/Icinga/Nagios all use exit codes to determine status Run by hand to check

38 38 Workflows

39 39 Watching Monitoring

40 40 Scheduling Downtime

41 41 Filtering

42 42 Alerting

43 43 #monitoringisawesome REMOVE unreliable checks Just MONITOR – don't bolt on - especially stats TIER your monitoring Use timeperiods for sanity Delegate responses Use dependencies to pin down problems quickly Work smart

44 44

45 45 Resources Icinga http://icinga.org Puppet http://docs.puppetlabs.com/references/latest/type.html#nagioscommand NRPE http://nagios.sourceforge.net/docs/3_0/addons.html IRC ##infra-talk, #icinga, #puppet Contact christianmague@gmail.comchristianmague@gmail.com, @maguec, #gaijin (freenode), http://blog.mague.com Thanks Yvonne Kong, Michael Catlin, Juan Ortega, Anthony Kong, Puppet Labs, Icinga Team


Download ppt "1 Automating Monitoring with Puppet Chris Mague Moovweb May 23, 2012."

Similar presentations


Ads by Google