"Updates" Posts

Presenting the Scout Agent at Ruby Kaigi - Tokyo, Japan July 19

By Derek Bullet_white Posted in Updates Bullet_white Comments Comments

Scout takes a trek to Ruby’s birthplace – Japan – as James Gray presents How Lazy Americans Monitor Servers at the sold out Ruby Kaigi.

James’ July 19th talk focuses on the architecture of the Scout agent, the Ruby gem that is installed on a server you wish to monitor using Scout.

James will dig into the technical details of the agent’s division of labor approach for preventing memory leaks and crashes.


Q&A with the Scout Agent - An overview

By Derek Bullet_white Posted in Updates Bullet_white Comments 4 comments

Our recent update to Scout featured a revised UI, more functionality, and a new Scout Agent. While it’s easy to see the changes in the UI, a lot of the work conducted by the agent happens beneath the surface.

The Scout Agent, which is installed on a server you wish to monitor, was kind enough to sit down and walk me through its DNA (note that the ability to answer human questions is currently not available in the most recent release).

First, tell me a bit about what you’re made of.

I’m just a plain-old Ruby gem that you can install on any Linux-based server (sudo gem install scout_agent).

So, you’re a daemon right? Aren’t long-running Ruby tasks known to leak memory?

Yes, I’m a daemon. And yes, Ruby, like many programming languages, can leak memory when run for a long period of time.

My strategy for preventing memory leaks is simple: I do real work, like running plugins, in a separate short-lived process. I fork(), do whatever, and exit() so the OS can clean up any mess.

What’s your strategy to prevent the agent from crashing? Obviously, it’s important that monitoring software keeps running.

My work is divided into 2 main processes and several short-lived processes:
  • Lifeline – A single process that watches over all other agent processes. If a process fails to check-in with the lifeline regularly, I force it to stop and replace it with a healthy process.
  • Master – This is the event loop of the agent and is the main process monitored by the lifeline. It just sleeps and runs plugins in a never-ending cycle.
  • Missions – These processes execute the plugin code. These are small processes that exist only when plugins are running.

The reason for this division of labor? The real work is executed by the mission processes, which are short-lived. By offloading the work to such processes, the potential for degrading performance and a plugin’s execution raising an exception and killing me off is greatly reduced.

It’s easier to write 200 lines of bug-free code than 3000. The 200 LOC (my lifeline) keeps the rest alive.

Read More →


Now with deep Rails Instrumentation, triggers, a more robust agent, and more

By Derek Bullet_white Posted in Updates Bullet_white Comments 2 comments

Scout is nearing 1/2 billon recorded metrics, but bragging about metrics is like bragging about the number of lines of code you’ve written. Metrics, like code, are a means to an end. It’s the quality, not the volume, that matters.

We took a big step in going beyond numbers today with the release of the Rails instrumentation plugin for Scout. It’s the first plugin to leverage Scout’s new features, and at just $7/server, we think it’s at a price that makes sense whether you have a small VPS or a cloud of servers.

A quick tour of Scout’s new features:

Deep Rails Instrumentation Plugin

Using the new Rails instrumentation plugin, you’ll get alerted of trends. Scout wants to help you correct and issue before it becomes a problem:


When things go wrong, Scout tries to lend a helping hand, giving optimization suggestions:


..and highlights the variables that changed the most:


Sometimes you just want an overview of your Rails application as well:


The Rails Instrumentation plugin is open source, like the rest of our plugins. View the source of the Rails plugin and its companion Scout plugin on GitHub.


Leverage the same alerting functionality used by the Deep Rails instrumentation plugin in your own plugins with triggers. For example, let Scout notify you if user signups dramatically increase compared to the previous 7 days. Just pick a metric and set the thresholds!

The new Scout Agent

The old cron-based Scout client has been replaced by the Scout Agent, a daemon. The Scout Agent is an easier install and enables the more powerful and flexible metric-collecting goodness used by the Rails instrumentation plugin.

View the Scout Agent source at GitHub.

An easier API

It’s even easier to get your data into Scout with the new Ruby API:

ScoutAgent::API.queue_report({:metric_name => value, :plugin_id => PLUGIN_ID})

Or just use JSON from the command line:

scout_agent q report <<< ‘{“new_users”: 12}’

View our Developer Resources for more information on integrating with Scout.

Just $7/server

You can get started today with a free 30 day trial.


Interview on akitaonrails.com

By Derek Bullet_white Posted in Updates Bullet_white Comments Comments

Fabio Akita tracked down our own Matt Todd to talk about Scout.

Listen to the interview:

Download (13:43)


Scout reviewed in French

By Derek Bullet_white Posted in Updates Bullet_white Comments Comments

If French suites you better than English (or you just like imagining yourself coding in a Paris coffee shop), Raphaël Emourgeon has penned a review of Scout in French.

Raphaël sums up Scout nicely:

Après avoir installé un gem et ajouté une tâche cron sur le serveur à surveiller, tout se fait à distance via le site Internet de Scoutapp. Il suffit de quelques clics pour installer un plugin sur une machine et commencer la surveillance. Les plugins font toute l’originalité du système puisqu’un plugin est un script Ruby qui peut faire tous les traitements imaginables et qui utilise ensuite l’API (très simple) de Scoutapp pour renvoyer des résultats.

P.S. If you’re like me and struggle with French, here’s Google’s attempt at the translation


Scout Checks in on Passenger

By Derek Bullet_white Posted in Updates, Plugins Bullet_white Comments Comments

The number one requested plugin for Scout has been a Phusion Passenger monitor. I’m happy to report that is now available.

Scout ~ Advance Marketing Engine

Using the new Passenger Monitor plugin, Scout can keep track of Passenger’s VM size, process count, and the amount of private memory it has squirreled away. Aside from just tracking these numbers for graphs, you can also elect to be emailed if any of these statistics crosses a line you indicate. As an added bonus, this plugin also tracks the same statistics for the Apache instance managing Passenger.

Passenger has quickly become a great new way to deploy Rails applications and we want to make sure Scout is keeping up with the curve.


Older posts: 1 ... 3 4 5 6