run mongodb with confidence: backing up and monitoring with mms
TRANSCRIPT
MongoDB Backup and Monitoring with MMS
Sam Weaver, Senior Solution Architect
#MongoDBWorld
Operational complexities
What is MMS?
What is MMS?
The MMS User Interface
Navigation tabs take you to the different functional areas of MongoDB Management Service. Through this interface, you can monitor your deployment, configure alerts via email or SMS, backup your data and automate your deployments.
Monitoring
Monitoring
MMS monitors deployments through a monitoring agent installed on a host server. One agent can:
• Identify the members of the deployment and server configuration, MongoDB Version, query profile, logs, etc.
• Dynamically create a graphical representation of the deployment technology.
• Visualize performance indications like lock percentage, reads/writes, queues, etc.
• Enable you to configure alerts for when these numbers aren’t “normal”
Topology view
Charting
Alerting
• Set a base line for normal by seeing how your production environment responds to regular traffic
• Check for spikes in operations – peak or unexpected load?
What’s “normal”?
=Key performance indicators
• Page faults, queues and lock % may be indicators that you need to scale up or out
• Oplog window indicates how long a secondary can be behind the primary
• Background average flush indicates if your disks are struggling
Monitoring
Additionally, MongoDB offers Proactive Support for Subscription Customers, where our engineers are able to monitor your deployment and make suggestions in order to tweak for better performance or avoid doom.
Backup
Disasters are not only due to user error...
There’s many other causes of disasters
34% of companies fail to test their tape backups
77% of those that did, found failures
60% of companies that lost their data…
Closed business within 6 months
140,000 HDD crashes per week in the US
93% of those who lost their DC for 10 days…
Filed for bankruptcy within 1 year
Risks Are All Around
• Risks– Storage failure– Power outage– Programmer error– Hardware failure– Data center failure– Cyber attack– Weather related incidents
• Relative to any particular risk– How much data can you afford to lose? (RPO)– How long can you afford to be offline? (RTO)– What price are you willing to pay to remove the
risk?
• MongoDB Solutions– Replication– Application and Infrastructure engineering– Backup of your Data
Analyzing your Risk Tolerance
Our Recommendations for Avoiding Risk
Solution 1: Replication
• Built into MongoDB, only ops and infrastructure cost
• Tunable durability gives you very little to zero risk in case of failure
• Down for a very short interval
• BUT… programmer errors will replicate almost instantly
Solution 2: Application and Infrastructure Engineering
Lots of potential solutions to ensure redundancy in applications and their infrastructure, such as:
• Having more than one data center
• Spreading across AWS zones
Solution 3: Backup Your Data
Backup of your data is one way to assure availability and lower risk. Keep in mind, backups:
• Can suffer from being out of date
• Can be slow
• Isolated
• ...but usually cheap and covers most risks
• mongodump/mongorestore
• Storage level options
• MongoDB Backup Service
Comparing MongoDB Backup Approaches
• Can be run online or offline
• Oplog aware for point in time restores
• Filter in, filter out
• Considerations:– Data size– Sharding
Mongodump/MongoRestore
• Copy files in your data directory (e.g. /data/db)
• File system or block storage snapshots
• Fastest way to backup/restore
• Considerations:– Journal– Consistency– Backup granularity (whole file system back up?)– Ops expertise– Storage of snapshots or data file backups
Storage-level Backups
● Possible in the cloud (via mms.mongodb.com) or in your own hosted environment
● Available on a variety of operating systems (Examples - RHEL, Ubuntu, CentOS, OS X, Windows)
Backup with MongoDB Management Service
Mongodump File system MMS Backup
Initial complexity Medium High Low
Confidence in Backups Medium Medium High
Point in time recovery of replica set
Sort of ☺ No Yes
System Overhead High Can be low Low
Scalable No With work Yes
Consistent Snapshot of Sharded System
Difficult Difficult Yes
MongoDB Backup Recovery Approaches
MongoDB Backup with MMSHow it Works
• Access the MMS UI • Install the Backup Agent onto one server• Select the replica sets or cluster you
want to back up• Click the Start button
Backup with MongoDB Management Service
System Architecture
The Web Interface
Backup is Highly Configurable
Select which:
•Replica Sets to include/exclude
•Collections/namespaces to include/exclude
• How often snapshots are taken of your data (down to 15 minute intervals)
•How long your data is stored (up to 1 year)
• From the initial sync, we rebuild your data in our datacenters and take a snapshot
• We take snapshots every 6 hours• Oplog is stored for 24 hours
Under the Hood
Snapshots page
Restore from a Snapshot
Restoring data is incredibly simple -
•Select the snapshot you’d like to restore and choose a delivery method (SCP push or HTTPS pull)
•Receive the file
•Unzip it
•Point your mongod to this directory
Restoring a MongoDB Sharded Cluster
Restoring data is only a few extra steps• Select your cluster in the MMS UI• Restore from a pre-build snapshot or
request a checkpoint restore (15 minute window)
• You will receive one data file to download for each shard, and one for the config server(s)
• Follow the same process as before for moving the data files to the server
How Do We Backup a Sharded Cluster?
•Behind the scenes:– Balancer paused every 6 hours** – A no-op token is inserted across all shards,
mongoses and config servers– Oplog applied to replica sets until point at
which token was inserted
•Provides a consistent state of database across shards
**The balancer can be paused more frequently to accommodate more frequent restore points.
Small Deployment
Deploy for Redundancy
Recap: MongoDB Backup with MMS
• Simplest means of backing up your
database
• Peace of mind, it just works
• Point-in-time restores for replica sets
• Check point restores for clusters
• Spin up QA or reporting environments
quickly from snapshots
Resources
• MMS Cloud mms.mongodb.com
• MMS Cloud Documentation mms.mongodb.com/help/
• MMS On-Prem Documentation mms.mongodb.com/help-hosted/
• MMS On-Prem software download available on the subscription downloads page
Questions?
Thanks!
Sam Weaver, Senior Solution Architect