Healthnmon OpenStack blueprints

11

Click here to load reader

Transcript of Healthnmon OpenStack blueprints

Page 1: Healthnmon OpenStack blueprints

Healthnmon OpenStack Blueprints

Divakar Padiyar Nandavar,

Hewlett Packard

Page 2: Healthnmon OpenStack blueprints

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)

Page 3: Healthnmon OpenStack blueprints

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

Page 4: Healthnmon OpenStack blueprints

4

Healthnmon Architecture

Page 5: Healthnmon OpenStack blueprints

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.

Page 6: Healthnmon OpenStack blueprints

6

Cloud Inventory Manager – Resource Model

Page 7: Healthnmon OpenStack blueprints

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.

Page 8: Healthnmon OpenStack blueprints

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.).

Page 9: Healthnmon OpenStack blueprints

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.

Page 10: Healthnmon OpenStack blueprints

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.

Page 11: Healthnmon OpenStack blueprints

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.