Telling someone “You should set up monitoring” is kind of like telling someone “You should exercise 20 minutes three times a week.” Yes, you know you should, but your chair is so comfortable and you haven’t keeled over dead yet.
For years*, 10gen has been planning to do monitoring “right,” making it painless to monitor your database. Today, we released the MongoDB Monitoring Service: MMS.
MMS is free hosted monitoring for MongoDB. I’ve been using it to help out paying customers for a while, so I thought I’d do a quick post on useful stuff I’ve discovered (documentation is… uh… a little light, so far).
So, first: you sign up.
There are two options: register a company and register another account for an existing company. For example, let’s say I wanted to monitor the servers for Snail in a Turtleneck Enterprises. I’ll create a new account and company group. Then Andrew, sys admin of my heart, can create an account with Snail in a Turtleneck Enterprises and have access to all the same monitoring info.
Once you’re registered, you’ll see a page encouraging you to download the MMS agent. Click on the “download the agent” link.
This is a little Python program that collects stats from MongoDB, so you need to have pymongo installed, too. Starting from scratch on Ubuntu, do:
$ # prereqs $ sudo apt-get install python python-setuptools $ sudo easy_install pymongo $ $ # set up agent $ unzip name-of-agent.zip $ cd name-of-agent $ mkdir logs $ $ # start agent $ nohup python agent.py > logs/agent.log 2>&1 &
Last step! Back to the website: see that “+” button next to the “Hosts” title?
Click on that and type a hostname. If you have a sharded cluster, add a mongos. If you have a replica set, add any member.
Now go have a nice cup of coffee. This is an important part of the process.
When you get back, tada, you’ll have buttloads of graphs. They probably won’t have much on them, since MMS will have been monitoring them for all of a few minutes.
Cool stuff to poke
This is the top bar of buttons:
Of immediate interest: click “Hosts” to see a list of hosts.
You’ll see hostname, role, and the last time the MMS agent was able to reach this host. Hosts that it hasn’t reached recently will have a red ping time.
Now click on a server’s name to see all of the info about it. Let’s look at a single graph.
You can click & drag to see a smaller bit of time on the graph. See those icons in the top right? Those give you:
- Add to dashboard: you can create a custom dashboard with any charts you’re interested in. Click on the “Dashboard” link next to “Hosts” to see your dashboard.
- Link to a private URL for this chart. You’ll have to be logged in to see it.
- Email a jpg of this chart to someone.
- This is maybe the most important one: a description of what this chart represents.
That’s the basics. Some other points of interest:
- You can set up alerts by clicking on “Alerts” in the top bar
- “Events” shows you when hosts went down or came up, because primary or secondary, or were upgraded.
- Arbiters don’t have their own chart, since they don’t have data. However, there is an “Arbiters” tab that lists them if you have some.
- The “Last Ping” tab contains all of the info sent by MMS on the last ping, which I find interesting.
- If you are confused, there is an “FAQ” link in the top bar that answers some common questions.
If you have any problems with MMS, there’s a little form at the bottom to let you complain:
This will file a bug report for you. This is a “private” bug tracker, only 10gen and people in your group will be able to see the bugs you file.