Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Using MongoDB Monitoring Service (MMS)

Using MongoDB Monitoring Service (MMS)

MongoDB #mongodbdays presentation on 2013-04-09 (in London) on "Using MongoDB Monitoring Service (MMS)"

Mark Hillick

April 09, 2013
Tweet

More Decks by Mark Hillick

Other Decks in Technology

Transcript

  1. Engineer, 10gen
    Mark Hillick - @markofu – [email protected]
    #mongodbdays
    Using the MongoDB Monitoring Service
    (MMS)

    View Slide

  2. Agenda
    1.  What, where, numbers?
    2.  How?
    3.  Measure Me!!!
    4.  Alerting
    5.  Security
    6.  Documentation
    7.  Futures
    8.  Conclusion
    9.  Questions?
    MongoDB Monitoring Service, Mark Hillick

    View Slide

  3. What, where, numbers?

    View Slide

  4. What is MMS?
    •  MongoDB monitoring Saas solution with:
    –  Granularity: min, hour, day
    –  Alerting: host up / down, metrics etc
    –  Event tracking (server restart, step down, …)
    •  Host management (auto discover)
    •  Profiling
    •  Hardware stats also

    View Slide

  5. Why use MMS? (1)

    View Slide

  6. Why use MMS? (2)
    •  Overview – Bird’s Eye
    –  Macro
    •  Drill down (minute by minute)
    –  Micro

    View Slide

  7. Why use MMS? (3)
    •  Haz all teh things J
    •  Tailored specifically for MongoDB
    •  Incredibly helpful for 10gen Support when
    troubleshooting

    View Slide

  8. A few numbers …
    •  40k writes per second
    •  400 metrics per ping packet
    •  9 billion metrics recorded per day

    View Slide

  9. How?

    View Slide

  10. Set up MMS – it’s easy
    •  Go to http://mms.10gen.com
    –  Create a new account or sign in with jira user.
    –  Pick an explicit company name
    –  Download and run the agent
    –  From MMS dashboard, add a host to monitor

    View Slide

  11. The MMS client (agent)
    •  Small Python app
    •  A single agent process
    –  Failover – multiple agents
    •  Connect to mms.10gen.com (SSL over TCP 443)

    View Slide

  12. Host

    View Slide

  13. Operational Stats

    View Slide

  14. Measure me!!!

    View Slide

  15. Metrics
    •  Source : http://www.kaushik.net/avinash/wp-content/uploads/2007/10/metrics.jpg

    View Slide

  16. opcounters
    •  Count of every operation per second
    •  getMore – each batch of a query

    View Slide

  17. memory
    •  Mapped: sum of files on disk
    •  Virtual memory: 2 x mapped (j) + process overhead
    •  Resident memory: data in RAM actively used

    View Slide

  18. Page faults
    •  Disk IO
    •  Readahead

    View Slide

  19. Lock %
    •  Amount of time spent in the write lock
    •  From 2.2 : each db has own lock

    View Slide

  20. Background flush
    •  Flush every 60 seconds
    •  Watch: if flush time gets close to sync delay

    View Slide

  21. Replication
    •  On primary: amount of time in oplog
    •  On secondary: replication delay to primary

    View Slide

  22. Metrics that we discussed
    •  Opcounters
    •  Memory
    •  Page Faults
    •  Lock %
    •  Background Flush
    •  Replication

    View Slide

  23. Metrics for performance
    •  Resident memory: how much data in RAM?
    •  Page Faults: paging to disk? Readahead?
    •  Journal commits in write lock: separate journal
    •  High background flush: reduce sync delay to smooth

    View Slide

  24. Alerting

    View Slide

  25. Alerts - Config

    View Slide

  26. All good 

    View Slide

  27. Alerts - Closed

    View Slide

  28. Events

    View Slide

  29. Events

    View Slide

  30. Security

    View Slide

  31. What is sent?
    •  Purely metadata
    •  HTTPS & connections are outbound only (from the agent)
    •  Log transfer has to be turned on
    •  If profiling in db & MMS, then profiling data is sent

    View Slide

  32. On-premise MMS
    •  Locally Hosted in Customer Infrastructure
    •  PCI, HIPAA, SOX etc
    •  Enterprise Customers (2.4)

    View Slide

  33. Documentation

    View Slide

  34. Docs? Where?
    •  Manual : https://mms.10gen.com/help/
    •  FAQ : https://mms.10gen.com/docs/faq

    View Slide

  35. Futures

    View Slide

  36. Feature Request
    •  JIRA Ticket : MMSSUPPORT
    •  Non-CS : Google Group

    View Slide

  37. Coming up…
    •  Data visualization
    •  New agent - Python Go
    •  On-Premise Features

    View Slide

  38. Conclusion

    View Slide

  39. Conclusion
    •  Easy to use
    •  Macro & micro
    •  Detailed monitoring features
    •  Helps 10gen Support immensely

    View Slide

  40. Thanks
    •  Thanks to Mike Stimpson for the awesome pics J
    http://imgur.com/a/0XvKw (I bought his book btw!)

    View Slide

  41. Engineer, 10gen & Star Wars fan 
    Mark Hillick - @markofu – [email protected]
    #mongodbdays
    Questions?

    View Slide