Nginx monitoring with graphite
Upcoming SlideShare
Loading in...5
×
 

Like this? Share it with your network

Share

Nginx monitoring with graphite

on

  • 1,167 views

talk i held @ Berlin DevOps 2014-02 meetup

talk i held @ Berlin DevOps 2014-02 meetup

Statistics

Views

Total Views
1,167
Views on SlideShare
1,139
Embed Views
28

Actions

Likes
1
Downloads
8
Comments
0

3 Embeds 28

http://www.slideee.com 20
https://twitter.com 6
http://localhost 2

Accessibility

Categories

Upload Details

Uploaded via as OpenOffice

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Nginx monitoring with graphite Presentation Transcript

  • 1. Nginx monitoring with graphite twitter: @bytefeeder
  • 2. IAMA devops system engineer ● 17 years of Unix/Linux experience ● 5 years in the ruby startup world ● ● 5 years at Blizzard Entertainment (web and game team) Redhat certified engineer
  • 3. alternative tools ● Newrelic (www.newrelic.com) ● rrd tool (http://oss.oetiker.ch/rrdtool/) ● D3.js (http://d3js.org/) ● munin (http://munin-monitoring.org/)
  • 4. workflow software nginx syslog-ng python graphite
  • 5. HTTP status codes are the codes that the Web server uses to communicate with the Web browser or user agent. If you understand HTTP status codes then you will be able to control your Web server with a higher degree of accuracy and effectiveness. 100-101 - Informational Status Codes 200-206 - Successful Status Codes 300-307 - Redirection Status Codes 400-416 - Client Error Status Codes 500-505 - Server Error Status Codes
  • 6. graphite Stores numeric time-series data Renders graphs on demand via a webapplication
  • 7. carbon-cache daemon receiving the path, values and timestamp for a datapoint socket_send("graphite IP", 2003, "%s %s %dn" % (path, value, int(time.time()))) => path “sys.app501.cpu” => value “95” => time “epoch time” port 2003 UDP/TCP receiver
  • 8. whisper fixed-size database, similar in design to RRD (round-robin-database). Fast, reliable storage of numeric data over time. carbon-cache will write to whisper files (disk) if cpu and i/o are available
  • 9. statsd network daemon that runs on the Node.js platform and listens for statistics, like counters and timers, sent over UDP and sends aggregates to one or more pluggable backend services socket_send_udp("graphite IP", 8125, "%s:%s|c" % (path, value)) path => sys.www.200 value => 95 port 8126/8125 tcp/udp
  • 10. many values per bucket one value per datapoint Aggregated values per datapoint statsd app501.cpu app502.cpu app503.cpu app504.cpu carbon-cache www.200 www.502
  • 11. app501 app502 logserver app503 app504 python 1 1 1 1 1 carbon-cache sum statsd whisper file of “ ddd “ If logline matches “ ddd “ send value 1 to statsd
  • 12. Thank You!