have you been stalking your servers?

81
Have you been stalking your servers?

Upload: morpht

Post on 10-May-2015

578 views

Category:

Technology


0 download

DESCRIPTION

Presentation for DrupalCon Prague 2013 https://prague2013.drupal.org/session/have-you-been-stalking-your-servers

TRANSCRIPT

Page 1: Have you been stalking your servers?

Have you been stalking your servers?

Page 2: Have you been stalking your servers?

Have you been stalking your servers?

Marji CermakSysadmin & DevOps Engineer at Morpht

[email protected]@cermakm

Page 3: Have you been stalking your servers?

The rule of 3 things

picture: http://www.flickr.com/photos/helenaperezgarcia/5692392667/

Page 4: Have you been stalking your servers?

The rule of 3 things

1. What is monitoring and why do you want to monitor

2. Some monitoring tools available for you

3. It is easy to start with monitoring.

Page 5: Have you been stalking your servers?

Part 1

What is monitoring and why do you want to monitor

Page 6: Have you been stalking your servers?

photo: http://www.flickr.com/photos/tiagopadua/7903366470/

Page 7: Have you been stalking your servers?

Monitoring

Monitoring is an intermittent (regular or irregular) series of observations in time, carried out to show the extent of compliance with a formulated standard or degree of deviation from an expected norm.

J. M. Hellawell (1991), modified by A. Brown (2000), http://jncc.defra.gov.uk/page-2268nature conservation area

Page 8: Have you been stalking your servers?

Why you need to monitor

● to know about the bad news before your customers (or your boss)

Page 9: Have you been stalking your servers?

Why you need to monitor

● to know about the bad news before your customers (or your boss)

● to scale up your server in advance

Page 10: Have you been stalking your servers?

Why you need to monitor

● to know about the bad news before your customers (or your boss)

● to scale up your server in advance

● to tune up your app

Page 11: Have you been stalking your servers?

Why you need to monitor (cont.)

● to prove your uptime of 99.999 :)

Page 12: Have you been stalking your servers?

The fun of the nines

Source: http://en.wikipedia.org/wiki/High_availability

Nines: http://en.wikipedia.org/wiki/List_of_unusual_units_of_measurement#Nines

Page 13: Have you been stalking your servers?

Why you need to monitor (cont.)

● to prove your uptime of 99.999 :)

● to minimise downtime (expensive)

Page 14: Have you been stalking your servers?

Why you need to monitor (cont.)

● to prove your uptime of 99.999 :)

● to minimise downtime (expensive)

● to capture customer information

Page 15: Have you been stalking your servers?

Why you need to monitor (cont.)

● to have data / metrics to diagnose

Page 16: Have you been stalking your servers?

Diagnosing your collected data

watch out for:● trends

Page 17: Have you been stalking your servers?

Diagnosing your collected data

watch out for:● trends● spikes

Page 18: Have you been stalking your servers?

Diagnosing your collected data

watch out for:● trends● spikes● irregularities

Page 19: Have you been stalking your servers?

Diagnosing your collected data

watch out for:● trends● spikes● irregularities● thresholds

Page 20: Have you been stalking your servers?

Areas to monitor

● network

photo: http://www.flickr.com/photos/misja_klimov/2120956405/

Page 21: Have you been stalking your servers?

Areas to monitor

● network● server

photo: http://www.flickr.com/photos/johnjack/3666997634/

Page 22: Have you been stalking your servers?

Areas to monitor

● network● server● services

photo: http://www.flickr.com/photos/agustingodet/3691794089/

Page 23: Have you been stalking your servers?

Areas to monitor

● network● server● services

photo: http://www.flickr.com/photos/agustingodet/3691792393/

Page 24: Have you been stalking your servers?

Areas to monitor

● network● server● services● applications photo: http://www.flickr.com/photos/cheerfulstoic/942211994/

Page 25: Have you been stalking your servers?

Areas to monitor

● network● server● services● applications● users

photo: http://www.flickr.com/photos/jimmysmith/99528596/

Page 26: Have you been stalking your servers?

Drupal Areas to monitor?

● network● server● services● applications● users

Page 27: Have you been stalking your servers?

Drupal Areas to monitor

● network● server ● services● applications● users

Page 28: Have you been stalking your servers?

Drupal Areas to monitor

● network● server ● services● applications● users

Page 29: Have you been stalking your servers?

Drupal Areas to monitor

● network● server● services

○ webserver○ database

● applications● users

Page 30: Have you been stalking your servers?

Drupal Areas to monitor

● network● server● services

○ webserver○ database

● applications - your Drupal site(s)● users

Page 31: Have you been stalking your servers?

Drupal Areas to monitor

● network● server● services

○ webserver○ database

● applications - your Drupal site(s)● users

Page 32: Have you been stalking your servers?

Part 2

Some monitoring tools available for you

Page 33: Have you been stalking your servers?

Meet Nagios, Munin and others

● Nagios● Munin● APC dashboard

● related Drupal modules

Page 34: Have you been stalking your servers?
Page 35: Have you been stalking your servers?

Nagios /ˈnɑːɡiːoʊs/

● system, network and infrastructure monitoring software application

● monitors and alerts

Page 36: Have you been stalking your servers?

Nagios /ˈnɑːɡiːoʊs/

Provides monitoring of:● network services (SMTP, POP3, HTTP,

NNTP, ICMP, SNMP, FTP, SSH),● host resources (processor load, disk usage,

system logs),● anything else like probes (temperature,

alarms, etc).Many plugins available.

Page 37: Have you been stalking your servers?

Nagios /ˈnɑːɡiːoʊs/

Name and Pronunciation:● NetSaint -> "Nagios Ain't Gonna Insist On

Sainthood"● Agios' a transliteration of the Greek word

άγιος (saint)

Page 38: Have you been stalking your servers?

Nagios /ˈnɑːɡiːoʊs/

● alerts by email/pager/IM...● alerts to different contacts● notification escalation● service / host dependencies● soft / hard states

Page 39: Have you been stalking your servers?

Nagios /ˈnɑːɡiːoʊs/

Page 40: Have you been stalking your servers?

Nagios Addons

NRPE (Nagios Remote Plugin Executor)- executes plugins on remote Linux/Unix hosts

image source: http://nagios.sourceforge.net/docs/3_0/addons.html

Page 41: Have you been stalking your servers?

Nagios Addons

NSCA- sends passive checks from remote Linux/Unix hosts to Nagios

image source: http://nagios.sourceforge.net/docs/3_0/addons.html

Page 42: Have you been stalking your servers?

Drupal and Nagios

Page 43: Have you been stalking your servers?
Page 44: Have you been stalking your servers?

Munin

● network/system monitoring application● outputs graphs through a web interface● many plugins

Page 45: Have you been stalking your servers?

Munin

● master / node architecture● connects to all nodes at regular intervals ● it uses the RRDtool (round robin database

tool, handles time-series data)

Page 46: Have you been stalking your servers?
Page 47: Have you been stalking your servers?
Page 48: Have you been stalking your servers?

Munin Example

Page 49: Have you been stalking your servers?

Drupal and Munin

Page 50: Have you been stalking your servers?

Drupal and Munin

Page 51: Have you been stalking your servers?

● they complement each other● nagios normally alerts on one “service” ● munin can be used to correlate different

things

Nagios & Munin

Page 52: Have you been stalking your servers?

APC - what is it?

The Alternative PHP Cache (APC) is a free and open opcode cache for PHP.

Page 53: Have you been stalking your servers?

APC - what is it?

The Alternative PHP Cache (APC) is a free and open opcode cache for PHP.

Its goal is to provide a free, open, and robust framework for caching and optimising PHP intermediate code.

Inside your webserver (not a webcache)

Page 54: Have you been stalking your servers?

Monitoring APCMemory Usage, Hit & Misses

Page 55: Have you been stalking your servers?

Monitoring APCFragmentation

Page 56: Have you been stalking your servers?

Monitoring APCmemory usage

Page 57: Have you been stalking your servers?

Monitoring APCfiles in cache

Page 58: Have you been stalking your servers?

Other monitoring tools

● Collectd● Graphite● Shinken● Sensu● NewRelic● Pingdom

Page 59: Have you been stalking your servers?

Part 3

It is easy to start with monitoring.

Page 60: Have you been stalking your servers?

How to install these tools?

Muninsudo apt-get install munin munin-node

Nagiossudo apt-get install nagios3

APC dashboardphp.apc script from php-apc package

Page 61: Have you been stalking your servers?

How to configure these?

● It is a bit fiddly● There are many guides targeting beginners● You don’t want to do it again and again

Page 62: Have you been stalking your servers?

puppet – a quick way to start

system for automating system administration tasks

Page 63: Have you been stalking your servers?

puppet – a quick way to start

● a declarative language for expressing system configuration,

Page 64: Have you been stalking your servers?

puppet – a quick way to start

● a declarative language for expressing system configuration,

● a client and server for distributing it

Page 65: Have you been stalking your servers?

puppet – a quick way to start

● a declarative language for expressing system configuration,

● a client and server for distributing it

● and a library for realising the configuration.

Page 66: Have you been stalking your servers?

puppet – a quick way to start

}

Page 67: Have you been stalking your servers?

puppet – a quick way to start

1. clone the stalk-your-box repo

2. run puppet apply on the code

3. monitor!

Page 68: Have you been stalking your servers?

A quick way to start

$ git clone git://github.com/morpht/stalk-your-box.git /tmp/stalk-your-box

Cloning into '/tmp/stalk-your-box'...remote: Counting objects: 23, done.remote: Compressing objects: 100% (19/19), done.remote: Total 23 (delta 1), reused 23 (delta 1)Receiving objects: 100% (23/23), 11.35 KiB, done.Resolving deltas: 100% (1/1), done.

Page 69: Have you been stalking your servers?

A quick way to start

$ cd /tmp/stalk-your-box/$ sudo puppet apply --modulepath=modules manifest.pp

notice: /Stage[main]/Nagios::Server/Package[nagios3]/ensure: ensure changed 'purged' to 'present'

notice: /Stage[main]/Nagios::Server/File[/etc/nagios3/htpasswd.users]/ensure: created

notice: /Stage[main]/Nagios::Server/Exec[update-nagios-htpasswd]/returns: Adding password for user nagiosadmin

notice: /Stage[main]/Nagios::Server/Exec[update-nagios-htpasswd]/returns: executed successfully

notice: /Stage[main]/Munin::Node/Package[libcache-cache-perl]/ensure: ensure changed 'purged' to 'present'

notice: /Stage[main]/Munin::Node/Package[munin-node]/ensure: ensure changed 'purged' to 'present'

notice: /Stage[main]/Munin::Node/File[munin-node.conf]/content: content changed '{md5}e486786f866d7d7e025dea401c300e7b' to '{md5}dbf97a87a8da86ef68155815ecae3c1c'

notice: /Stage[main]/Munin::Server/Service[apache2]: Triggered 'refresh' from 1 events

notice: Finished catalog run in 44.26 seconds

Page 70: Have you been stalking your servers?

What this gives you

Page 71: Have you been stalking your servers?

What this gives you

Page 72: Have you been stalking your servers?

What this gives you

Page 73: Have you been stalking your servers?

Manifest.pp

Page 74: Have you been stalking your servers?

Manifest.pp

Page 75: Have you been stalking your servers?

Manifest.pp

Page 76: Have you been stalking your servers?

Summary

It is easy to start with monitoring.

Page 77: Have you been stalking your servers?

The fun part - what’s wrong?

What’s wrong here?

Page 78: Have you been stalking your servers?

The fun part - what’s wrong?

Page 79: Have you been stalking your servers?

Questions

Here is the get started monitoring repo:https://github.com/morpht/stalk-your-box

Marji CermakSysadmin & DevOps Engineer at Morpht

[email protected]@cermakm

Page 80: Have you been stalking your servers?

ResourcesRule of Three: en.wikipedia.org/wiki/Rule_of_three_(writing)Nagios: http://www.nagios.org/Munin: http://munin-monitoring.org/Nagios module: https://drupal.org/project/nagiosMunin module: https://drupal.org/project/muninMunin plugins (experimental): https://drupal.org/sandbox/murrayw/2084281Sensu: http://sensuapp.orgMySQLTuner: http://MySQLTuner.pl

Page 81: Have you been stalking your servers?

THANK YOU!

WHAT DID YOU THINK?

Locate this session at the DrupalCon Prague website:http://prague2013.drupal.org/schedule

Click the “Take the survey” link