SlideShare a Scribd company logo
1 of 11
Download to read offline
Healthnmon OpenStack
Blueprints



Divakar Padiyar Nandavar,
Hewlett Packard
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
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
Healthnmon Architecture




4
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
Cloud Inventory Manager – Resource Model




6
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
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
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
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
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

More Related Content

More from openstackindia

Role of sdn controllers in open stack
Role of sdn controllers in open stackRole of sdn controllers in open stack
Role of sdn controllers in open stack
openstackindia
 
Outreachy with-openstack-zaqar
Outreachy with-openstack-zaqarOutreachy with-openstack-zaqar
Outreachy with-openstack-zaqar
openstackindia
 
Enhancing OpenStack FWaaS for real world application
Enhancing OpenStack FWaaS for real world applicationEnhancing OpenStack FWaaS for real world application
Enhancing OpenStack FWaaS for real world application
openstackindia
 
Openstack devops challenges
Openstack devops challenges Openstack devops challenges
Openstack devops challenges
openstackindia
 
Demistifying open stack storage
Demistifying open stack storageDemistifying open stack storage
Demistifying open stack storage
openstackindia
 
Why open stack database as a service offerings are doomed
Why open stack database as a service offerings are doomedWhy open stack database as a service offerings are doomed
Why open stack database as a service offerings are doomed
openstackindia
 
OpenStack Neutron Reverse Engineered
OpenStack Neutron Reverse EngineeredOpenStack Neutron Reverse Engineered
OpenStack Neutron Reverse Engineered
openstackindia
 

More from openstackindia (20)

OPNFV & OpenStack
OPNFV & OpenStackOPNFV & OpenStack
OPNFV & OpenStack
 
Your first patch to OpenStack
Your first patch to OpenStackYour first patch to OpenStack
Your first patch to OpenStack
 
OpenStack Neutron Behind The Senes
OpenStack Neutron Behind The SenesOpenStack Neutron Behind The Senes
OpenStack Neutron Behind The Senes
 
OpenStack Storage Buddy Ceph
OpenStack Storage Buddy CephOpenStack Storage Buddy Ceph
OpenStack Storage Buddy Ceph
 
OpenStack Watcher
OpenStack WatcherOpenStack Watcher
OpenStack Watcher
 
State of Containers in OpenStack
State of Containers in OpenStackState of Containers in OpenStack
State of Containers in OpenStack
 
The OpenStack Contribution Workflow
The OpenStack Contribution WorkflowThe OpenStack Contribution Workflow
The OpenStack Contribution Workflow
 
Introduction to Cinder
Introduction to CinderIntroduction to Cinder
Introduction to Cinder
 
OpenStack NFV Edge computing for IOT microservices
OpenStack NFV Edge computing for IOT microservicesOpenStack NFV Edge computing for IOT microservices
OpenStack NFV Edge computing for IOT microservices
 
OpenStack Tempest and REST API testing
OpenStack Tempest and REST API testingOpenStack Tempest and REST API testing
OpenStack Tempest and REST API testing
 
Deploying openstack using ansible
Deploying openstack using ansibleDeploying openstack using ansible
Deploying openstack using ansible
 
Ceph openstack-jun-2015-meetup
Ceph openstack-jun-2015-meetupCeph openstack-jun-2015-meetup
Ceph openstack-jun-2015-meetup
 
Role of sdn controllers in open stack
Role of sdn controllers in open stackRole of sdn controllers in open stack
Role of sdn controllers in open stack
 
Outreachy with-openstack-zaqar
Outreachy with-openstack-zaqarOutreachy with-openstack-zaqar
Outreachy with-openstack-zaqar
 
Enhancing OpenStack FWaaS for real world application
Enhancing OpenStack FWaaS for real world applicationEnhancing OpenStack FWaaS for real world application
Enhancing OpenStack FWaaS for real world application
 
Openstack devops challenges
Openstack devops challenges Openstack devops challenges
Openstack devops challenges
 
Demistifying open stack storage
Demistifying open stack storageDemistifying open stack storage
Demistifying open stack storage
 
OpenStack Heat
OpenStack HeatOpenStack Heat
OpenStack Heat
 
Why open stack database as a service offerings are doomed
Why open stack database as a service offerings are doomedWhy open stack database as a service offerings are doomed
Why open stack database as a service offerings are doomed
 
OpenStack Neutron Reverse Engineered
OpenStack Neutron Reverse EngineeredOpenStack Neutron Reverse Engineered
OpenStack Neutron Reverse Engineered
 

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) 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
  • 6. Cloud Inventory Manager – Resource Model 6
  • 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