where i want to be
DESCRIPTION
Where I Want to be. +. What I'll Settle For. 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. Tool Stack. - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: Where I Want to be](https://reader035.vdocument.in/reader035/viewer/2022062305/568159e3550346895dc72dcb/html5/thumbnails/1.jpg)
2
Where I Want to be.....
+
![Page 2: Where I Want to be](https://reader035.vdocument.in/reader035/viewer/2022062305/568159e3550346895dc72dcb/html5/thumbnails/2.jpg)
3
What I'll Settle For.....
![Page 3: Where I Want to be](https://reader035.vdocument.in/reader035/viewer/2022062305/568159e3550346895dc72dcb/html5/thumbnails/3.jpg)
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
![Page 4: Where I Want to be](https://reader035.vdocument.in/reader035/viewer/2022062305/568159e3550346895dc72dcb/html5/thumbnails/4.jpg)
5
Tool Stack
![Page 5: Where I Want to be](https://reader035.vdocument.in/reader035/viewer/2022062305/568159e3550346895dc72dcb/html5/thumbnails/5.jpg)
6
What????but #monitoringsucks and #ihatenagios
How could you?
![Page 6: Where I Want to be](https://reader035.vdocument.in/reader035/viewer/2022062305/568159e3550346895dc72dcb/html5/thumbnails/6.jpg)
7
In defense of Nagios
Been around since 1996 Has Service dependencies Easy to write plugins Easy-ish to troubleshoot ROCK SOLID
![Page 7: Where I Want to be](https://reader035.vdocument.in/reader035/viewer/2022062305/568159e3550346895dc72dcb/html5/thumbnails/7.jpg)
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
![Page 8: Where I Want to be](https://reader035.vdocument.in/reader035/viewer/2022062305/568159e3550346895dc72dcb/html5/thumbnails/8.jpg)
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
![Page 9: Where I Want to be](https://reader035.vdocument.in/reader035/viewer/2022062305/568159e3550346895dc72dcb/html5/thumbnails/9.jpg)
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
![Page 10: Where I Want to be](https://reader035.vdocument.in/reader035/viewer/2022062305/568159e3550346895dc72dcb/html5/thumbnails/10.jpg)
11
High Level View
![Page 11: Where I Want to be](https://reader035.vdocument.in/reader035/viewer/2022062305/568159e3550346895dc72dcb/html5/thumbnails/11.jpg)
12
Configure Icinga Servers using Puppet Standard Types
![Page 12: Where I Want to be](https://reader035.vdocument.in/reader035/viewer/2022062305/568159e3550346895dc72dcb/html5/thumbnails/12.jpg)
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
![Page 13: Where I Want to be](https://reader035.vdocument.in/reader035/viewer/2022062305/568159e3550346895dc72dcb/html5/thumbnails/13.jpg)
14
Configure Icinga using Nagios Types
![Page 14: Where I Want to be](https://reader035.vdocument.in/reader035/viewer/2022062305/568159e3550346895dc72dcb/html5/thumbnails/14.jpg)
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
![Page 15: Where I Want to be](https://reader035.vdocument.in/reader035/viewer/2022062305/568159e3550346895dc72dcb/html5/thumbnails/15.jpg)
16
Configuring Hosts
![Page 16: Where I Want to be](https://reader035.vdocument.in/reader035/viewer/2022062305/568159e3550346895dc72dcb/html5/thumbnails/16.jpg)
17
Overview
![Page 17: Where I Want to be](https://reader035.vdocument.in/reader035/viewer/2022062305/568159e3550346895dc72dcb/html5/thumbnails/17.jpg)
18
Detailed Overview
![Page 18: Where I Want to be](https://reader035.vdocument.in/reader035/viewer/2022062305/568159e3550346895dc72dcb/html5/thumbnails/18.jpg)
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
![Page 19: Where I Want to be](https://reader035.vdocument.in/reader035/viewer/2022062305/568159e3550346895dc72dcb/html5/thumbnails/19.jpg)
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
![Page 20: Where I Want to be](https://reader035.vdocument.in/reader035/viewer/2022062305/568159e3550346895dc72dcb/html5/thumbnails/20.jpg)
21
PRO TIP: Use your ENC
![Page 21: Where I Want to be](https://reader035.vdocument.in/reader035/viewer/2022062305/568159e3550346895dc72dcb/html5/thumbnails/21.jpg)
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
![Page 22: Where I Want to be](https://reader035.vdocument.in/reader035/viewer/2022062305/568159e3550346895dc72dcb/html5/thumbnails/22.jpg)
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
![Page 23: Where I Want to be](https://reader035.vdocument.in/reader035/viewer/2022062305/568159e3550346895dc72dcb/html5/thumbnails/23.jpg)
24
PRO TIP: use tags
Tags allow you to filter resources so that you only realize those resources that you need
![Page 24: Where I Want to be](https://reader035.vdocument.in/reader035/viewer/2022062305/568159e3550346895dc72dcb/html5/thumbnails/24.jpg)
25
Configuring Services/Commands
![Page 25: Where I Want to be](https://reader035.vdocument.in/reader035/viewer/2022062305/568159e3550346895dc72dcb/html5/thumbnails/25.jpg)
26
Icinga Services OR 'Stuff I want to monitor' Associate with a hostgroup Use a target
![Page 26: Where I Want to be](https://reader035.vdocument.in/reader035/viewer/2022062305/568159e3550346895dc72dcb/html5/thumbnails/26.jpg)
27
Icinga Commands
OR 'What actually gets run'
Use Macros to set paths in resource.cfg
![Page 27: Where I Want to be](https://reader035.vdocument.in/reader035/viewer/2022062305/568159e3550346895dc72dcb/html5/thumbnails/27.jpg)
28
Dependencies
![Page 28: Where I Want to be](https://reader035.vdocument.in/reader035/viewer/2022062305/568159e3550346895dc72dcb/html5/thumbnails/28.jpg)
29
PRO TIP: Dependencies
Unreliable services Cut down on the number of alerts Tell me what's really wrong Route alerts accordingly
![Page 29: Where I Want to be](https://reader035.vdocument.in/reader035/viewer/2022062305/568159e3550346895dc72dcb/html5/thumbnails/29.jpg)
30
Nagios_servicedependencies
![Page 30: Where I Want to be](https://reader035.vdocument.in/reader035/viewer/2022062305/568159e3550346895dc72dcb/html5/thumbnails/30.jpg)
31
NRPE
![Page 31: Where I Want to be](https://reader035.vdocument.in/reader035/viewer/2022062305/568159e3550346895dc72dcb/html5/thumbnails/31.jpg)
32
NRPE
Runs on client Secured via SSL Has ACLs Runs as nobody Can run commands Useful for other things...
![Page 32: Where I Want to be](https://reader035.vdocument.in/reader035/viewer/2022062305/568159e3550346895dc72dcb/html5/thumbnails/32.jpg)
33
Configuring NRPE
![Page 33: Where I Want to be](https://reader035.vdocument.in/reader035/viewer/2022062305/568159e3550346895dc72dcb/html5/thumbnails/33.jpg)
34
NRPE Checks
![Page 34: Where I Want to be](https://reader035.vdocument.in/reader035/viewer/2022062305/568159e3550346895dc72dcb/html5/thumbnails/34.jpg)
35
Plugins
![Page 35: Where I Want to be](https://reader035.vdocument.in/reader035/viewer/2022062305/568159e3550346895dc72dcb/html5/thumbnails/35.jpg)
36
exchange.nagios.org
![Page 36: Where I Want to be](https://reader035.vdocument.in/reader035/viewer/2022062305/568159e3550346895dc72dcb/html5/thumbnails/36.jpg)
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
![Page 37: Where I Want to be](https://reader035.vdocument.in/reader035/viewer/2022062305/568159e3550346895dc72dcb/html5/thumbnails/37.jpg)
38
Workflows
![Page 38: Where I Want to be](https://reader035.vdocument.in/reader035/viewer/2022062305/568159e3550346895dc72dcb/html5/thumbnails/38.jpg)
39
Watching Monitoring
![Page 39: Where I Want to be](https://reader035.vdocument.in/reader035/viewer/2022062305/568159e3550346895dc72dcb/html5/thumbnails/39.jpg)
40
Scheduling Downtime
![Page 40: Where I Want to be](https://reader035.vdocument.in/reader035/viewer/2022062305/568159e3550346895dc72dcb/html5/thumbnails/40.jpg)
41
Filtering
![Page 41: Where I Want to be](https://reader035.vdocument.in/reader035/viewer/2022062305/568159e3550346895dc72dcb/html5/thumbnails/41.jpg)
42
Alerting
![Page 42: Where I Want to be](https://reader035.vdocument.in/reader035/viewer/2022062305/568159e3550346895dc72dcb/html5/thumbnails/42.jpg)
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
![Page 43: Where I Want to be](https://reader035.vdocument.in/reader035/viewer/2022062305/568159e3550346895dc72dcb/html5/thumbnails/43.jpg)
44
![Page 44: Where I Want to be](https://reader035.vdocument.in/reader035/viewer/2022062305/568159e3550346895dc72dcb/html5/thumbnails/44.jpg)
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
[email protected], @maguec, #gaijin (freenode), http://blog.mague.com
Thanks
Yvonne Kong, Michael Catlin, Juan Ortega, Anthony Kong, Puppet Labs, Icinga Team