Did you know? DZone has great portals for Python, Cloud, NoSQL, and HTML5!
DevOps Zone is brought to you in partnership with:

Mitch Pronschinske is the Senior Content Curator (aka. "Lord of the Zones") at DZone. That means he writes and searches for the finest developer content in the land so that you don't have to. He often has hotdogs for lunch, likes to make his own ringtones, enjoys card and board games, and is married to an underwear model. Mitch is a DZone employee and has posted 1703 posts at DZone. You can read more from them at their website. View Full User Profile

Amon: Lightweight, Open Source App and Server Monitoring

02.07.2012
Email
Views: 3641
  • submit to reddit
The DevOps Zone is presented by DZone with partners including ThoughtWorks Studios and UrbanCode to bring you the most interesting and relevant content on the DevOps movement.  See today's top DevOps content and be sure to check out ThoughtWorks Studio's Continuous Delivery Whitepapers and UrbanCode's Webinars.
Amon (named after the Egyptian Sun god or a demon) is a self-hosted toolkit that allows you to monitor web apps with a small footprint (Amon can fit in 20MB of RAM) and all the information kept in one place.  It's a nice open source tool (with good docs) that can run on the smallest VPS you have.  If you don't trust similar cloud solutions (some of which are not free) and you want to be in full control of your logs and performance history, then Amon is probably worth a look, especially for you DevOps folks.

Here's what it can do:

  • Monitoring (CPU, Loadavg, Disk space, Network traffic, Memory)
  • Error Tracking
  • App Logging


Amon consists of three main components:

  1. Collector daemon - Amon’s server and process monitoring is a thin wrapper on top of Unix tools to record metrics and store them in the MongoDB backend.
  2. JSON API - Shipping with language bindings for Python, Ruby, and JavaScript, Amon’s JSON API makes it easy to record your own application events.
  3. Web interface - The web app provides a friendly user interface for viewing logs and visualizing data in charts.  [Written in Python]


Support tested for:

  • Ubuntu
  • Debian
  • CentOS
  • Fedora,
  • Amazon Linux AMI
  • Mac OS X

Amon is language and framework agnostic, but if you if you want to log exceptions and data from your web applications you have to install one of Amon's pre-built clients for Python. Ruby, PHP, and Javascript. You can easily write a client for another language with this guide.

Get over to the Amon Homepage to download it.

(Note: Opinions expressed in this article and its replies are the opinions of their respective authors and not those of DZone, Inc.)

ThoughtWorks Studios and UrbanCode, the sponsors of the DevOps Zone, are champions of the DevOps movement.  Their deployment tooling solutions focus on the entire software development lifecycle, involving all parts of an organization, which helps facilitate a migration to the DevOps philosophy.