SlideShare a Scribd company logo
Monitoring Large-scale Cloud
Infrastructures with OpenNebula
Simon Boulet
OpenNebula Consultant
Co-founder of the Cloudnorth.com Project
simon@nostalgeek.com
Goals
1. Show how to configure OpenNebula to
achieve sub-1 minute monitoring interval
2. Demonstrate the use of OpenNebula in
large-scale cloud infrastructures
3. Suggest enhancements to OpenNebula
performance and monitoring
How Big Exactly is Large-scale?
How many hosts?
1,000? 2,000? 10,000 VMs?
Monitoring in OpenNebula
● Detects when a VM or host changes status
(Running, Stopped, etc.)
● Built-in metrics: CPU, memory and network
usage
● You can add as many metrics as you like by
customizing driver
● Can be used to perform various tasks (auto
scaling, high-availability redeployment, etc.)
Don't Expect the Default
Configuration to Perform Optimally
● Database: Use MySQL database backend,
not the default SQLite
● Logs: Use Syslog log system, and disable
debug logging (debug_level=1)
● Number of threads: Adjust the number of
drivers threads (see -t option to your *MAD
config options)
Use OpenNebula >= 4.0
Prior versions did monitoring in two phases:
1. The IM Monitor action monitored Hosts
2. The VMM Poll action monitored VMs
100 Hosts + 1,000 VMs * 15 seconds interval = 4,400
actions per minute
Since OpenNebula 4.0, the IM Monitor action is
capable of returning the information of VMs
running on the monitored host
Monitoring History
By default OpenNebula keeps 24h of
monitoring history
15 seconds interval X 24h = 5760 records per VM
Average record size: 4KB
23MB of monitoring history per VM
100 VM = 2.3GB
10,000 VM = 230GB
HOST_MONITORING_EXPIRATION_TIME and
VM_MONITORING_EXPIRATION_TIME config options
Monitoring History (continued)
● Reduce history to 30 minutes (1800
seconds)
● Use MySQL MEMORY storage engine for
vm_monitoring and host_monitoring tables
It's OK to lose monitoring history when MySQL
is restarted
Most recent monitoring values are stored in VM
template
Set MySQL max_heap_table_size large enough to hold all your monitoring
history
Watch your Load Average
As of 4.2, the maximum number of
simultaneous XML-RPC API connections is
limited to 15
Overloaded OpenNebula = Slow XML-RPC API response =
API Limit / Timeout
● Reduce load at deployment time by
adjusting number of VMs simultaneously
deployed by scheduler
● Watch next release (4.4) for
XML-RPC API concurrency
enhancements
Local Caching Nameserver
OpenNebula use DNS name for monitoring
hosts (unless you named your hosts using their
IP address instead of name)
● Use a local caching nameserver to speed up
DNS lookup (such as dnsmasq).
Beware of SSH Transport
Most OpenNebula drivers (KVM, Xen, etc.) use
SSH connections to perform actions
OK for deploying new VM, but expensive when
doing VM monitoring
Meet Ganglia
<< Ganglia is a scalable distributed system monitor tool for high-performance
computing systems such as clusters and grids. >>
- Wikipedia
OpenNebula has built-in support for Ganglia
By default Ganglia and OpenNebula must run
on the same machine
Set GANGLIA_HOST in /var/lib/one/remotes/im/ganglia.d/ganglia_probe and
/var/lib/one/remotes/vmm/kvm/poll_ganglia
Meet Ganglia (continued)
Ganglia Driver Limitations
1. Currently only 1 Ganglia Collector is
supported
2. Need to run script on each host to export
OpenNebula-specific metric
(OPENNEBULA_VMS_INFORMATION)
3. Ganglia as a maximum length of 1392 bytes
for string metrics
Host sFlow
<< The Host sFlow agent exports physical and virtual server performance
metrics using the sFlow protocol. The agent provides scalable, multi-vendor,
multi-OS performance monitoring with minimal impact on the systems being
monitored.>>
- http://host-sflow.sourceforge.net/
Exports a standard set of hypervisor and VM
metrics
Official support for Xen, KVM and Hyper-V, but
uses Libvirt to gather metrics (and Libvirt has
support LXC, OpenVZ, VMWare, etc.)
Host sFlow (continued)
Source: http://blog.sflow.com/2012/02/ganglia-33-released.html
Host sFlow (continued)
Sample Metrics
Hosts Metrics
VMs Metrics
Not currently supported in OpenNebula. Contact me if you're interested.
vnode_mem_total Hypervisor Total Memory
vnode_domains Hypervisor VM Count
<VM ID>.vcpu_state VM State (Running, Stopped, etc.)
<VM ID>.vmem_util VM Memory Utilization
<VM ID>.vdisk_free VM Free Disk Space
4,000 VMs at Sub-1 Minute Interval
OpenNebula 4.2 + xml-rpc patch (upcoming in 4.4)
Experimental Host sFlow Driver
1 OpenNebula Core (EC2 High-CPU XLarge instance)
1 Sunstone Web Server (EC2 Standard Medium instance)
1 Ganglia Collector (EC2 Standard Medium instance)
100 Hosts (EC2 High-CPU Medium instances)
~40 VMs per Host
~4,000 VMs (OpenVZ)
15 - 60 second monitoring interval
4,000 VMs at Sub-1 Minute Interval
4,000 VMs at Sub-1 Minute Interval
4,000 VMs at Sub-1 Minute Interval
Looking Forward
There’s room for optimizations
● The command line tools can get very slow when
returning very large result sets (but not the API…)
● Distributed driver, for example using ZeroMQ for
distributing tasks to multiple workers
● Investigate PoolSQL locks being held for long period
and blocking other threads (discussed in bug #1818)
● Gather metrics about OpenNebula internals: locks wait,
effective monitoring interval, memory footprints, etc.
● Investigate very large Sunstone memory usage
Thank you!
Questions?
“OpenNebula captured my interest for several technical
reasons besides the fact that it is truly open. It's architecture
is very elegant; it has C++ bones, ruby muscles and bash
tendons. It's extensible and understandable. It has no peer
as far as I can tell.”
Christopher Barry, Infrastructure Engineer, RJMetrics,
September 2012
http://opennebula.org/users:testimonials

More Related Content

PDF
Monitoring Large-scale Cloud Infrastructures with OpenNebula
PDF
OpenNebulaConf2015 1.09.02 Installgems Add-on - Alvaro Simon Garcia
PDF
OpenNebulaConf2015 2.05 OpenNebula at the Leibniz Supercomputing Centre - Mat...
PDF
How Can OpenNebula Fit Your Needs: A European Project Feedback
PDF
Monitoring of OpenNebula installations
PDF
Enabling Scientific Workflows on FermiCloud using OpenNebula
PDF
OpenNebulaConf 2016 - Budgeting: the Ugly Duckling of Cloud computing? by Mat...
PPTX
Distributed Tests on Pulsar with Fallout - Pulsar Summit NA 2021
Monitoring Large-scale Cloud Infrastructures with OpenNebula
OpenNebulaConf2015 1.09.02 Installgems Add-on - Alvaro Simon Garcia
OpenNebulaConf2015 2.05 OpenNebula at the Leibniz Supercomputing Centre - Mat...
How Can OpenNebula Fit Your Needs: A European Project Feedback
Monitoring of OpenNebula installations
Enabling Scientific Workflows on FermiCloud using OpenNebula
OpenNebulaConf 2016 - Budgeting: the Ugly Duckling of Cloud computing? by Mat...
Distributed Tests on Pulsar with Fallout - Pulsar Summit NA 2021

What's hot (20)

PPTX
Meetup 23 - 02 - OVN - The future of networking in OpenStack
PDF
OpenStack Neutron Tutorial
PDF
An Introduction to OpenStack Networking
PDF
OpenNebulaConf 2016 - Evolution of OpenNebula at Netways by Sebastian Saemann...
PPTX
TECNIRIS@: OpenNebula Tutorial
PPTX
Moving to Nova Cells without Destroying the World
PPT
OpenDaylight Integration with OpenStack Neutron: A Tutorial
PDF
Tips Tricks and Tactics with Cells and Scaling OpenStack - May, 2015
PDF
Simplify Networking for Containers
PDF
CPU Optimizations in the CERN Cloud - February 2016
PDF
OpenNebulaConf 2016 - Hypervisors and Containers Hands-on Workshop by Jaime M...
PDF
iptables 101- bottom-up
PDF
OpenStack Tokyo Summit Keynote Slides
ODP
Accelerated dataplanes integration and deployment
ODP
How Many Ohs? (An Integration Guide to Apex & Triple-o)
PDF
OpenNebulaConf 2016 - OpenNebula 5.0 Highlights and Beyond by Ruben S. Monter...
PDF
See what happened with real time kvm when building real time cloud pezhang@re...
PDF
Compute 101 - OpenStack Summit Vancouver 2015
PPTX
OpenStack Nova - Developer Introduction
PDF
Networking, QoS, Liberty, Mitaka and Newton - Livnat Peer - OpenStack Day Isr...
Meetup 23 - 02 - OVN - The future of networking in OpenStack
OpenStack Neutron Tutorial
An Introduction to OpenStack Networking
OpenNebulaConf 2016 - Evolution of OpenNebula at Netways by Sebastian Saemann...
TECNIRIS@: OpenNebula Tutorial
Moving to Nova Cells without Destroying the World
OpenDaylight Integration with OpenStack Neutron: A Tutorial
Tips Tricks and Tactics with Cells and Scaling OpenStack - May, 2015
Simplify Networking for Containers
CPU Optimizations in the CERN Cloud - February 2016
OpenNebulaConf 2016 - Hypervisors and Containers Hands-on Workshop by Jaime M...
iptables 101- bottom-up
OpenStack Tokyo Summit Keynote Slides
Accelerated dataplanes integration and deployment
How Many Ohs? (An Integration Guide to Apex & Triple-o)
OpenNebulaConf 2016 - OpenNebula 5.0 Highlights and Beyond by Ruben S. Monter...
See what happened with real time kvm when building real time cloud pezhang@re...
Compute 101 - OpenStack Summit Vancouver 2015
OpenStack Nova - Developer Introduction
Networking, QoS, Liberty, Mitaka and Newton - Livnat Peer - OpenStack Day Isr...
Ad

Similar to OpenNebulaConf 2013 - Monitoring Large-scale Cloud Infrastructures with OpenNebula by Simon Boulet (20)

PPTX
Cloud using opennebulla for research work.pptx
PDF
OpenNebula Monitoring Data Visualization With oneInsight
PDF
Cloud Computing in practice with OpenNebula ~ Develer workshop 2012
PDF
Cloud computing, in practice ~ develer workshop
PDF
New features in OpenNebula 5.4, Jaime Melis
PDF
OpenNebula TechDay Boston 2015 - introduction and architecture
PDF
OSDC 2013 | The OpenNebula Cloud Platform for Datacenter Virtualization by Co...
PDF
OpenNebulaConf 2013 - How Can OpenNebula Fit Your Needs: A European Project F...
PDF
OpenNebula 5.4 Enhancements vCenter Integration
PDF
OpenNebula 5.4 Enhancements VMware vCenter integration
PDF
How can OpenNebula fit your needs - OpenNebulaConf 2013
PDF
NTS: What We Do With OpenNebula - and Why We Do It
PDF
OpenNebula 4.14 Hands-on Tutorial
PDF
TechDay - April - Tutorial
PPTX
OpenNebula and VMware - A dance
PDF
OpenNebula TechDay Boston 2015 - An introduction to OpenNebula
PDF
LinuxTag 2013
PDF
OSDC 2012 | OpenNebula Tutorial by Constantino Vazquez Blanco
PDF
OpenNebula TechDay Boston 2015 - installing and basic usage
PDF
OpenNebula TechDay Waterloo 2015 - Open nebula hands on workshop
Cloud using opennebulla for research work.pptx
OpenNebula Monitoring Data Visualization With oneInsight
Cloud Computing in practice with OpenNebula ~ Develer workshop 2012
Cloud computing, in practice ~ develer workshop
New features in OpenNebula 5.4, Jaime Melis
OpenNebula TechDay Boston 2015 - introduction and architecture
OSDC 2013 | The OpenNebula Cloud Platform for Datacenter Virtualization by Co...
OpenNebulaConf 2013 - How Can OpenNebula Fit Your Needs: A European Project F...
OpenNebula 5.4 Enhancements vCenter Integration
OpenNebula 5.4 Enhancements VMware vCenter integration
How can OpenNebula fit your needs - OpenNebulaConf 2013
NTS: What We Do With OpenNebula - and Why We Do It
OpenNebula 4.14 Hands-on Tutorial
TechDay - April - Tutorial
OpenNebula and VMware - A dance
OpenNebula TechDay Boston 2015 - An introduction to OpenNebula
LinuxTag 2013
OSDC 2012 | OpenNebula Tutorial by Constantino Vazquez Blanco
OpenNebula TechDay Boston 2015 - installing and basic usage
OpenNebula TechDay Waterloo 2015 - Open nebula hands on workshop
Ad

More from OpenNebula Project (20)

PDF
OpenNebulaConf2019 - Welcome and Project Update - Ignacio M. Llorente, Rubén ...
PDF
OpenNebulaConf2019 - Building Virtual Environments for Security Analyses of C...
PDF
OpenNebulaConf2019 - CORD and Edge computing with OpenNebula - Alfonso Aureli...
PDF
OpenNebulaConf2019 - 6 years (+) OpenNebula - Lessons learned - Sebastian Man...
PDF
OpenNebulaConf2019 - Performant and Resilient Storage the Open Source & Linux...
PDF
OpenNebulaConf2019 - Image Backups in OpenNebula - Momčilo Medić - ITAF
PDF
OpenNebulaConf2019 - How We Use GOCA to Manage our OpenNebula Cloud - Jean-Ph...
PDF
OpenNebulaConf2019 - Crytek: A Video gaming Edge Implementation "on the shoul...
PDF
Replacing vCloud with OpenNebula
PDF
OpenNebula from the Perspective of an ISP
PDF
NTS CAPTAIN / OpenNebula at Julius Blum GmbH
PDF
Performant and Resilient Storage: The Open Source & Linux Way
PDF
NetApp Hybrid Cloud with OpenNebula
PPTX
NSX with OpenNebula - upcoming 5.10
PDF
Security for Private Cloud Environments
PDF
CheckPoint R80.30 Installation on OpenNebula
PDF
DE-CIX: CloudConnectivity
PDF
PDF
Cloud Disaggregation with OpenNebula
PDF
OpenNebula and StorPool: Building Powerful Clouds
OpenNebulaConf2019 - Welcome and Project Update - Ignacio M. Llorente, Rubén ...
OpenNebulaConf2019 - Building Virtual Environments for Security Analyses of C...
OpenNebulaConf2019 - CORD and Edge computing with OpenNebula - Alfonso Aureli...
OpenNebulaConf2019 - 6 years (+) OpenNebula - Lessons learned - Sebastian Man...
OpenNebulaConf2019 - Performant and Resilient Storage the Open Source & Linux...
OpenNebulaConf2019 - Image Backups in OpenNebula - Momčilo Medić - ITAF
OpenNebulaConf2019 - How We Use GOCA to Manage our OpenNebula Cloud - Jean-Ph...
OpenNebulaConf2019 - Crytek: A Video gaming Edge Implementation "on the shoul...
Replacing vCloud with OpenNebula
OpenNebula from the Perspective of an ISP
NTS CAPTAIN / OpenNebula at Julius Blum GmbH
Performant and Resilient Storage: The Open Source & Linux Way
NetApp Hybrid Cloud with OpenNebula
NSX with OpenNebula - upcoming 5.10
Security for Private Cloud Environments
CheckPoint R80.30 Installation on OpenNebula
DE-CIX: CloudConnectivity
Cloud Disaggregation with OpenNebula
OpenNebula and StorPool: Building Powerful Clouds

Recently uploaded (20)

PPTX
ChatGPT's Deck on The Enduring Legacy of Fax Machines
PDF
creating-agentic-ai-solutions-leveraging-aws.pdf
PDF
Orbitly Pitch Deck|A Mission-Driven Platform for Side Project Collaboration (...
PPTX
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
PDF
CIFDAQ's Market Wrap: Ethereum Leads, Bitcoin Lags, Institutions Shift
PDF
Automating ArcGIS Content Discovery with FME: A Real World Use Case
PDF
NewMind AI Monthly Chronicles - July 2025
PDF
Building High-Performance Oracle Teams: Strategic Staffing for Database Manag...
PDF
BLW VOCATIONAL TRAINING SUMMER INTERNSHIP REPORT
PDF
DevOps & Developer Experience Summer BBQ
PDF
Security features in Dell, HP, and Lenovo PC systems: A research-based compar...
PDF
Why Endpoint Security Is Critical in a Remote Work Era?
PDF
SparkLabs Primer on Artificial Intelligence 2025
PDF
NewMind AI Weekly Chronicles - August'25 Week I
PDF
Chapter 2 Digital Image Fundamentals.pdf
PDF
REPORT: Heating appliances market in Poland 2024
PPTX
ABU RAUP TUGAS TIK kelas 8 hjhgjhgg.pptx
PDF
madgavkar20181017ppt McKinsey Presentation.pdf
PDF
Enable Enterprise-Ready Security on IBM i Systems.pdf
PDF
Top Generative AI Tools for Patent Drafting in 2025.pdf
ChatGPT's Deck on The Enduring Legacy of Fax Machines
creating-agentic-ai-solutions-leveraging-aws.pdf
Orbitly Pitch Deck|A Mission-Driven Platform for Side Project Collaboration (...
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
CIFDAQ's Market Wrap: Ethereum Leads, Bitcoin Lags, Institutions Shift
Automating ArcGIS Content Discovery with FME: A Real World Use Case
NewMind AI Monthly Chronicles - July 2025
Building High-Performance Oracle Teams: Strategic Staffing for Database Manag...
BLW VOCATIONAL TRAINING SUMMER INTERNSHIP REPORT
DevOps & Developer Experience Summer BBQ
Security features in Dell, HP, and Lenovo PC systems: A research-based compar...
Why Endpoint Security Is Critical in a Remote Work Era?
SparkLabs Primer on Artificial Intelligence 2025
NewMind AI Weekly Chronicles - August'25 Week I
Chapter 2 Digital Image Fundamentals.pdf
REPORT: Heating appliances market in Poland 2024
ABU RAUP TUGAS TIK kelas 8 hjhgjhgg.pptx
madgavkar20181017ppt McKinsey Presentation.pdf
Enable Enterprise-Ready Security on IBM i Systems.pdf
Top Generative AI Tools for Patent Drafting in 2025.pdf

OpenNebulaConf 2013 - Monitoring Large-scale Cloud Infrastructures with OpenNebula by Simon Boulet

  • 1. Monitoring Large-scale Cloud Infrastructures with OpenNebula Simon Boulet OpenNebula Consultant Co-founder of the Cloudnorth.com Project [email protected]
  • 2. Goals 1. Show how to configure OpenNebula to achieve sub-1 minute monitoring interval 2. Demonstrate the use of OpenNebula in large-scale cloud infrastructures 3. Suggest enhancements to OpenNebula performance and monitoring
  • 3. How Big Exactly is Large-scale? How many hosts? 1,000? 2,000? 10,000 VMs?
  • 4. Monitoring in OpenNebula ● Detects when a VM or host changes status (Running, Stopped, etc.) ● Built-in metrics: CPU, memory and network usage ● You can add as many metrics as you like by customizing driver ● Can be used to perform various tasks (auto scaling, high-availability redeployment, etc.)
  • 5. Don't Expect the Default Configuration to Perform Optimally ● Database: Use MySQL database backend, not the default SQLite ● Logs: Use Syslog log system, and disable debug logging (debug_level=1) ● Number of threads: Adjust the number of drivers threads (see -t option to your *MAD config options)
  • 6. Use OpenNebula >= 4.0 Prior versions did monitoring in two phases: 1. The IM Monitor action monitored Hosts 2. The VMM Poll action monitored VMs 100 Hosts + 1,000 VMs * 15 seconds interval = 4,400 actions per minute Since OpenNebula 4.0, the IM Monitor action is capable of returning the information of VMs running on the monitored host
  • 7. Monitoring History By default OpenNebula keeps 24h of monitoring history 15 seconds interval X 24h = 5760 records per VM Average record size: 4KB 23MB of monitoring history per VM 100 VM = 2.3GB 10,000 VM = 230GB HOST_MONITORING_EXPIRATION_TIME and VM_MONITORING_EXPIRATION_TIME config options
  • 8. Monitoring History (continued) ● Reduce history to 30 minutes (1800 seconds) ● Use MySQL MEMORY storage engine for vm_monitoring and host_monitoring tables It's OK to lose monitoring history when MySQL is restarted Most recent monitoring values are stored in VM template Set MySQL max_heap_table_size large enough to hold all your monitoring history
  • 9. Watch your Load Average As of 4.2, the maximum number of simultaneous XML-RPC API connections is limited to 15 Overloaded OpenNebula = Slow XML-RPC API response = API Limit / Timeout ● Reduce load at deployment time by adjusting number of VMs simultaneously deployed by scheduler ● Watch next release (4.4) for XML-RPC API concurrency enhancements
  • 10. Local Caching Nameserver OpenNebula use DNS name for monitoring hosts (unless you named your hosts using their IP address instead of name) ● Use a local caching nameserver to speed up DNS lookup (such as dnsmasq).
  • 11. Beware of SSH Transport Most OpenNebula drivers (KVM, Xen, etc.) use SSH connections to perform actions OK for deploying new VM, but expensive when doing VM monitoring
  • 12. Meet Ganglia << Ganglia is a scalable distributed system monitor tool for high-performance computing systems such as clusters and grids. >> - Wikipedia OpenNebula has built-in support for Ganglia By default Ganglia and OpenNebula must run on the same machine Set GANGLIA_HOST in /var/lib/one/remotes/im/ganglia.d/ganglia_probe and /var/lib/one/remotes/vmm/kvm/poll_ganglia
  • 14. Ganglia Driver Limitations 1. Currently only 1 Ganglia Collector is supported 2. Need to run script on each host to export OpenNebula-specific metric (OPENNEBULA_VMS_INFORMATION) 3. Ganglia as a maximum length of 1392 bytes for string metrics
  • 15. Host sFlow << The Host sFlow agent exports physical and virtual server performance metrics using the sFlow protocol. The agent provides scalable, multi-vendor, multi-OS performance monitoring with minimal impact on the systems being monitored.>> - http://host-sflow.sourceforge.net/ Exports a standard set of hypervisor and VM metrics Official support for Xen, KVM and Hyper-V, but uses Libvirt to gather metrics (and Libvirt has support LXC, OpenVZ, VMWare, etc.)
  • 16. Host sFlow (continued) Source: http://blog.sflow.com/2012/02/ganglia-33-released.html
  • 17. Host sFlow (continued) Sample Metrics Hosts Metrics VMs Metrics Not currently supported in OpenNebula. Contact me if you're interested. vnode_mem_total Hypervisor Total Memory vnode_domains Hypervisor VM Count <VM ID>.vcpu_state VM State (Running, Stopped, etc.) <VM ID>.vmem_util VM Memory Utilization <VM ID>.vdisk_free VM Free Disk Space
  • 18. 4,000 VMs at Sub-1 Minute Interval OpenNebula 4.2 + xml-rpc patch (upcoming in 4.4) Experimental Host sFlow Driver 1 OpenNebula Core (EC2 High-CPU XLarge instance) 1 Sunstone Web Server (EC2 Standard Medium instance) 1 Ganglia Collector (EC2 Standard Medium instance) 100 Hosts (EC2 High-CPU Medium instances) ~40 VMs per Host ~4,000 VMs (OpenVZ) 15 - 60 second monitoring interval
  • 19. 4,000 VMs at Sub-1 Minute Interval
  • 20. 4,000 VMs at Sub-1 Minute Interval
  • 21. 4,000 VMs at Sub-1 Minute Interval
  • 22. Looking Forward There’s room for optimizations ● The command line tools can get very slow when returning very large result sets (but not the API…) ● Distributed driver, for example using ZeroMQ for distributing tasks to multiple workers ● Investigate PoolSQL locks being held for long period and blocking other threads (discussed in bug #1818) ● Gather metrics about OpenNebula internals: locks wait, effective monitoring interval, memory footprints, etc. ● Investigate very large Sunstone memory usage
  • 23. Thank you! Questions? “OpenNebula captured my interest for several technical reasons besides the fact that it is truly open. It's architecture is very elegant; it has C++ bones, ruby muscles and bash tendons. It's extensible and understandable. It has no peer as far as I can tell.” Christopher Barry, Infrastructure Engineer, RJMetrics, September 2012 http://opennebula.org/users:testimonials