"Plugins" Posts


A Six-Pronged Rails Performance Philosophy

By Sudara Bullet_white Posted in Plugins Bullet_white Comments Comments

"An ounce of prevention is worth a pound of cure.” ― Benjamin Franklin

Application performance problems can be annoying. With luck, you'll spend an hour or two resolving the problem and get back to your real job: building things.

But what happens when the issues start piling up? What happens when "poor performance" becomes the norm?

When looking at performance issues in aggregate and cross-application, a deeper root cause can appear. This can be tough for a team to identify and even tougher to act upon.

Read More →

 

Kestrel in Production at Papertrail

By Derek Bullet_white Posted in Plugins Bullet_white Comments Comments

We’ve added prolific plugin contributor Eric Lindvall’s latest plugins to Scout: Kestrel Overall and Kestrel Queue Monitoring. Kestrel is a simple message queue built from production needs at Twitter. Being the gentleman he is, Eric shared his experiences with Kestrel at Papertrail, a hosted log aggregation service.

Why Kestrel?

As all good message queues should, it provides:

  • transactional reads to prevent losing messages if a worker crashes before finishing processing a message
  • durability to prevent losing messages if a queue server crashes or is stopped after messages have been sent to it
  • “normal” queues (only one client sees a given message) and “fanout queues” (all clients see a given message, which many messaging systems call “topics”)

We picked Kestrel because it has bounded memory usage (it has a configuration setting to specify how many queued messages should reside in RAM, generally defaulting to 128MB), it’s small (I was able to read the entire Scala codebase in a weekend), and running on the JVM (which we have experiencing with) was a plus.

Read More →

 

Monitoring HAProxy

By Derek Bullet_white Posted in Plugins Bullet_white Comments Comments

HAProxy is a rock-solid, high performance TCP/HTTP load balancer. It’s what we use at Scout to proxy traffic to our app servers.

We’ve added a plugin to monitor HAProxy: just specify the URL to your HAProxy stats page and the name of the proxy. You’ll get the request rate, error rate, and proxy status for the specified proxy.

Why monitoring the load balancer is important

The load balancer is one of the best places to narrow down the cause of an outage. If all servers in a proxy aren’t processing requests, it’s often an indication of an outage further down the stack (ex: the database). If it’s isolated to a specific app server, the first place to look might be the downed app server.

The Scout HAProxy plugin gathers its metrics by parsing the output of the HAProxy Status page. It’s one of my favorite open source status pages: the page loads quickly and the color-coded statuses make it easy to focus on problem areas during an incident. The Scout plugin and the HAProxy status page play well together: if the plugin records a dramatic change in the throughput, error rate, or the proxy status, we’ll pull up the HAProxy status page and dig further.

Installation Notes

Like all Scout plugins, installing the HAProxy plugin is just a couple of mouse clicks away. Just click the button in the Scout UI and select the HAProxy Monitoring plugin. Note that the plugin has one dependency: the fastercsv gem must be installed. See the plugin directory entry for more details on the plugin.

Credit

A big thanks to Jesse Newland for the initial version of this plugin.

 

Monitoring Apache ZooKeeper

By Derek Bullet_white Posted in Plugins Bullet_white Comments Comments

With over 50 million plays, OMGPOP – the free multiplayer game site – is logging a lot of data. Tracking stats like app downloads and launches paint a picture of how their games are performing.

This logging data is collected via Flume, a system for collecting streaming data, and delivered to a Hadoop Distributed File System (HDFS). So, how do you keep your Flume nodes configured in a consistent manner?

Enter Apache ZooKeeper, “a centralized service for maintaining configuration information, naming, providing distributed synchronization, and providing group services” (from the ZooKeeper homepage). Michael Fielder (Blog | Twitter), an NYC-based freelance systems operations engineering consultant, recently created a Scout Plugin for monitoring ZooKeeper at OMGPOP. The plugin parses the output of the srvr command on the installed server, reporting key ZooKeeper metrics. Additionally, an error is generated if ZooKeeper is not running.

Read More →

 

JMX Monitoring

By Derek Bullet_white Posted in Plugins Bullet_white Comments Comments

JMX Monitoring

One of the features Java Management Extensions provides is the ability to add instrumentation to an application. While this makes collecting metrics straightforward, it doesn’t address storage for these metrics. Enter David Dossot’s JMX Monitoring Scout Plugin.

Read More →

 

You Are Making Scout Even Better

By Andre Bullet_white Posted in Plugins Bullet_white Comments Comments

A huge thank you to Scout users who have sent us plugin fixes and enhancements! It’s really a pleasure to see the plugin library grow and improve. Here are the latest updates:

Memory Profiler

Solaris Compatibility added by Ankur Bulsara

URL Monitoring

Better exception handling for bad hostnames and request timeouts – Eric Lindvall and Venu Keesari

Disk Usage

Cleaned up some metric parsing – Michael Grosser

MongoDB Slow Queries

Added ability to read from replicas and silenced warnings in older mongo gems (<1.1.5) - Niels Meersschaert and Chris Griego

RabbitMQ Queue Details

Compatibility updates for version 2.3 by Chris Griego and Doug Barth

Passenger Status

Hiding metric output for servers you aren’t using (Apache or Nginx). Added metrics on the largest Passenger process memory size. By Chris Griego.

MySQL Stats

Added connections and max used connections metrics – Eric Lindvall

Delayed Job

Fixed “Oldest waiting delayed job” metric – Eric Lindvall

Device I/O

Fixed warning – Valery Vishnyakov

Ruby on Rails Monitoring

Added compatibility for Request Log Analyzer 1.10.0 – Chris Griego

How to update your plugins.

From any server page, click Plugins, and see if any are listed with update available:

Click through on the “updates available link”, then click the “Update Code” button. You’ll get the latest code.

Got an update, or an issue?

Send us a plugin support request if you have any issues. Got an update or a fix? Send us a Github pull request!

Thanks again to this round of plugin contributors!

 

Older posts: 1 2 3 4