2. Healthnmon
– Healthnmon aims to deliver “Cloud Resource Monitor”, an extensible service to
OpenStack Cloud Operating system by providing monitoring service for Cloud Resources
and Infrastructure with a pluggable framework for “Inventory Management”, “Alerts and
notifications” and “Utilization Data” targeting private, public and hybrid cloud solutions
deployed by enterprises and service providers using OpenStack.
– HP has proposed following Blueprints for OpenStack and has the initial implementation of
the same and plans to contribute back to OpenStack community as Open Source as part
of Grizzly1 release
• Cloud Inventory Manager (https://blueprints.launchpad.net/openstack-devops/+spec/cloud-
inventory-manager)
• Alerts and Notification (https://blueprints.launchpad.net/openstack-devops/+spec/resource-monitor-
alerts-and-notifications)
• Utilization Data (https://blueprints.launchpad.net/openstack-devops/+spec/utilizationdata)
2
3. Healthnmon on Github
– Healthnmon Component Information is available in Github
Healthnmon Wiki
• https://github.com/healthnmon/healthnmon/wiki
– Healthnmon Code Location
• https://github.com/stackforge/healthnmon
3
5. Cloud Inventory Manager
– Provide an extensible service to Nova to include Cloud inventory for OpenStack cloud
resources and infrastructure. Cloud Inventory Manager provides insights into cloud
resource system information and takes advantage of underlying virtualization manager
(e.g. libvirt) resource hierarchy such as Cluster, Resource pool, Storage, Network and
Server pools.
– End users and system administrators can use the resource inventory to build a catalog of
available Clusters (can be Mapped to Host-Aggregates?) , Resource Pools, Storage pools,
Network pools and Server pools.
• Resource details provide resources discovered via virtualization managers, e.g. libvirt, vCenter, SCVMM
• Resource information is persisted in the database. Details as needed are obtained via dynamic REST API query
• Discovers and monitors resource changes (add/update/delete) caused by OpenStack or underlying resource
managers
• Explicitly models resources that can be allocated to elements of a Service, these Resources are then organized into
Resource pools
– Further, this inventory manager lays the groundwork for an improved scheduler and
resource allocation implementation that will enable multi-tenant public and private cloud
resource management.
5
7. Cloud Inventory Manager - Use Cases
– As a Cloud Administrator, I need support to build a catalog of available Cloud resources.
– As a Cloud Administrator, I need to support Cloud Resource pool construction and maintenance based
on capacities, quotas, and resource groups.
– As a Cloud Administrator, I need to support viewing of resource inventory, resource consumption,
utilization history and trends.
– As a Cloud Administrator, I need to support importing of existing servers not yet managed
by OpenStack.
– As a Cloud User or Administrator, I need cloud resource metadata to support provisioning,
optimization, and ongoing management of infrastructure services.
– As a Cloud Administrator, I need to support analysis, manual modification, or autonomic modification
of infrastructure services to improve their performance, resource usage, resource consumption, etc.
7
8. Alerts and Notification
– Provide an extensible service to allow Nova to include Cloud inventory monitoring, alerts and
notifications for OpenStack cloud resources and infrastructure. These changes could be derived from
inventory changes, threshold policy violations, or heuristic trend-based analysis.
– End users and cloud administrators can use these alerts and notifications to collect and track metrics
and gain insight in order to keep their applications and businesses running smoothly. This service for
monitoring operational health of the cloud resources can be used to provide the data for resources
such as servers, compute nodes (hosts), Cells, etc.
• Add resource monitor alert and notification driver based on RabbitMQ
• Can be integrated with CloudWatch of Heat OpenStack project for adding and monitoring custom metrics
• Conforms to existing notification specification see http://wiki.openstack.org/NotificationSystem)
• Support topic-based subscription
− Notification subscriptions supporting wild-card based filtering
− Subscriptions based on event type, resource type, or resource instance ID
− Subscriptions limited by role and tenant access
• This creates a general mechanism that should be used in other services in addition to Nova to support entire
OpenStack ecosystem.
– Alerting and notifications, part of the health and monitor service architecture, support a plug-in
architecture similar to other OpenStack component implementations. The design supports multiple
implementations to be plugged using the driver model that is being followed in OpenStack through
configuration settings. It is extendable to support multiple Hypervisor types (example: ESX, Hyper-V,
KVM, etc.).
8
9. Alerts and Notification- Use Cases
– As a Cloud Administrator or User, I need to receive notifications for
cloud resources life cycle events in a timely manner so that I can
respond to emergencies.
– As a Cloud Administrator or User, I need to support ongoing health
status and notifications for cloud resources that I'm managing.
– As a Cloud Administrator or User, I need to support, analyze, manually
modify, or autonomically modify application resources to improve their
performance, resource usage, resource consumption, etc.
– As a Cloud Administrator or User, I want to configure policies to
automatically address notifications within my cloud infrastructure.
9
10. Utilization Data
– Currently Nova does not provide utilization data (CPU, memory, network and storage) for
server instances and VM Hosts over a time period or interval. Augmenting the current list
of server and server details APIs to include utilization data would facilitate client
understanding of server performance characteristics. In addition, augment the proposed
VM Host APIs (see "Additional Cloud Inventory Manager blueprint
at https://blueprints.launchpad.net/nova/+spec/cloud-inventory-manager/) to reflect VM
Host utilization data.
– Providing utilization data will support application monitoring, server metric gathering,
server performance analysis and histogramming, resource usage analysis, threshold-
based notifications, and administrator data center resource planning. Utilization data can
help design optimal solutions to achieve greater data center performance. Further, adding
utilization data enriches the nova APIs and allows advanced users to collect metrics
through nova vs. needing to gather information directly from a variety of other sources.
– Can be integrated with Ceilometer OpenStack project providing the data for charge back. Instead of running multiple
pollsters Healthnmon utilization data component can provide the chargeback data to Ceilometer for OpenStack
instances and computes.
10
11. Utilization data - Use Cases
– As a Cloud Administrator or Systems Integrator, I want to support timely
updates of usage data and disperse them to various customers (both
internal and external) for billing, decision support, and analytic
purposes.
– As a Cloud Administrator, I want to support improved scheduling to
make decisions for provisioning new instances to a Cluster or Resource
pool based on their respective usage.
– As a Cloud Administrator, I want to support capacity planning.
– As a Cloud Administrator, I want to receive threshold-based
notifications derived from utilization data. See also Resource Monitor
Alerts and Notifications.
– As an Cloud User, I want to see a graph of my server's CPU utilization
over the last hour.
11