Over a million developers have joined DZone.
{{announcement.body}}
{{announcement.title}}

Monitoring Your Django App with Librato

DZone's Guide to

Monitoring Your Django App with Librato

Librato is great for monitoring Django apps. Here's a breakdown of system requirements and an explanation of how it actually functions.

Free Resource

Transform incident management with machine learning and analytics to help you maintain optimal performance and availability while keeping pace with the growing demands of digital business with this eBook, brought to you in partnership with BMC.

Our instrumentation reports above 80 metrics that measure various performance and health metrics. It is easy to fine-tune the reported metrics using the provided configuration file.

  • Current and historical average web response times, including visibility into model layer latency, WSGI application layer overhead, time spent accessing external services, and in the application code itself.
  • Overall throughput, broken down by HTTP status codes.
  • Error request percentages.
  • Log volume for critical, error and warning messages, achieved by instrumenting the standard logging module. A variation in the log volume can often signal anomalous behavior.

System Requirements

You’ll need a recent stable version of Django running Python 2.7. Our instrumentation was most recently tested using Django 1.8.6, Python 2.7.3 and Ubuntu 14.04.3 LTS.

How it Works

Our instrumentation is designed to work with no code modifications to your application.

  • Installing our pip package gives you the ability to transparently wrap the appropriate Django and Python classes and report useful measurements to Librato. However, the instrumentation doesn’t kick in unless you run it using the launcher utility (see below).
  • Running your application using our launcher utility enables the instrumentation, which ultimately reports the metrics for the app.
  • The launcher also spins up a bundled StatsD process, which aggregates and reports measurements to Librato.
  • Metrics are reported to Librato asynchronously, in order to reduce the performance impact on executing web requests.

You can optionally create a Python virtual environment to isolate the instrumentation to your Django web application.

More Information

Check out our Knowledge Base article for step-by-step details on configuring and running Django web applications. If you’d like to contribute features or bug fixes, please create a pull request on the librato-python-web GitHub project. And, of course, never hesitate to contact our support.

Evolve your approach to Application Performance Monitoring by adopting five best practices that are outlined and explored in this e-book, brought to you in partnership with BMC.

Topics:
librato ,django ,python ,performance

Published at DZone with permission of Dave Josephsen, DZone MVB. See the original article here.

Opinions expressed by DZone contributors are their own.

THE DZONE NEWSLETTER

Dev Resources & Solutions Straight to Your Inbox

Thanks for subscribing!

Awesome! Check your inbox to verify your email so you can start receiving the latest in tech news and resources.

X

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}