Nginx monitoring with graphite

download Nginx monitoring with graphite

If you can't read please download the document

description

talk i held @ Berlin DevOps 2014-02 meetup

Transcript of Nginx monitoring with graphite

  • 1. Nginx monitoring with graphitetwitter: @bytefeeder

2. IAMA devops system engineer 17 years of Unix/Linux experience5 years in the ruby startup world5 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 softwarenginx 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-cachedaemon 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 servicessocket_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 bucketone value per datapoint Aggregated values per datapointstatsdapp501.cpu app502.cpu app503.cpu app504.cpucarbon-cachewww.200www.502 11. app501 app502 logserver app503 app504python 1 1 1 1 1carbon-cachesumstatsdwhisper file of ddd If logline matches ddd send value 1 to statsd 12. Thank You!