forked from mattmakai/fullstackpython.com
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathmonitoring.html
More file actions
109 lines (99 loc) · 5.13 KB
/
monitoring.html
File metadata and controls
109 lines (99 loc) · 5.13 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
<!doctype html>
<!--[if lt IE 7]> <html class="no-js ie6 oldie" lang="en"> <![endif]-->
<!--[if IE 7]> <html class="no-js ie7 oldie" lang="en"> <![endif]-->
<!--[if IE 8]> <html class="no-js ie8 oldie" lang="en"> <![endif]-->
<!--[if gt IE 8]><!-->
<html class="no-js" lang="en"> <!--<![endif]-->
<head>
<meta charset="utf-8">
<meta name="language" content="English" />
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<title>Full Stack Python</title>
<meta name="description" content="Full stack Python shows how an entire Python web application is built, from the server to the front end JavaScript.">
<meta name="author" content="Matt Makai">
<meta name="viewport" content="width=device-width,initial-scale=1">
<link rel="stylesheet" href="/css/c.css" />
<link rel="stylesheet" href="/css/bootstrap-responsive.min.css" />
<script src="/js/modernizr-2.0.6.min.js"></script>
<script type="text/javascript">
var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-19910497-7']);
_gaq.push(['_trackPageview']);
(function() {
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
})();
</script>
</head>
<body>
<a href="https://github.com/makaimc/fullstackpython.github.com" class="github">
<img style="position: absolute; top: 0; right: 0; border: 0;" src="http://s3.amazonaws.com/github/ribbons/forkme_right_darkblue_121621.png" alt="Fork me on GitHub" />
</a>
<div class="container">
<div class="row">
<div class="span12">
<div class="logo-header-section">
<a href="/"><img src="../img/full-stack-python-logo-bw.png" height="42" width="42" class="logo-image" /></a>
<span class="logo-title"><a href="/">Full Stack Python</a></span>
</div>
</div>
</div>
<h1>Monitoring</h1>
<p>Capturing and analyzing data about your production environment is critical
to proactively deal with stability, performance, and errors in a web
application.</p>
<p>There are several important resources to monitor on the operating system
and network level of a web stack.</p>
<ol class="arabic simple">
<li>CPU utilization</li>
<li>Memory utilization</li>
<li>Persistence storage consumed versus free</li>
<li>Network bandwidth and latency</li>
</ol>
<p>Application level monitoring encompasses several aspects. The amount of time
and resources dedicated to each aspect will vary based on whether an
application is read-heavy, write-heavy, or subject to rapid swings in traffic.</p>
<ol class="arabic simple">
<li>Application warnings and errors (500-level HTTP errors)</li>
<li>Application code performance</li>
<li>Template rendering time</li>
<li>Browser rendering time for the application</li>
<li>Database querying performance</li>
</ol>
<div class="section" id="monitoring-third-party-services">
<h2>Monitoring Third Party Services</h2>
<p><a class="reference external" href="http://newrelic.com/">New Relic</a>. Application and database monitoring as
well as plug ins for capturing and analyzing additional data about tools in
your stack.</p>
<p><a class="reference external" href="http://copperegg.com/">CopperEgg</a> is lower-level monitoring on server and
infrastructure. It's popular with DevOps shops that are making changes to
their production environments and want immediate feedback on the results
of those modifications.</p>
<p><a class="reference external" href="http://status.io/">Status.io</a> focuses on uptime and response metrics
transparency for your users.</p>
<p><a class="reference external" href="http://www.pagerduty.com/">PagerDuty</a> alerts a designated person or group
if there are stability, performance, or uptime issues with an application.</p>
</div>
<div class="section" id="open-source-projects">
<h2>Open Source Projects</h2>
<p><a class="reference external" href="https://github.com/etsy/statsd/">statsd</a> is a node.js network daemon that
listens for metrics and aggregates them for transfer into another service
such as Graphite.</p>
<p><a class="reference external" href="https://graphite.readthedocs.org/en/latest/overview.html">Graphite</a> stores
time-series data and displays them in graphs through a web application.</p>
</div>
<div class="section" id="monitoring-resources">
<h2>Monitoring Resources</h2>
<p><a class="reference external" href="http://www.paperplanes.de/2011/1/5/the_virtues_of_monitoring.html">The Virtues of Monitoring</a></p>
<p><a class="reference external" href="http://blog.docker.io/2013/07/effortless-monitoring-with-collectd-graphite-and-docker/">Effortless Monitoring with collectd, Graphite, and Docker</a></p>
</div>
<hr/>
<div class="footer pull-right">
<a href="http://www.mattmakai.com/" class="underline">Matt Makai</a> 2013
</div>
</div>
<script src="http://code.jquery.com/jquery-latest.js"></script>
<script src="/js/bootstrap.min.js"></script>
</body>
</html>