Quantcast
Channel: Severalnines - MongoDB
Viewing all 286 articles
Browse latest View live

Video: An Overview of the Features & Functions of ClusterControl

$
0
0

The video below demonstrates the top features and functions included in ClusterControl.  

ClusterControl is an all-inclusive database management system that lets you easily deploy, monitor, manage and scale highly available open source databases on-premise or in the cloud.

Included in this presentation are…

  • Deploying MySQL, MongoDB & PostgreSQL nodes and clusters
  • Overview of the monitoring dashboard
  • Individual node or cluster monitoring
  • Query monitor system
  • Creating and restoring immediate and scheduled backups
  • Configuration management
  • Developer Studio introduction
  • Reviewing log files
  • Scaling database clusters


Demonstration Videos: Top Four Feature Sets of ClusterControl for MySQL, MongoDB & PostgreSQL

$
0
0

The videos below demonstrate the top features and functions included in ClusterControl.  

Deploy

Deploy the best open source database for the job at hand using repeatable deployments with best practice configurations for MySQL, MySQL Cluster, Galera Cluster, Percona, PostgreSQL or MongoDB databases. Reduce time spent on manual provisioning and more time for experimentation and innovation.

Management

Easily handle and automate your day to day tasks uniformly and transparently across a mixed database infrastructure. Automate backups, health checks, database repair/recovery, security and upgrades using battle tested best practices.

Monitoring

Unified and comprehensive real-time monitoring of your entire database and server infrastructure. Gain access to 100+ key database and host metrics that matter to your operational performance. Visualize performance in custom dashboards to establish operational baselines and support capacity planning.

Scaling

Handle unplanned workload changes by dynamically scaling out with more nodes. Optimize resource usage by scaling back nodes.

ClusterControl
Single Console for Your Entire Database Infrastructure
Find out what else is new in ClusterControl

Let the new ClusterControl secure your MongoDB deployments

$
0
0

Today we’re happy to tell you about our release of ClusterControl for MongoDB, which completes our vision to let you fully manage MongoDB whether on premise or in the cloud. Our team has spent the last year developing a full array of expanded features for MongoDB to provide developers and DBAs an alternative system with which to securely deploy and manage their open source database infrastructures.

The ransom hack that’s been extensively covered in the press recently has shown a vulnerability in default deployments of MongoDB. For while it’s easy enough to get started with MongoDB, once installed, a good bit of manual configuration is needed; which is where security issues crept in. ClusterControl solves this for you by automatically providing the security you need to stay protected.

ClusterControl is used by enterprises with mission-critical environments worldwide, so you know you can depend on it for security and stability for your MongoDB infrastructures. And what’s more, it provides comparable functionality to existing ops managers at half the price.

Release Highlights

ClusterControl offers a rich set of features to securely deploy, monitor, manage and scale your MongoDB databases, including the following top 9 highlights.

  1. Single Interface: ClusterControl provides one single interface to automate your mixed MongoDB, MySQL, and PostgreSQL database environments.
  2. Easy Deployment: You can now automatically and securely deploy sharded MongoDB clusters or Replica Sets with ClusterControl’s free community version; as well as automatically convert a Replica Set into a sharded cluster if that’s required.
  3. Advanced Security: ClusterControl removes human error and provides access to a suite of security features automatically protecting your databases from hacks and other threats.
  4. Monitoring: ClusterControl provides a unified view of all sharded environments across your data centers and lets you drill down into individual nodes.
  5. Scaling: Easily add and remove nodes, resize instances, and clone your production clusters with ClusterControl.
  6. Management: ClusterControl provides management features that automatically repair and recover broken nodes, and test and automate upgrades.
  7. Consistent Backups of Sharded Clusters: Using the Percona MongoDB Consistent Backup tool, ClusterControl allows you to make consistent snapshots of your MongoDB sharded clusters.
  8. Advisors: ClusterControl’s library of Advisors allows you to extend the features of ClusterControl to add even more MongoDB management functionality.
  9. Developer Studio: The ClusterControl Developer Studio lets you customize your own MongoDB deployment to enable you to solve your unique problems.

View release details and resources

ClusterControl
Single Console for Your Entire Database Infrastructure
Find out what else is new in ClusterControl

On MongoDB & sharded clusters

Extending our support for MongoDB, the rising star in the open source database world, has brought sharded clusters in addition to replica sets. This meant we had to retrieve more metrics to our monitoring, add advisors and provide consistent backups for sharding. As a result, you can now convert a ReplicaSet cluster to a sharded cluster, add or remove shards from a sharded cluster as well as add Mongos/routers to a sharded cluster.

On the new Severalnines database advisors for MongoDB

Advisors are mini-programs for specific database issues and we’ve added three new advisors for MongoDB in the latest ClusterControl release. The first one calculates the replication window, the second watches over the replication window, and the third checks for un-sharded databases/collections. In addition to this, we’ve also added a generic disk advisor. This advisor verifies if any optimizations can be done, like noatime and noop I/O scheduling, on the data disk that is being used for storage.

Download ClusterControl - it’s free

We encourage you to test ClusterControl and provide us with your feedback. If you’d like a demo, feel free to request one.

Thank you for your ongoing support, and happy clustering!

PS.: For additional tips & tricks, follow our blog: http://www.severalnines.com/blog/

MongoDB Tutorial - Top MongoDB Resources from Severalnines

$
0
0

As we continue to announce all the great new features in ClusterControl we have been developing for MongoDB we always want to take a moment to look back at some of the top content from the recent past that can help you securely deploy and manage your MongoDB instances.

Top MongoDB Blogs

Over the past year Severalnines has been developing blog content targeted at helping the MySQL DBA learn about MongoDB and how to integrate it into their database infrastructures. In our blog series “Become a MongoDB DBA (if you’re really a MySQL DBA)” we covered an array of topics to help you maximize your MongoDB knowledge

  • MongoDB Provisioning and Deployment If you are a MySQL DBA you may ask yourself why you would install MongoDB? That is actually a very good question as MongoDB and MySQL were in a flame-war a couple of years ago. But there are many cases where you simply have to.
  • MongoDB: The Basics of Configuration This blog covers configuration of MongoDB, especially around ReplicaSet, security, authorization, SSL and HTTP / REST api.
  • MongoDB: Monitoring and Trending Part 1Part 2 These blogs will give a primer in monitoring MongoDB: how to ship metrics using free open source tools. Part two will deep dive into monitoring MongoDB, what metrics to pay attention to and why.
  • MongoDB: Backing Up Your Data How to make a good backup strategy for MongoDB, what tools are available and what you should watch out for.
  • MongoDB: Recovering Your Data This blog covered how to recover MongoDB using a backup.
  • MongoDB: How to Scale Reads The first in the series on how to scale MongoDB
  • MongoDB: Sharding Ins and Outs Part 1Part 2 These blogs cover how to shard your MongoDB databases and the theory behind it. How to monitor the shards to make sure they are performing, and that data is distributed evenly between your shards and how to consistently backup your data across shards.

Top MongoDB Webinars

If you are in the mood for some deep dives into the technical world of MongoDB check out our top MongoDB webinar replays below and make sure to signup for our next webinar “How to Secure MongoDB” scheduled for March 14, 2017

  • Become a MongoDB Webinar So, maybe you’ve been working with MySQL for a while and are now being asked to also properly maintain one or more MongoDB instances. It is not uncommon that MySQL DBAs, developers, network/system administrators or DevOps folks with general backgrounds, find themselves in this situation at some point in time. In fact, with more organisations operating polyglot environments, it’s starting to become commonplace.
  • What to Monitor in MongoDB Webinar To operate MongoDB efficiently, you need to have insight into database performance. And with that in mind, we’ll dive into monitoring in this second webinar in the ‘Become a MongoDB DBA’ series. MongoDB offers many metrics through various status overviews and commands, but which ones really matter to you? How do you trend and alert on them? What is the meaning behind the metrics?
  • Scaling and Sharding with MongoDB Webinar In this third webinar of the ‘Become a MongoDB DBA’ series, we've focused on scaling and sharding your MongoDB setup.
  • Management and Automation of MongoDB Clusters This webinar gives you the tools to more effectively manage your MongoDB cluster, immediately. The presentation includes code samples and a live Q&A session.

Securing MongoDB

The recent ransom hack has shown a vulnerability in default deployments of MongoDB. While ClusterControl solves these issues by automatically providing the security people need to stay protected here are some other blogs we previously released to help keep you secure.

  • How to Secure MongoDB from Ransomware - 10 Tips Need tips on how to secure your MongoDB setup and protect yourself against ransomware? We have collected ten tips that are easy to follow and execute on your MongoDB databases.
  • Secure MongoDB and Protect Yourself from the Ransom Hack Recently, several attackers were able to break into thousands of MongoDB systems, wipe the databases and leave a ransom note. This could have been prevented if those in charge would have followed some standard security procedures. This blog post describes how to protect yourself from MongoDB ransomware. What is it, why is it a problem and what can you do to protect yourself against it?
ClusterControl
Single Console for Your Entire Database Infrastructure
Find out what else is new in ClusterControl

Using MongoDB with ClusterControl

The ClusterControl team has spent the last year developing a full array of expanded features for MongoDB to provide developers and DBAs an alternative system for deploying and managing their infrastructures. Here are some useful resources for deploying and managing MongoDB using ClusterControl.

We have a lot more exciting and technical content for MongoDB in the works so follow us on our ClusterControl LinkedIn Page for even more information.

Video: How to Secure MongoDB

$
0
0

Recently the IT world has seen a lot of news about tens of thousands of unsecured MongoDB instances that have been hacked and held for ransom.

In his blog “How to Secure MongoDB from Ransonware - Ten Tips” Severalnines Support Engineer Art van Scheppingen gave us some great ways to help to secure your data and prevent hackers from invading and ransoming your MongoDB instances.  In the video below you will find Art’s ten tips and some more information about how ClusterControl provides automated security to help you stay safe.

ClusterControl
Single Console for Your Entire Database Infrastructure
Find out what else is new in ClusterControl

How MongoDB Database Automation Improves Security

$
0
0

The growing number of cyberattacks on open source database deployments highlights the industry’s poor administrative and operational practices.

If 2016 taught us anything, it was the importance of sound operational practices and security measures in open source database deployments. For several years, researchers had warned about publicly exposed databases - with estimates ranging in the tens of thousands of servers. If the scale of the problem had not been apparent or frightening, well it surely is now.

Recently, ransomware groups deleted over 10,000 MongoDB databases within just a few days. Other open source databases (ElasticSearch, Hadoop, CouchDB) were also hit. Meanwhile, the number of exposed databases has gone up to about 100,000 instances.

What has led to this? Open source databases, and open source software in general, power a significant portion of today’s online services. Thanks to the increased use of agile development lifecycles, the cloud has become home to a variety of applications that are quickly deployed. Many businesses have also moved beyond using the cloud for non-critical functions, and now rely on the cloud for storing valuable data. This means more databases are being deployed in public clouds, in environments that are directly exposed to the Internet.

MongoDB in particular is very popular amongst developers, because of its convenience and expediency. But here’s the problem - quickly spinning up an environment for development is not the same thing as setting up for live production. They both demand very different levels of expertise. Thousands of database instances were not secured, and anyone could get read and write access to the databases (including any sensitive data) without any special tools or without having to circumvent any security measures. This is not a lapse of concentration from a few individuals that got us here, we’re facing a problem which is more widespread than anyone could imagine. We need to recognise that finding the middle ground between ease of use, speed of deployment and operational/security readiness is hard to find. So this begs the question - how can we collectively get beyond this type of problem?

If we could train every single individual who deploys MongoDB into a deployment engineer, it might help. At least, there will be some level of protection so not just anyone can walk in through an open door.

Operations is not rocket science, but it might not be reasonable to expect all developers, who are the primary users of MongoDB, to turn into full-fledged systems/deployment engineers. The IT industry is moving towards faster, leaner implementations and deployment of services. The middle ground between ease of use, deployment speed and sound operational practices might seem even further away. Automation might just be the thing that helps us find that middle ground.

ClusterControl
Single Console for Your Entire Database Infrastructure
Find out what else is new in ClusterControl

Database configurations suitable for production tend to be a bit more complex, but once designed, they can be duplicated many times with minimal variation.

Automation can be applied to initial provisioning and configuration, as well as ongoing patching, backups, anomaly detection and other maintenance activities. This is the basis for our own automation platform for MongoDB, ClusterControl. A well deployed and managed system can mitigate operational risk, and would certainly have prevented these thousands of databases from getting hacked.

MongoDB Tutorial - Monitoring & Securing MongoDB with ClusterControl Advisors

$
0
0

Database ops management consists of 80% reading and interpreting your monitoring systems. Hundreds of metrics can be interpreted and combined in various ways to give you deep insights into your database systems and how to optimize them. When running multiple database systems, the monitoring of these systems can become quite a chore. If the interpretation and combination of metrics takes a lot of time, wouldn’t it be great if this could be automated in some way?

This is why we created database advisors in ClusterControl: small scripts that can interpret and combine metrics for you, and give you advice when applicable. For MySQL we have created an extensive library of the most commonly used MySQL monitoring checks. But also for MongoDB we have a broad library of advisors to your disposal. For this blog post, we have picked the nine most important ones for you. We’ll describe each and every one of them in detail.

The nine MongoDB advisors we will cover in this blog post are:

  • Disk mount options check
  • Numa check
  • Collection lock percentage (MMAP)
  • Replication lag
  • Replication Window
  • Un-sharded databases and collections (sharded cluster only)
  • Authentication enabled check
  • Authentication/authorization sanity check
  • Error detection (new advisor)

Disk mount options advisor

It is very important to have your disks mounted in the most optimal way. With the ClusterControl disk mount options advisor, we look more closely at your data disk on a daily basis. In this advisor, we investigate the filesystem used, mount options and the io scheduler settings of the operating system.

We check if your disks have been mounted with noatime and nodiratime. Setting these will decrease the performance of the disks, as on every access to a file or directory the access time has to be written to disk. Since this happens continuously on databases, this is a good performance setting and also increases the durability of your SSDs.

For file systems we recommend to use modern file systems like xfs,zfs,ext4 or btrfs. These file systems are created with performance in mind. The io scheduler is advised to be either on noop or deadline.Deadline has been the default for databases for years, but thanks to faster storage like SSDs the noop scheduler is making more sense nowadays.

Numa check advisor

For MongoDB we enable our NUMA check advisor. This advisor will check if NUMA (Non-Uniform Access Memory) has been enabled on your system, and if this is the case, to switch it off.

When Non-Uniform Access Memory has been enabled, the CPU of the server is only able to address its own memory directly and not the other CPUs in the machine. This way the CPU is only able to allocate memory from its own memory space, and allocating anything in excess will result in swap usage. This architecture has a strong performance benefit on multi-processor applications that allocate all CPUs, but as MongoDB isn’t a multi-processor application it will decrease the performance greatly and could lead to huge swap usage.

Collection lock percentage (MMAP)

As MMAP is a file based storage system, it doesn’t support the document level locking as found in WiredTiger and RocksDB. Instead the lowest level of locking for MMAP is the collection locks. This means any writes to a collection (insert, update or delete) will lock the entire collection. If the percentage of locks is getting too high, this indicates you have contentions problems on the collection. When not addressed properly, this could bring your write throughput to a grinding halt. Therefore having an advisor warning you up front is very helpful.

MongoDB Replication Lag advisor

If you are scaling out MongoDB for reads via secondaries, the replication lag is very important to keep an eye on. The MongoDB client drivers will only use secondaries that don’t lag too far behind, else you may risk serving out stale data.

Inside MongoDB the primary will keep track of the replication status of its secondaries. The advisor will fetch the replication information and guards the replication lag. If the lag becomes too high it will send out a warning or critical status message.

MongoDB Replication Window advisor

Next to replication lag, the replication window is an important metric to watch. The MongoDB oplog is a single collection, that has been limited in a (preset) size. Once the oplog reaches the end and a new transaction needs to be stored, it will evict the oldest transaction to make room for the new transaction. The replication window reflects the number of seconds between the oldest and newest transaction in the oplog.

This metric is very important as you need to know for how long you can take a secondary out of the replicaSet, before it will no longer be able to catch up with the master due to being too far behind in replication. Also if a secondary starts lagging behind, it would be good to know how long we can tolerate this before the secondary is no longer able to catch up.

In the MongoDB shell, a function is available to calculate the replication window. This advisor in ClusterControl uses the function to make the same calculation. The benefit would be that you now can be alerted on a too short replication window.

ClusterControl
Single Console for Your Entire Database Infrastructure
Find out what else is new in ClusterControl

MongoDB un-sharded databases and collections advisor

In a sharded MongoDB cluster, all un-sharded databases and collections are assigned to a default primary shard by the MongoDB shard router. This primary shard can vary between the databases and collections, but in general this would be the shard with the most disk space available.

Having a un-sharded database or collection doesn’t immediately pose a risk for your cluster. However if an application or user starts to write large volumes of data to one of these, the primary shard could fill up quickly and create an outage on this shard. As the database or collection is not sharded, it will not be able to make use of other shards.

Because of this reason we have created an advisor that will prevent this from happening. The advisor will scan all databases and collections, and warn you if it has not been sharded.

Authentication enabled check

Without enabling authentication in MongoDB, any user logging in will be treated as an admin. This is a serious risk as normally admin tasks, like creating users or making backups, now have become available to anyone. This combined with exposed MongoDB servers, resulted in the recent MongoDB ransom hacks, while a simple enabling of authentication would have prevented most of these cases.

We have implemented an advisor that verifies if your MongoDB servers have authentication enabled. This can be done explicitly by setting this in the configuration, or implicitly by enabling the replication keyfile. If this advisor fails to detect the authentication has been enabled you should immediately act upon this, as you server is vulnerable to be compromised.

Authentication/authorization sanity check

Next to the authentication enabled advisor, we also have built an advisor that performs a sanity check for both authentication and authorization in MongoDB.

In MongoDB the authentication and authorization is not placed in a central location, but is performed and stored on database level. Normally users will connect to the database, authenticating against the database they intend to use. However, with the correct grants, it is also possible to authenticate against other (unrelated) databases and still make use of another database. Normally this is perfectly fine, unless a user has excessive rights (like the admin role) over another database.

In this advisor, we verify if these excessive roles are present, and if they could pose a threat. We also check at the same time for weak and easy to guess passwords.

Error detection (new advisor)

In MongoDB, any error encountered will be counted or logged. Within MongoDB there is a big variety of possible errors: user asserts, regular asserts, warnings and even internal server exceptions. If there are trends in these errors, it is likely that there is either a misconfiguration or an application issue.

This advisor will look at the statistics of MongoDB errors (asserts) and makes sense of this. We interpret the trends found and advice on how to decrease errors in your MongoDB environment!

MongoDB Webinar - How to Secure MongoDB with ClusterControl

$
0
0

Join us for our new webinar on “How to secure MongoDB with ClusterControl” on Tuesday, March 14th!

In this webinar we will walk you through the essential steps necessary to secure MongoDB and how to verify if your MongoDB instance is safe.

How to secure MongoDB with ClusterControl

The recent MongoDB ransom hijack caused a lot of damage and outages, which could have been prevented with maybe two or three simple configuration changes. MongoDB offers a lot of security features out of the box, however it disables them by default.

In this webinar, we will explain which configuration changes are necessary to enable MongoDB’s security features, and how to test if your setup is secure after enabling. We will demonstrate how ClusterControl enables security on default installations. And we will discuss how to leverage the ClusterControl advisors and the MongoDB Audit Log to constantly scan your environment, and harden your security even more.

Date, Time & Registration

Europe/MEA/APAC

Tuesday, March 14th at 09:00 GMT / 10:00 CET (Germany, France, Sweden)

Register Now

North America/LatAm

Tuesday, March 14th at 09:00 Pacific Time (US) / 12:00 Eastern Time (US)

Register Now

Agenda

  • What is the MongoDB ransom hack?
  • What other security threats are valid for MongoDB?
  • How to enable authentication / authorisation
  • How to secure MongoDB from ransomware
  • How to scan your system
  • ClusterControl MongoDB security advisors
  • Live Demo

Speaker

Art van Scheppingen is a Senior Support Engineer at Severalnines. He’s a pragmatic database expert with over 16 years experience in web development. He previously worked at Spil Games as Head of Database Engineering, where he kept a broad vision upon the whole database environment: from MySQL to MongoDB, Vertica to Hadoop and from Sphinx Search to SOLR. He regularly presents his work and projects at various conferences (Percona Live, MongoDB Open House, FOSDEM) and related meetups.

We look forward to “seeing” you there!

This session is based upon the experience we have securing MongoDB and implementing it for our database infrastructure management solution, ClusterControl. For more details, read through our ‘Become a MongoDB DBA’ blog series.


Pre-emptive security with audit logging for MongoDB

$
0
0

Database security is a broad subject that stretches from pre-emptive measurements to keeping unwanted visitors out. Even if you would be able to secure your MongoDB servers fully, you still would like to know if anyone has attempted to break into your system. And if they manage to breach your security and install the MongoDB ransom hack, you would need an audit trail for post-mortems or for taking new preventive measures. An audit log would enable you to keep track of anyone attempting to log in and see what they did in your system.

The MongoDB Enterprise version contains the ability to enable the audit log, but the community version lacks this functionality. Percona created their own audit logging functionality in their MongoDB derived Percona Server for MongoDB. The MongoDB and Percona approaches are different from each other and we will explain how to configure and use both of them.

MongoDB audit logging

The MongoDB audit log is easy to set up: to enable audit logging to a JSON file, simply add the following section to your config file and restart MongoDB:

auditLog:
   destination: file
   format: JSON
   path: /var/lib/mongodb/auditLog.json

MongoDB supports file, console and syslog as destinations. For file formats there are two options: JSON and BSON. In JSON the audit log lines look similar to this:

{ "atype" : "authCheck", "ts" : { "$date" : "2017-02-15T22:20:08.322-0000" }, "local" : { "ip" : "127.0.0.1", "port" : 27017 }, "remote" : { "ip" : "127.0.0.1", "port" : 63357 }, "users" : [], "roles" : [], "param" : { "command" : "update", "ns" : "test.inserttest", "args" : { "update" : "preauth_case", "updates" : [ { "q" : { "createdByUserId" : -2 }, "u" : { "$set" : { "statusCode" : "Update" } }, "multi" : false, "upsert" : false } ], "ordered" : true } }, "result" : 0 }

The configuration above would enable the audit log for each and every action by any user of your system. If you have high concurrency this would dramatically decrease the performance of your MongoDB cluster. Luckily enough, there is the option to filter events that are to be logged.

Filters for the audit logging can be placed on the type of query, the user/role querying or on the collection that is being queried. The documentation on audit logging at MongoDB is very broad and lengthy with many examples. We will give some of the most important examples below.

Authenticating against a specific collection:

    filter: '{ atype: "authenticate", "param.db": "test" }'

Log for multiple audit types:

    filter: '{ atype: { $in [ "update", "delete" ]}, "param.db": "test" }'

Log all authentication checks for insert/updates/deletes on a specific collection:

    filter: '{ atype: "authCheck", "param.ns": "test.orders", "param.command": { $in: [ "find", "insert", "delete", "update", "findandmodify" ] } }'

As you can see the filters can be quite flexible, and you would be able to filter the messages that you require for your audit trail.

Percona Server for MongoDB audit logging

The Percona Server for MongoDB audit logging is limited to JSON file. The majority of users will only log to JSON files, but it is unclear if Percona will add other logging facilities in the future.

Depending on the version of Percona Server for MongoDB, your configuration might be different. At the moment of writing, all versions have the following syntax:

audit:
   destination: file
   format: JSON
   path: /var/lib/mongodb/auditLog.json

However this configuration difference has recently been resolved, but still has to be released. After the release it should follow the MongoDB auditLog directive again:

auditLog:
   destination: file
   format: JSON
   path: /var/lib/mongodb/auditLog.json

The format by Percona is slightly different:

{ "atype" : "authenticate", "ts" : { "$date" : { "$numberLong" : "1487206721903" } }, "local" : { "host" : "n3", "port" : 27017 }, "remote" : { "host" : "172.16.140.10", "port" : 50008 }, "users" : [ { "user" : "admin", "db" : "admin" } ], "params" : { "user" : "admin", "db" : "admin", "mechanism" : "SCRAM-SHA-1" }, "result" : 0 }

As opposed to MongoDB logging everything, Percona chose to only log the important commands. Judging from the source of the Percona audit plugin, the following queries are supported: authentication, create/update/delete users, add/update/remove roles, create/drop database/index and most of the important admin commands.

Also the filtering of the Percona Server for MongoDB audit log doesn’t seem to follow the same standard as MongoDB has. It is quite unclear what the exact filter syntax and options are as the Percona documentation is very concise about it.

Enabling the auditlog without filtering would give you more than enough entries in your log file. From here you can narrow the filter down, as it follows the JSON syntax of the log entries.

Making use of the audit log

To make it easier for yourself, it might be the best to feed the audit log into a log analysing framework. An ELK stack is an excellent environment to do your analysis in and it enables you to drill down to more detailed levels quite easily. Using a field mapper would even allow you to do the audit trail inside ELK.

As described in the introduction, we can use the audit log for various security purposes. The most obvious one is when you need it as a reference during a post-mortem. The MongoDB audit log provides a detailed overview of what exactly happened. The Percona audit log contains a little less information, but it should be sufficient for most post-mortems. Using the audit log for post-mortems is great, although we would rather have prevented the issue in the first place.

Another purpose for the audit log is to see trends happening and you could set traps on a certain audit log message. A good example would be to check the rate of (failed) authentication attempts and if this exceeds a certain threshold, act upon it. Depending on the situation, the action taken could differ. One actions could be to automatically block the ip address the requests are coming from, but in another case, you could consult with the user about why the password was forgotten. It really depends on the case and environment you are working in.

Another advanced pre-emptive measurement would be using MongoDB as a honeypot and leveraging the audit log to catch unwanted users. Just expose MongoDB and allow anyone to connect to your MongoDB server. Then use the audit log to detect what users will do if they are allowed to do things beyond their normal powers and block them if necessary. Most humans rather take the easy way than the hard way, so the honeypot could deflect an attack and the hacker will move on to the next target.

Conclusion

Apart from explaining how to set up the audit log for both MongoDB Enterprise and Percona Server for MongoDB, we also explained what you could potentially do with the logged data inside the audit log.

By default ClusterControl will not enable the audit log, but it is relatively easy to enable it cluster wide using our Config Manager. You could also enable it inside the configuration templates, prior to deploying a new cluster.

Happy clustering!

MongoDB tools from the community that complement ClusterControl

$
0
0

Since MongoDB is the favored database for many developers, it comes to no surprise that the community support is excellent. You can quickly find answers to most of your problems on knowledge sites like Stack Overflow, but the community also creates many tools, scripts and frameworks around MongoDB.

ClusterControl is part of the community tools that allow you to deploy, monitor, manage and scale any MongoDB topology. ClusterControl is designed around the database lifecycle, but naturally it can’t cover all aspects of a development cycle. This blog post will cover a selection of community tools that can be used to complement ClusterControl in managing a development cycle.

Schema management

The pain of schema changes in conventional RDBMS was one of the drivers behind the creation of MongoDB: we all suffered from painfully slow or failed schema migrations. Therefore MongoDB has been developed with a schemaless document design. This allows you to change your schema whenever you like, without the database holding you back.

Schema changes are generally made whenever there is application development. Adding new features to existing modules, or creating new modules may involve the creation of another version of your schema. Also schema and performance optimizations may create new versions of your schemas.

Even though many people will say it’s brilliant not being held back by the database, it also brings a couple of issues as well: since old data is not migrated to the new schema design, your application should be able to cope with every schema version you have in your database. Alternatively you could update all (old) data with the newer schema right after you have deployed the application.

The tools discussed in this section will all be very helpful in solving these schema issues.

Meteor2 collection

The Meteor2 collection module will ensure that from both client and server side, the schema will be validated. This will ensure that all data gets written according to the defined schema. The module will only be reactive, so whenever data does not get written according to the schema, a warning will be returned.

Mongoose

Mongoose is Node.js middleware for schema modelling and validation. The schema definition is placed inside your Node.js application, and this will allow Mongoose to act as an ORM. Mongoose will not migrate existing data into the new schema definition.

MongoDB Schema

So far we only have spoken about schema changes, so it is time to introduce MongoDB Schema. MongoDB Schema is a schema analyzer that will take a (random) sample of your data and output the schema for the sampled data. This doesn’t necessarily mean it will be 100% accurate on its schema estimation though.

With this tool you could regularly check your data against your schema and detect important or unintentional changes in your schema.

Backups

ClusterControl supports two implementations for backing up MongoDB: mongodump and Percona Consistent Backup. Still, some less regular used functionalities, like partial/incremental backups and streaming backups to other clusters, will not be available out of the box.

MongoDB Backup

MongoDB Backup is a NodeJS logical backup solution that offers similar functionality as mongodump. In addition to this, it can also stream backups over the network, making it useful for transporting a collection from one MongoDB instance to another.

Another useful feature is that it has been written in NodeJS. This means it will be very easy to integrate in a Hubot chatbot, and automate the collection transfers. Don’t be afraid if your company isn’t using Hubot as a chatbot: it can also function as either a webhook or be controlled via the CLI.

Mongob

Mongob is another logical backup solution, but in this case it has been written in Python and is only available as a CLI tool. Just like MongoDB Backup, it is able to transfer databases and collections between MongoDB instances, but in addition to that, it can also limit the transfer rate.

Another useful feature of Mongob is that it will be able to create incremental backups. This is good if you wish to have more compact backups, but also if you need to perform a point in time recovery.

MongoRocks Strata

MongoRocks Strata is the backup tool for the MongoRocks storage engine. Percona Server for MongoDB includes the MongoRocks storage engine, however it lacks the Strata backup tool for making file level backups. In principle mongodump and Percona Consistent Backup are able to make reliable backups, but as they are logical dumps the recovery time will be long.

MongoRocks is a storage engine that relies on a LSM tree architecture. This basically means it is an append only storage. To be able to do this, it operates with buckets of data: older data will be stored in larger (archive) buckets, recent data will be stored in smaller (recent) buckets and all new incoming data will be written into a special memory bucket. Every time a compaction is done, data will trickle down from the memory bucket to the recent buckets, and recently changed data back to the archive bucket.

To make a backup of all buckets, Strata instructs MongoDB to flush the memory bucket to disk, and then it copies all buckets of data on file level. This will create a consistent backup of all available data. It will also be possible to instruct Strata to only copy the recent buckets and effectively take an incremental backup.

Another good point of Strata is that it provides the mongoq binary, that allows you to query the backups directly. This means there is no need to restore the backup to a MongoDB instance, before being able to query it. You would be able to leverage this functionality to ship your production data offline to your analytics system!

MongoDB GUIs

WIthin ClusterControl we allow querying the MongoDB databases and collections via advisors. These advisors can be developed in the ClusterControl Developer Studio interface. We don’t feature a direct interface with the databases, so to make changes to your data you will either need to log into the MongoDB shell, or have a tool that allows you to makes these changes.

PHPMoAdmin

PHPMoAdmin is the MongoDB equivalent of PHPMyAdmin. It features similar functionality as PHPMyAdmin: data and admin management. The tool will allow you to perform CRUD operations in both JSON and PHP syntax on all databases and collections. Next to all that, it also features an import/export functionality of your current data selection.

Mongo-Express

If you seek a versatile data browser, Mongo-Express is a tool you definitely need to check out. Not only does it allow similar operations as PHPMoAdmin, it also is able to display images and videos inline. It even supports fetching large objects from GridFS buckets.

Robomongo

The tool that goes one step further is Robomongo. Being a crowd funded tool, the feature list is huge. It is able to perform all the same operations as Mongo-Express, but in addition to this also allows user, role and collection management. For connections it supports direct MongoDB connections, but also supports replicaSet topologies and MongoDB Atlas instances.

Conclusion

With this selection of free community tools, we hope we have given you a good overview how to manage MongoDB data next to ClusterControl.

Happy clustering!

Announcing NinesControl 3.0 with added support for Google Cloud and more

$
0
0

This week we’re happy to announce a new release of NinesControl, our cloud service for open source database management, with no need to install anything. NinesControl 3.0 offers extended scaling support with an improved user experience and security all while adding a new cloud provider, Google Cloud.

Built on the capabilities of ClusterControl, NinesControl enables users to uniformly and transparently deploy and manage secure mixed database environments on any cloud, with no vendor lock-in. It offers quick, easy, point-and-click deployment of a standalone or a clustered SQL and NoSQL database on a cloud provider of your choice; and each provisioned database is automatic, repeatable and completes in minutes.

NinesControl is for developers and admins of all skills levels and removes the complexity and learning curve that typically comes with highly-available database clusters. Users of Amazon AWS, DigitalOcean, and now Google Cloud can spin-up MySQL or MongoDB instances in under a minute; with more cloud providers and datastores being planned for. It is currently a free-to-use service with an additional paid-for version in the pipeline.You can sign up for free on ninescontrol.com.

Release Highlights

  • Addition of Google Cloud support
  • New management features around scaling, automated recovery & introduction of new web-based consoles
  • Improved user experience
  • Improved security

Features Highlights

  1. Google Cloud - NinesControl continues to increase the number of supported cloud providers. You can now scale and manage your database on Google Cloud, as well as AWS and Digital Ocean.
  2. SSH Web Terminal - NinesControl expands your ability to easily SSH into your database nodes.
  3. Database Client - NinesControl now provides direct access to the database client interface from within the service; allowing you to connect directly to your nodes via your internet browser by opening up a SQL or MongoDB console.
  4. Stability - Based on feedback from our users and through our continued improvements of the service, NinesControl provides you with the stability you need to manage your open source databases easily and efficiently.
  5. Increased Security - NinesControl continues to improve the security of your database environments with new user management features and security optimizations.
  6. Scaling - In addition to supporting MariaDB or MySQL Galera Cluster and MongoDB, NinesControl now allows you to easily add and remove nodes to meet your growing data needs.
  7. Automatic Recovery - NinesControl now provides automated node and cluster recovery to ensure uptime with your high availability applications.
  8. New Technologies - Support for Percona XtraDB Cluster 5.7
  9. Extend NinesControl to Any Cloud - You can now use NinesControl with any cloud provider of your choosing using our CloudLink Framework with these two new public Github repositories
    1. https://github.com/severalnines/ninescontrol-cloudlink-api
    2. https://github.com/severalnines/ninescontrol-cloudlink

NB: Cloudlink is a wrapper framework for Cloud providers' apis. The main goal is to have standardized input and output data structures. The Framework is written in NodeJs and easy to extend. It uses native SDKs, provided by the Cloud vendors. The Framework does not require a database and does not store any of the credentials. In short: it is a smart proxy to the cloud api.

Sign up for Ninescontrol (FREE)

Whether you’re a developer who wants an easy way to securely deploy and manage high-availability database setups in any cloud; or you want the flexibility to utilize or migrate to different cloud vendors, and avoid being locked into using a specific vendor; or you simply want full control over your database instances, with the ability to connect via SSH if required … NinesControl has the answers for you. Check our service out today and let us know your feedback.

Happy clustering in the cloud!

New NinesControl Features Simplify Running MySQL & MongoDB in the Cloud

$
0
0

We were thrilled to announce the latest version of NinesControl early this week. Let’s have a closer look at some of the new features that were introduced.

Web console for accessing SSH, SQL and MongoDB command line

It is now possible to have SSH access from the NinesControl interface to any of your database servers, via a web based SSH proxy.

WebSSH and WebSQL - you can easily access your database’s shell and MySQL CLI directly from the NinesControl web page:

Just check the drop down menu for any of the database nodes, and you’ll see both WebSSH and WebSQL. If you are running MongoDB, you will have a MongoDB shell. Clicking on them opens a new window, with a connection to your database. It can be either access to the command line:

NinesControl WebSSH interface
NinesControl WebSSH interface

or access to the MySQL CLI:

NinesControl SQL CLI
NinesControl SQL CLI

Or access to the MongoDB CLI:

NinesControl MongoDB shell
NinesControl MongoDB shell

We use dedicated users to make such access possible - for the shell, it is ‘ninescontrol’ user and for the MySQL CLI - ‘ninescontroldb@localhost’. For MongoDB, it is the admin user you define when creating the MongoDB cluster. Make sure you don’t make changes to those users if you want to have this method of access available.

Add node to the cluster

With the new release of NinesControl, you have the tool to scale your cluster. If you ever find yourself in a position where you need one more database node to handle the load, you can easily add it through the “Add Node” action:

Adding a node to a cluster in NinesControl
Adding a node to a cluster in NinesControl

You will be presented with a screen where you need to pick the size of the new node:

Adding a node to a cluster in NinesControl
Adding a node to a cluster in NinesControl

After you click “Add Node”, the deployment process begins:

Adding a node to a cluster in NinesControl
Adding a node to a cluster in NinesControl

After a while node should be up and running.

Nodes running in NinesControl
Nodes running in NinesControl

Of course, whenever you feel like you don’t utilize all of your nodes, you can remove some of them:

Removing a node in ClusterControl
Removing a node in ClusterControl

While scaling your cluster up and down, please keep in mind that it is recommended to have odd number of nodes in both Galera and MongoDB clusters. You also should not reduce the number of nodes below three - this is a requirement if you want your cluster to be fault-tolerant.

Disable autorecovery for the cluster

NinesControl works in the background to make sure your cluster is up and running and your application can reach it and issue queries. Failed nodes are automatically recovered and restarted. Still, it may happen that you don’t want NinesControl to bring a node back up. It could be that you are performing some maintenance which requires the database instance to stay down. Maybe you want to restore an external binary backup and then bootstrap the rest of the cluster from that node? Right now it is extremely easy to disable automated recovery - all you need to do is to click on the Autorecovery switch in the UI:

Disabling Auto Recovery in NinesControl
Disabling Auto Recovery in NinesControl

It will change to:

Auto Recovery Disabled in NinesControl
Auto Recovery Disabled in NinesControl

Right now NinesControl will not attempt to restore nodes which failed.

Google Compute Engine Support

Last but definitely not least, NinesControl now also supports Google Compute Engine. You can learn more on how to setup access credentials and deploy MySQL or MongoDB on this new cloud provider.

We hope that this blog post helped you better understand the new features available in NinesControl. Please give them a try and let us know what you think.

Video: The Difference Between MongoDB Sharding and a MongoDB ReplicaSet

$
0
0

In this video we will demonstrate the differences between deploying a MongoDB ReplicaSet versus deploying a MongoDB Sharded Cluster in ClusterControl.  

With the new version of ClusterControl 1.4, you can automatically and securely deploy sharded MongoDB clusters or Replica Sets with ClusterControl’s free community version; as well as automatically convert a Replica Set into a sharded cluster.

The video also demonstrates the different overview sections of each type of deployment within ClusterControl as well as how to add nodes and convert the ReplicaSet into a Sharded Cluster.

ClusterControl
Single Console for Your Entire Database Infrastructure
Find out what else is new in ClusterControl

What is a MongoDB ReplicaSet?

A replica set is a group of MongoDB instances that host the same data set. In a replica, one node is a primary node that receives all write operations. All other instances, such as secondaries, apply operations from the primary so that they have the same data set.

What is a MongoDB Sharded Cluster?

MongoDB Sharding is the process of storing data records across multiple machines and it is MongoDB's approach to meeting the demands of data growth. As the size of the data increases, a single machine may not be sufficient to store the data nor provide an acceptable read and write throughput.

Video: ClusterControl Developer Studio Introduction Video

$
0
0

The free ClusterControlDeveloper Studio provides you a set of monitoring and performance advisors to use and lets you create custom advisors to add security and stability to your MySQL, Galera, and MongoDB infrastructures.

ClusterControl’s library of Advisors allows you to extend the features of ClusterControl to add even more database management functionality.

Advisors in ClusterControl are powerful constructs; they provide specific advice on how to address issues in areas such as performance, security, log management, configuration, storage space, etc. They can be anything from simple configuration advice, warning on thresholds or more complex rules for predictions, or even cluster-wide automation tasks based on the state of your servers or databases.

ClusterControl
Single Console for Your Entire Database Infrastructure
Find out what else is new in ClusterControl

Developer Studio Resources

Want to learn more about the Developer Studio in ClusterControl check out the information below!

Advisor Highlights

Here is some information on particular advisors that can help you with your instances

Meet the Severalnines team at M|17 and Percona Live this month

$
0
0

This month we’re excited to be participating in two open source database conferences, namely the MariaDB User Conference in New York, M|17, and the Percona Live Conference (formerly known as the MySQL User Conference) in Santa Clara.

And we’re looking forward to presenting, exhibiting and mingling there with fellow open source database enthusiasts.

We’ll have talks at both conferences, and a booth at Percona Live, so do come visit us at booth 411 in the Percona Live Exhibition Hall. We’ll be there to answer any questions you may have on open source database management and automation. And we’re planning to make it a fun place to hang out.

Of course, we look forward to catching up with you as well in New York, if you’re attending the MariaDB conference. See below who our speakers are at both conferences.

These are our talks and speakers at M|17 and Percona Live this month:

Talk @ M|17

Step-By-Step: Clustering with Galera and Docker Swarm

Wednesday, April 12 - 2:10 pm - 3:00 pm

Ashraf Sharif, Senior Support Engineer

Clustering is an important feature in container technology, as multiple nodes are required to provide redundancy and failover in case of outage. Docker Swarm is an orchestration tool that allows administrators to manage a cluster of Docker nodes as one single virtual system. MariaDB Cluster, however, has its own clustering model based on Galera.

In this talk, we’ll look at how to deploy MariaDB Cluster on Docker Swarm with a multi-host environment, by “homogeneousing” the MariaDB image to achieve high availability and scalability in a fully automated way. We will touch upon service controls, multi-host networking, persistent storage, scaling, fault tolerance, service discovery, and load distribution.

Talks @ Percona Live

Become a MongoDB DBA: monitoring essentials

Tuesday, April 25 - 11:30 AM - 12:20 PM @ Ballroom G

Art van Scheppingen, Senior Support Engineer

To operate MongoDB efficiently, you need to have insight into database performance. And with that in mind, we’ll dive into monitoring in this talk. MongoDB offers many metrics through various status overviews and commands, but which ones really matter to you? How do you trend and alert on them? What is the meaning behind the metrics?

We’ll discuss the most important ones and describe them in ordinary plain MySQL DBA language. Finally we’ll have a look at the (open source) tools available for MongoDB monitoring and trending and compare them.

MySQL Load Balancers - MaxScale, ProxySQL, HAProxy, MySQL Router & nginx - a close up look

26 April - 11:10 AM - 12:00 PM @ Ballroom D

Krzysztof Książek, Senior Support Engineer

Load balancing MySQL connections and queries using HAProxy has been popular in the past years. Recently however, we have seen the arrival of MaxScale, MySQL Router, ProxySQL and now also Nginx as a reverse proxy. For which use cases do you use them and how well do they integrate in your environment?

This session aims to give a solid grounding in load balancer technologies for MySQL and MariaDB.

We will review the wide variety of open-source options available: from application connectors (php-mysqlnd, jdbc), TCP reverse proxies (HAproxy, Keepalived, Nginx) and SQL-aware load balancers (MaxScale, ProxySQL, MySQL Router), and look at what considerations you should make when assessing their suitability for your environment.

MySQL (NDB) Cluster Best Practices (Die Hard VIII)

26 April - 3:30 PM - 4:20 PM @ Room 210

Johan Andersson, CTO

MySQL Cluster is a write-scalable, real-time, ACID-compliant transactional database, designed to deliver 99.999% availability. It provides shared-nothing clustering and auto-sharding for MySQL, accessed via SQL and NoSQL interfaces. It is designed to provide high availability and high throughput with low latency, while allowing for near linear scalability. MySQL Cluster is implemented through the NDB or NDBCLUSTER storage engine for MySQL.

In this session we will talk about:

  • Core architecture and Design principles of NDB Cluster
  • APIs for data access (SQL and NoSQL interfaces)
  • Important configuration parameters
  • Best practices: indexing and schema

We will also compare performance between MySQL Cluster 7.5 and Galera (MySQL 5.6/5.7), and how to best make use of the feature set of MySQL Cluster 7.5.

So … Happy clustering, and see you in New York, Santa Clara, or maybe both!


Percona Live 2017 - Severalnines Recap

$
0
0

Severalnines was one of the sponsors of Percona Live 2017 last week in Santa Clara, California and in case you missed the event here are some of the highlights.

Our Booth at the Event

Keynote Highlights

Videos from the Event

Severalnines was live several times (pardon the pun) during the event.

Our Sessions

In case you missed them at the event here are the slides from our presentations at Percona.  You can view all the presentations here.

Become a MongoDB DBA - Monitoring Essentials

Presented by Art van Scheppingen (@dbart_sql)

MySQL Cluster (NDB) - Best Practices (aka DIE HARD VIII)

Presented by Johan Andersson

MySQL Load Balancing

Presented by Krzysztof Książek (@krzksiazek)

Next Event

If you are interested in attending the Percona Live Open Source Database Conference, the next one will be held in Dublin, Ireland September 25-27, 2017

Announcing ClusterControl 1.4.2 - the DevOps Edition

$
0
0

Today we are pleased to announce the 1.4.2 release of ClusterControl - the all-inclusive database management system that lets you easily deploy, monitor, manage and scale highly available open source databases - and load balancers - in your infrastructure.

Release Highlights

For MySQL

Set up transparent failover of ProxySQL with Keepalived and Virtual IP

Keep query rules, users and other settings in sync across multiple instances

For PostgreSQL

New primary - standby deployment wizard for streaming replication

Automated failover and slave to master promotion

For MySQL, MongoDB & PostgreSQL

New Integrations with communications or incident response management systems such as Pagerduty, VictorOps, Telegram, Opsgenie and Slack

New Web SSH Console

And more! Read about the full details below.

Download ClusterControl

View release details and resources

Release description

This maintenance release of ClusterControl is all about consolidating the popular database management features our users have come to appreciate. And we have some great new features aimed at DevOps teams!

Our new integration with popular incident management and chat services lets you customise the alarms and get alerted in the ops tools you are already using - e.g., Pagerduty, VictorOps, Telegram, Opsgenie and Slack. You can also run any command available in the ClusterControl CLI from your CCBot-enabled chat.

ProxySQL can now be deployed in active standby HA mode with Keepalived and Virtual IP. It is also possible to export and synchronize configurations across multiple instances, which is an essential feature in a distributed environment.

And we’re introducing automatic failover and replication management of your PostgreSQL replication setups.

In more detail …

ChatOps with ClusterControl’s CCBot

In our previous ClusterControl release we included the new ClusterControl command line client (CLI). We have now made a new and improved CCBot available that has full integration with the CLI. This means you can use any command available in the CLI from your CCBot-enabled chat!

The command line client is intuitive and easy to use, and if you are a frequent command line user it will be quick to get accustomed to. However, not everyone has command line access to the hosts installed with ClusterControl, and if external connections to this node are prohibited, the CLI will not be able to send commands to the ClusterControl backend. Also some users may not be accustomed to work on the command line. Adding the CLI to our chatbot, CCBot, addresses both problems: this will empower those users to send commands to ClusterControl that they normally wouldn't have been able to.

New Integrations with popular notification systems

Alarms and Events can now easily be sent to incident management services like PagerDuty and VictorOps, or to chat services like Slack and Telegram. You can also use Webhooks if you want to integrate with other services to act on status changes in your clusters. The direct connections with these popular incident communication services allow you to customize how you are alerted from ClusterControl when something goes wrong with your database environments.

  • Send Alarms and Events to:
    • PagerDuty, VictorOps, and OpsGenie
    • Slack and Telegram
    • User registered Webhooks

Automated failover for PostgreSQL

Starting from ClusterControl 1.4.2, you can deploy an entire PostgreSQL replication setup in the same way as you would deploy MySQL and MongoDB: you can use the “Deploy Cluster” menu to deploy a primary and one or more PostgreSQL standby servers. Once the replication setup is deployed, ClusterControl will manage the setup and automatically recover failed servers.

Another feature is “Rebuild Replication Slave” job which is available for all slaves (or standby servers) in the replication setup. This is to be used for instance when you want to wipe out the data on the standby, and rebuild it again with a fresh copy of data from the primary. It can be useful if a standby server is not able to connect and replicate from the primary for some reason.

You can now easily check which queries are responsible for the load on your PostgreSQL setup. You’ll see here some basic performance data - how many queries of a given type have been executed? What was their maximum and average execution time? How the total execution time for that query looks like? Download ClusterControl to get started.

ProxySQL Improvements

In this release we have improvements for ProxySQL to help you deploy active/standby setups with Keepalived and Virtual IP. This improved integration with Keepalived and Virtual IP brings high availability and automatic failover to your load balancing.

And you can also easily synchronize a ProxySQL configuration that has query rules, users, and host groups with other instances to keep them identical.

  • Copy, Export and Import ProxySQL configurations to/from other instances to keep them in sync
  • Add Existing standalone ProxySQL instance
  • Add Existing Keepalived in active/passive setups
  • Deploy up to 3 ProxySQL instances with a Keepalived active/passive setup
  • Simplified Query Cache creation

New Web-based SSH Console

From the ClusterControl GUI, you now have SSH access to any of the database nodes right from your browser. This can be very useful if you need to quickly log into a database server and access the command line. Communication is based on HTTPS, so it is possible to access your servers from behind a firewall that restricts Internet access to only port 443. Access to WebSSH is configurable by the ClusterControl admin through the GUI.

  • Open a terminal window to any cluster nodes
    • Only supported with Apache 2.4+

There are a number of other features and improvements that we have not mentioned here. You can find all details in the ChangeLog.

We encourage you to test this latest release and provide us with your feedback. If you’d like a demo, feel free to request one.

Thank you for your ongoing support, and happy clustering!

PS.: For additional tips & tricks, follow our blog: https://severalnines.com/blog/.

Become a MongoDB DBA - New Whitepaper

$
0
0

We’re happy to announce that our new whitepaper Become a MongoDB DBA: Bringing MongoDB to Production is now available to download for free!

This guide discusses the different versions of MongoDB that are available to you and how, once selected, you can take it from deployment to production. It also describes things you need to take into consideration like security and management.

Topics included in this whitepaper are…

  • Choosing the right MongoDB version
  • Securing MongoDB
  • Monitoring and Trending
  • Backup and Recovery
  • Scaling MongoDB

While MongoDB has spent nearly a decade achieving maturity, the technology is somewhat of a mystery to those experienced in traditional environments. This whitepaper provides a blueprint of what you need to know to ensure you are maximizing the potential of the MongoDB database.

If your team is considering or in the process of introducing MongoDB into your environment then this new guide on Becoming a MongoDB DBA is for you. If you want to dive even deeper into MongoDB make sure to check out the Become a MongoDB DBA blog series.

ClusterControl
Single Console for Your Entire Database Infrastructure
Find out what else is new in ClusterControl

ClusterControl for MongoDB

Users of MongoDB often have to use a variety of tools to achieve their requirements; ClusterControl provides an all-inclusive system where you don’t have to cobble together different tools.

ClusterControl offers users a single interface to securely manage their MongoDB infrastructures and mixed open source database environments, while preventing vendor lock-in; whether on premise or in the cloud.  ClusterControl offers an alternative to other companies who employ aggressive pricing increases, helping you to avoid vendor lock-in and control your costs.

ClusterControl provides the following features to deploy and manage your MongoDB stacks...

  • Advisors: ClusterControl’s library of Advisors allows you to extend the features of ClusterControl to add even more MongoDB management functionality.
  • Developer Studio: The ClusterControl Developer Studio lets you customize your own MongoDB deployment to enable you to solve your unique problems.
  • Easy Deployment: You can now automatically and securely deploy sharded MongoDB clusters or Replica Sets with ClusterControl’s free community version; as well as automatically convert a Replica Set into a sharded cluster if that’s required.
  • Single Interface: ClusterControl provides one single interface to automate your mixed MongoDB, MySQL, and PostgreSQL database environments.
  • Advanced Security: ClusterControl removes human error and provides access to a suite of security features automatically protecting your databases from hacks and other threats.
  • Monitoring: ClusterControl provides a unified view of all sharded environments across your data centers and lets you drill down into individual nodes.
  • Scaling: Easily add and remove nodes, resize instances, and clone your production clusters with ClusterControl.
  • Management: ClusterControl provides management features that automatically repair and recover broken nodes, and test and automate upgrades.
  • Consistent Backups of Sharded Clusters: Using the Percona MongoDB Consistent Backup tool, ClusterControl will allow you to make consistent snapshots of your MongoDB sharded clusters.

To learn more about the exciting features we offer for MongoDB click here.

Percona Live from the Emerald Isle: Containerised Dolphins, MySQL Load Balancers, MongoDB Management & more - for plenty of 9s

$
0
0

Yes, it’s that time of year again: the Percona Live Europe Conference is just around the corner.

And we’ll be broadcasting live from the Emerald Isle!

Quite literally, since we’re planning to be on our Twitter and Facebook channels during the course of the conference, so do make sure to tune in (if you’re not attending in person). And this year’s location is indeed Dublin, Ireland, so expect lots of banter and a bit of craic.

More specifically though, the Severalnines team will be well represented with three talks and a booth in the exhibition area. So do come and meet us there. If you haven’t registered yet, there’s still time to do so on the conference website: https://www.percona.com/live/e17/

Our talks at the conference:

Ashraf Sharif, Senior Support Engineer will be talking about MySQL on Docker and containerised dolphins (which only sounds like a good idea in the database world).

Krzysztof Książek, Senior Support Engineer, will share his knowledge and experience on all things MySQL load balancing.

And Ruairí Newman, also Senior Support Engineer, will be discussing what some of the main considerations are to think through when looking at automating and managing MongoDB - including a closer look at MongoDB Ops Manager and ClusterControl.

And since we don’t solely employ Senior Support Engineers at Severalnines, you’ll be pleased to know that Andrada Enache, Sales Manager, and myself will also be present to talk open source database management with ClusterControl at our booth.

This year’s conference agenda looks pretty exciting overall with a wide enough range of topics, so there’ll be something of interest for every open source database aficionado out there.

See you in Dublin ;-)

Percona Live Dublin - Event Recap & Our Sessions

$
0
0

Severalnines was pleased to yet again sponsor Percona Live Europe, the Open Source Database Conference which was held this year in Dublin, Ireland.

At the Conference

Severalnines team members flew in from around the world to partner up with our two local Dubliners to demo ClusterControl in the exhibit hall and present three sessions (see below).

On our Twitter feed we live tweeted both of the keynote sessions to help keep those who weren’t able to attend up-to-speed on the latest happenings in the database world.

We were also able to sit down with René Cannaò, creator of ProxySQL to talk about what’s new with the exciting load balancing technology.

Our Sessions

Members of the Severalnines team presented three technical sessions, all of which were widely attended… some with standing room only!

MySQL Load Balancers - MaxScale, ProxySQL, HAProxy, MySQL Router & nginx - A Close Up Look

Session Details: Load balancing MySQL connections and queries using HAProxy has been popular in the past years. Recently however, we have seen the arrival of MaxScale, MySQL Router, ProxySQL and now also Nginx as a reverse proxy.

For which use cases do you use them and how well do they integrate in your environment? This session aims to give a solid grounding in load balancer technologies for MySQL and MariaDB.

We review the main open-source options available: from application connectors (php-mysqlnd, jdbc), TCP reverse proxies (HAproxy, Keepalived, Nginx) and SQL-aware load balancers (MaxScale, ProxySQL, MySQL Router).

We also look into the best practices for backend health checks to ensure load balanced connections are routed to the correct nodes in several MySQL clustering topologies. You'll gain a good understanding of how the different options compare, and enough knowledge to decide which ones to explore further.

MySQL on Docker - Containerizing the Dolphin

Session Details: Docker is becoming more mainstream and adopted by users as a method to package and deploy self-sufficient applications in primarily stateless Linux containers. It's a great toolset on top of OS-level virtualization (LXC, a.k.a containers) and plays well in the world of micro services.

However, Docker containers are transient by default. If a container is destroyed, all data created is also lost. For a stateful service like a database, this is a major headache to say the least.

There are a number ways to provide persistent storage in Docker containers. In this presentation, we will talk about how to setup a persistence data service with Docker that can be torn down and brought up across hosts and containers.

We touch upon orchestration tools, shared volumes, data-only-containers, security and configuration management, multi-host networking, service discovery and implications on monitoring when we move from host-centric to role-centric services with shorter life cycles.

Automating and Managing MongoDB: An Analysis of Ops Manager vs. ClusterControl

Session Details: In any busy operations environment, there are countless tasks to perform - some monthly, or weekly, some daily or more frequently, and some on an ad-hoc basis. And automation is key to performing fast, efficient and consistently repeatable software deployments and recovery.

There are many generic tools available, both commercial and open source, to aid with the automation of operational tasks. Some of these tools are even deployed in the database world. However, there are a small number of specialist domain-specific automation tools available also, and we are going to compare two of these products: MongoDB?s own Ops Manager, and ClusterControl from Severalnines.

We cover Installation and maintenance, Complexity of architecture, Options for redundancy, Comparative functionality, Monitoring, Dashboard, Alerting, Backing up and restoring, Automated deployment of advanced configurations, and Upgrading existing deployments

Thanks to the Percona Team for organising another great conference and to everyone who participated from near and afar! We hope to see you again soon!

Viewing all 286 articles
Browse latest View live