The Linux kernel is an incredible circus performer, carefully juggling many processes and their resource needs to keep your server humming along. The kernel is also all about equity: when there is competition for resources, the kernel tries to distribute those resources fairly.
However, what if you've got an important process that needs priority? What about a low-priority process? Or what about limiting resources for a group of a processes?
The kernel can't determine what CPU processes are important without your help.
Most processes are started at the same priority level and the Linux kernel schedules time for each task evenly on the processor. Have a CPU intensive process that can be run at a lower priority? Then you need to tell the scheduler about it!
There are at least three ways in which you can control how much CPU time a process gets:
- Use the
nice command to manually lower the task's priority.
- Use the
cpulimit command to repeatedly pause the process so that it doesn’t exceed a certain limit.
- Use Linux’s built-in control groups, a mechanism which tells the scheduler to limit the amount of resources available to the process.
Let's look at how these work and the pros and cons of each.
We're happy to announce our first enhancement to v2 of our API: chart markers.
Use chart markers to note significant events like production deploys, infrastructure upgrades, performance enhancements, etc.
Creating a marker is simple:
curl -X POST --data "notes=deployed production" https://scoutapp.com/api/v2/KEY/markers
Markers are applied to all charts on a dashboard.
Adding a marker after a Capistrano Deploy
Here's an example of a simple hook to create a marker after a deploy if you are using Capistrano:
after "deploy:restart", "deploy:mark_release_via_api"
task :mark_release_via_api, hosts:"app1.acme.com" do
run_locally %Q(curl --data "notes=deployed production" https://scoutapp.com/api/v2/API_KEY/markers)
Many of you come to Scout from Nagios. We'd like to make the transition to Scout easier.
How about having our agent run your Nagios Plugins? To try it, SSH onto your server and run:
gem install scout --pre
Then, in your crontab entry for Scout use the
* * * * * scout KEY --nagios
This will run the commands defined in your
/etc/nagios/nrpe.cfg file. If your config file is somewhere else (or you only want to run a subset of commands) you can provide the path to that file:
* * * * * scout KEY --nagios /.scout/nagios.cfg
Data from Nagios plugins will show up w/each of your servers and can be placed on charts, just like any other metric in Scout.
Send your feedback to firstname.lastname@example.org. We'll give you a vintage Scout T-Shirt for your thoughts.
You try creating a file on a server and see this error message:
No space left on device
...but you've got plenty of space:
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/xvda1 10321208 3159012 6637908 33% /
Who is the invisible monster chewing up all of your space?
Why, the inode monster of course!
What are inodes?
An index node (or inode) contains metadata information (file size, file type, etc.) for a file system object (like a file or a directory). There is one inode per file system object.
An inode doesn't store the file contents or the name: it simply points to a specific file or directory.
During a team camp among the lofty peaks of Breckenridge, Colorado, we talked a lot about the future of Scout and monitoring in general. Big mountains and nature have a way of doing that.
One thing that was getting our nerd juices flowing: Go.
At Monitorima in May, it was clear that Go was becoming the language of choice for performant yet fun-to-develop daemons.
After our morning hike fueled us with crip mountain air, we said: why not build a light Scout daemon in Go? As in, right this afternoon?
Our first-generation API was feeling pretty dated. Time for an update!
|less like this:
||more like this:
Skip to the new API documentation: https://scoutapp.com/info/api
A Modern RESTful API with Token-based Authentication
To get started, your account key -- the same one you use in setting up the agent -- is also an API key. You can create and revoke additional API keys at any time through the web interface.
- We use HTTP verbs and return codes with respect.
- Everything in the new API can be performed via cURL.
- All data is returned in JSON format.
The Quickest of Quick-starts
To get recent alerts:
To disable notifications on a server:
curl --data "notifications=false" https://scoutapp.com/api/v2/YOURAPIKEY/servers/HOSTNAME
Room to Grow
With the updated API, there's a foundation to add more endpoints as needed. If there's something you need to make Scout play nicely with your other systems, let us know!
Learn more about our API at https://scoutapp.com/info/api
Your high-powered server is suddenly running dog slow, and you need to remember the troubleshooting steps again. Bookmark this page for a ready reminder the next time you need to diagnose a slow server.
Get on "top" of it
Linux's top command provides a wealth of troubleshooting information, but you have to know what you're looking for. Reference this diagram as you go through the steps below:
We heard you loud and clear: the new dashboards need multiple metrics on the same chart. Starting today, you can add as many metrics as you want to an individual chart, just by dragging metrics from the sidebar.
To remove metrics, just go into chart settings:
Finally, we consolidated the chart settings & got rid of some of the visual noise.
What do you think?
The new UI is designed for:
- smooth ad-hoc exploration of your data
- effortless juxtaposition of different metrics
- clutter-free dashboards you'll want to show off on a dedicated display
How's it working for you? Comments welcome at email@example.com.
Thanks for your feedback since the launch of our new dashboards UI last week! We're taking your suggestions to heart - here's what we've been working on.
You can now stack metrics just like before. Choose the "stacked" display option in the chart settings.
You'll also see a total across metrics on the chart when hovering over the chart.
Name your charts
We give your charts a default name, but sometimes you have a more awesome name. Now you can rename your charts at-will.
More metrics in the tooltip
We've increased the number of visible metrics in the tooltip to 15. Don't forget you can scroll through the metrics in the tooltip if you have more. Also, tooltip metrics are sorted so you'll see the highest values first.
Coming: different metrics on the same chart
We launched with the ability to create charts with a single metric. The top request we're hearing is the ability to place multiple metrics on the same chart (ex: CPU I/O Wait, CPU User %, CPU System).
We're working on this! We'll update when this is available.
We'll keep making dashboards more awesome
We won't rest until you start taking Instragram photos of your favorite Scout dashboard moments.
Send your feedback/suggestions/bug reports to firstname.lastname@example.org.
Dashboards and charts are the swiss army knife of monitoring tools. In fact, dashboards and charts account for roughly half of all page views in our UI.
A couple of months back, we decided it was time to revamp our dashboards and charts experience in Scout. Like a swiss army knife, our goal was to strike the balance between utility and ease-of-use. Today, we're excited to rollout our the new experience to everyone.
The new UI delivers a buttery-smooth experience while providing what you need to monitor your growing server footprint.
Unifying dashboards and charts
Dashboards and charts used to be two separate areas of Scout: now, two have become one. It's never been easier to get all of your key metrics onto a single page.
The sidebar lists all of your metrics. As your Vim-loving colleague would tell you, the fastest way to work is via your keyboard. It's the same with dashboards: to filter metrics, just start typing. Use your up/down keys to page through metrics and hit enter to create a chart.
When you add a chart, you'll see that metric across all of your servers. Say goodbye to clicking check boxes!
What if you want to filter metrics (example: memory usage on just your application servers)? Easy stuff. Use the global filters at the top of the page to apply that filter to every chart on the page:
...or just use the chart-specific settings to apply it to just this chart:
Drag and Drop + Resize
You can drag-and-drop plus resize charts at-will to get your dashboard exactly how you want it.
Lightweight: embrace ad-hoc
Frequently, we'll whip up a dashboard for something we want to inspect. Dashboards don't get in the way: you don't need to name dashboards or charts just to view or share a dashboard with a colleague.
As you add/remove servers or plugins, charts will auto-update with the changes. Filters are applied via environment names, role names, and server names - not specific IDs - so they stay current as your infrastructure grows.
Sharing is caring
Want to share a dashboard with a friend that doesn't have a Scout account? No worries - just click the "Share" link:
Less noise w/range
When you have many servers, charts get very noisy with lots of lines. Our range display solves this problem by displaying a line for the average and a band for the min/max across all of your servers.
You can always toggle to the breakout display to view a line for each server.
The charts will resize dynamically as you adjust the width of your browser window.
When inspecting a chart, you'll see a vertical line on the other charts over that same point in time. With this, correlations become clear.
Easy date navigation
Just like before, our flexible date parser makes it easy to select the end time for a chart. You can select between different durations and move forward+back in time.
What about your existing charts and dashboards?
You'll be able to access these under the "Legacy Charts" navigation area in Scout. We'll be deprecating support for old dashboards and charts in the next several months. Rest assured we'll communicate this timeline as it develops.
We've been using the new UI internally for a while and we can't imagine going back. Charge is hard, but we think this will be a transition you'll be excited about.
As always, send your thoughts and bug reports to email@example.com.