Slides: Introducing the new ClusterControl 1.2.10 for MySQL, MongoDB and Postgres

19
Confidential ClusterControl 1.2.10 June 2015 Johan Andersson CTO, Severalnines johan@severalnines.com

Transcript of Slides: Introducing the new ClusterControl 1.2.10 for MySQL, MongoDB and Postgres

Page 1: Slides: Introducing the new ClusterControl 1.2.10 for MySQL, MongoDB and Postgres

Confidential

ClusterControl 1.2.10

June 2015

Johan Andersson

CTO, Severalnines

[email protected]

Page 2: Slides: Introducing the new ClusterControl 1.2.10 for MySQL, MongoDB and Postgres

Confidential

Customers

2

Copyright Severalnines AB

Page 3: Slides: Introducing the new ClusterControl 1.2.10 for MySQL, MongoDB and Postgres

Confidential

What Problems do we Address?

3

Copyright 2012 Severalnines AB

Manage Scale

Monitor Deploy

Page 4: Slides: Introducing the new ClusterControl 1.2.10 for MySQL, MongoDB and Postgres

Confidential

Monitoring - Beyond Nagios

!  What do you do when the application is slow?

!  Is it Disk? CPU? RAM? Badly written queries?

!  What are the symptoms? (Replication queues, Page Faults, locks, # connections, deadlocks …)

!  How do you avoid problems?

!  How do you plan for capacity?

4

Copyright Severalnines AB

Page 5: Slides: Introducing the new ClusterControl 1.2.10 for MySQL, MongoDB and Postgres

Confidential

Management - Beyond Monitoring

5

Copyright Severalnines AB

Page 6: Slides: Introducing the new ClusterControl 1.2.10 for MySQL, MongoDB and Postgres

Confidential

ClusterControl DSL - Automation Programs

6

Copyright Severalnines AB

Page 7: Slides: Introducing the new ClusterControl 1.2.10 for MySQL, MongoDB and Postgres

Confidential 7

Copyright 2013 Severalnines AB

Page 8: Slides: Introducing the new ClusterControl 1.2.10 for MySQL, MongoDB and Postgres

Confidential

What’s new in 1.2.10?

!  ClusterControl DSL (Domain Specific Language)

!  Integrated Developer Studio (Developer IDE)

!  Database Advisors/JS bundle

!  On-premise Deployment of MySQL / MariaDB Galera Cluster (New implementation)

!  Detection of long running and deadlocked transactions (Galera)

!  Detection of most advanced (last committed) node in case of cluster failure (Galera)

!  Registration of manually added nodes with ClusterControl

!  Failover and Slave Promotion in MySQL 5.6 Replication setups

!  General front-end optimizations

8

Copyright 2012 Severalnines AB

Page 9: Slides: Introducing the new ClusterControl 1.2.10 for MySQL, MongoDB and Postgres

Confidential

Register Manually Added Nodes

!  Add an existing node to the UI

!  Useful if a node has been created outside of ClusterControl

!  E.g: Puppet, Chef, Ansible

Copyright 2012 Severalnines AB

9

Page 10: Slides: Introducing the new ClusterControl 1.2.10 for MySQL, MongoDB and Postgres

Confidential

Long Running TX Log

!  Keep a log of long running transactions

!  Configurable timeout (seconds) in cmon.cnf:

!  10 seconds by default

!  db_long_query_time_alarm=10

!  Easily view what transaction are causing the deadlocks.

!  Complete INNODB STATUS for detailed debugging.

Copyright 2012 Severalnines AB

10

Page 11: Slides: Introducing the new ClusterControl 1.2.10 for MySQL, MongoDB and Postgres

Confidential

Galera - Assisted Manual Cluster Recovery

!  Find out which is the most advanced node in the Galera Cluster.

!  Bootstrap the Cluster from this node

!  Useful when Auto Cluster Recovery is disabled.

Copyright 2012 Severalnines AB

11

Page 12: Slides: Introducing the new ClusterControl 1.2.10 for MySQL, MongoDB and Postgres

Confidential

5.6 Replication – Master Promotion

!  New Job to promote a Slave to become a new Master. !  Only supported for GTID based replication (and not

MariaDB’s variant)

!  Combine with Semi-sync replication for loss-free failovers.

Copyright 2012 Severalnines AB

12

Page 13: Slides: Introducing the new ClusterControl 1.2.10 for MySQL, MongoDB and Postgres

Confidential

ClusterControl DSL

!  DSL = Domain Specific Language

!  Based on JavaScript and allows the user to: !  Create Advisors !  Helper programs !  Auto Tuners/Scalers

!  Access internal data structures of ClusterControl !  State information of managed nodes !  E.g time series data and applying statistical functions

!  Online documentation: !  http://www.severalnines.com/downloads/cmon/cmon-

docs/current/implang.html

13

Copyright 2012 Severalnines AB

Page 14: Slides: Introducing the new ClusterControl 1.2.10 for MySQL, MongoDB and Postgres

Confidential

ClusterControl DSL

!  Execute SQL commands on remote db nodes

!  Execute bash scripts on remote hosts

!  Process returned data

!  Create Alarms and Notifications

!  Graphs

Copyright 2012 Severalnines AB

14

Page 15: Slides: Introducing the new ClusterControl 1.2.10 for MySQL, MongoDB and Postgres

Confidential

Developer Studio

!  A web based IDE allowing the user to !  create

!  edit

!  compile

!  run

!  test

!  debug

!  schedule JS programs

15

Copyright 2012 Severalnines AB

Page 16: Slides: Introducing the new ClusterControl 1.2.10 for MySQL, MongoDB and Postgres

Confidential

JS/Advisor Bundle

!  ClusterControl ships with a default advisor bundle !  MIT License !  Available on GitHub

!  https://github.com/severalnines/s9s-advisor-bundle

!  Rules and alerts on !  security settings !  system checks (NUMA, Disk, CPU) !  queries !  innodb !  connections !  performance schema !  Galera configuration !  NDB memory usage

16

Copyright 2012 Severalnines AB

Page 17: Slides: Introducing the new ClusterControl 1.2.10 for MySQL, MongoDB and Postgres

Confidential

17

Copyright 2012 Severalnines AB

Page 18: Slides: Introducing the new ClusterControl 1.2.10 for MySQL, MongoDB and Postgres

Confidential

Getting Started !  Dedicated VM for the controller

!  Specs !  2 CPU cores !  2-4GB RAM !  20GB diskspace

!  No agents !  Host stats gathered via SSH

!  Installation !  YUM/APT !  Setup SSH access to Controller itself and DB nodes !  http://repo.severalnines.com/

18

Copyright Severalnines AB

Page 19: Slides: Introducing the new ClusterControl 1.2.10 for MySQL, MongoDB and Postgres

Confidential

QA

19

Copyright 2012 Severalnines AB