Server Roles: Fewer Clicks, More Joy
Roles are a new feature available immediately for all new and existing accounts.
You have a carefully thought out architecture. You frequently add new servers as your business grows. In fact, scaling up is part of business as usual. Monitoring should scale easily with you -- that's why we're introducing roles.
Roles make it easy to setup plugins and triggers across many servers. Instead of individually configuring servers, configure roles. Then, apply roles to your servers through our UI, the command line, or your configuration management tool.
Some examples of how roles will make your life easier:
- Updating a trigger on 50 app servers
- Adding a Memory Usage plugin on 100 memcached servers
- Updating a plugin to a new version across all 10 MongoDB servers
Roles are available now on your account. Look for the new "Roles" item on the top navigation. If you previously had servers organized by groups, your groups have been upgraded to roles. See documentation here on creating roles and organizing your existing plugins into roles.
Your account now has a single, account-wide key -- use it for any new servers you add. Your existing keys will continue to work, so you don't have to touch any servers you're currently monitoring.
Most setups have a limited number of server configurations (app, db, utility, for example), and several servers of each configuration. When you add another app server, it probably needs the same monitoring template as your existing app servers. Adding more servers using existing templates is the scenario we wanted to make dead simple in Scout.
There's no need to stick to one template at a time: servers can have any number of roles in Scout, so feel free to mix and combine roles as needed to reflect the functionality of your servers. Is one of your HAProxy boxes also running memcached? No need to create a brand new roles, just apply two of the roles you already have.
Once defined, roles are "active": if you update a role (say by adding a plugin or a trigger), all the servers in that role are automatically updated to reflect the changes. It's a much easier way to to manage your monitoring configuration.
Best friends with Chef
We provide an official Chef Recipe designed to work with roles.
To simplify deployment, Scout now provides a single, account-wide key you can use on all your servers.
Even if you're not using Chef, you can (optionally) specify roles directly through the Scout executable:
scout -rdb,app to assign the db and app roles, for example. This makes role assignments highly script-able, whether you're using Chef, Puppet, or Moonshine.
Fine-tuned for large environments
With the recent notification group changes and now roles, we're making monitoring easier for large environments. Our previous tools -- cloud keys and plugin copy-paste -- were useful, but it was easy for things to get out of sync. Roles our our answer for keeping monitoring in sync in large environments.
Roles in Summary
With Roles, we want to make deploying and scaling scout on large environments as easy as possible:
- Roles are "active": updating role's triggers or plugins propagates to all the role's servers.
- Better than templates: Servers can belong to more than one role.
- Account-wide keys: no need to provision keys for new servers - reuse the same 40-character account key in the crontab across all your servers
- Specify roles via the crontab: optionally, you can pass a command-line argument to the scout agent to specify the roles it should belong to.
- Friendly with Chef: we also provide an official chef recipe for roles-enabled server configuration.
To get started, see the "Roles" dropdown on your account, and read the FAQ on roles here.