Jump to: navigation, search

Difference between revisions of "Zabbix-agent-adoption"

(Created page with " * '''Launchpad Entry''': CeilometerSpec:Zabbix-agent-adoption * '''Created''': Oct. 25, 2013 * '''Contributors''': Yu Zhang == Introduction == Currently, Ceilometer collect...")
 
(Introduction)
Line 5: Line 5:
  
 
== Introduction ==
 
== Introduction ==
 +
Currently, Ceilometer collects instance data via compute agents installed on every OpenStack compute nodes. PollingTasks<br />
 +
in a compute agent invoke multiple pollsters, which then call hypervisor-dependent inspectors for metering various metrics. <br />
 +
Such pollsters work well for data visible to a hypervisor (http://www.mirantis.com/blog/openstack-metering-using-ceilometer/), <br />
 +
while ignoring some detailed and precise guest system metrics.
  
Currently, Ceilometer collects Nova-related data via compute agents installed on every compute nodes. A compute agent focuses on collecting data visible to a hypervisor (http://www.mirantis.com/blog/openstack-metering-using-ceilometer/). Such a solution results in ignoring some concrete and detailed guest system metrics, which, in practice, are highly valuable for both OpenStack Admins and tenants, according to our own operating experiences and feedback from other companies using OpenStack. Therefore, Zabbix has been deployed in many product-oriented OpenStack clouds, especially private ones, to provide more information. Other popular 3rd party tools includes Nagios and Ganglia.
+
As an example, the CPUPollster calls the inspect_cpus() method of a hypervisor-dependent inspector object to get VCPU data.
 +
If the hypervisor is KVM, inspect_cpus() calls the info() method of the virDomain class of libvirt, then returns a struct consisting
 +
of VCPU number and running time since booting this instance up.
  
This blueprint aims at leveraging existing monitoring assets and expertises to the best extent, instead of removing or replacing them with efforts. An adoption mechanism between Zabbix agents in instances and Ceilometer agents in compute nodes will be added, therefore Ceilometer can poll data from Zabbix to enhance its capability of monitoring both instances and hosts. The feasibility for adopting agents of other 3rd party monitoring tools, e.g. Nagios and Ganglia, will also be considered in the machanism design.
+
However, those guest system metrics, in practice, are highly valuable for both OpenStack Admins and tenants, according to our own operating experiences and feedback from other companies using OpenStack. Therefore, Zabbix has been deployed in many product-oriented OpenStack clouds to achieve detailed and precise monitoring. Other popular 3rd-party monitoring tools include Nagios, Ganglia, etc.
 +
 
 +
This blueprint aims at leveraging existing monitoring assets and expertises in system administration teams to the best extent, instead of removing or replacing them with efforts. An adoption mechanism between Zabbix agents in instances and Ceilometer compute agents in compute nodes will be added, therefore Ceilometer can poll data from Zabbix agents to enhance its capability of monitoring instances. The feasibility for adopting agents of other 3rd-party monitoring tools, e.g. Nagios and Ganglia, will also be considered in the machanism design.
  
 
== Design and implementation ==
 
== Design and implementation ==
  
 
To be added
 
To be added

Revision as of 06:58, 1 November 2013

  • Launchpad Entry: CeilometerSpec:Zabbix-agent-adoption
  • Created: Oct. 25, 2013
  • Contributors: Yu Zhang

Introduction

Currently, Ceilometer collects instance data via compute agents installed on every OpenStack compute nodes. PollingTasks

in a compute agent invoke multiple pollsters, which then call hypervisor-dependent inspectors for metering various metrics. 

Such pollsters work well for data visible to a hypervisor (http://www.mirantis.com/blog/openstack-metering-using-ceilometer/),
while ignoring some detailed and precise guest system metrics.

As an example, the CPUPollster calls the inspect_cpus() method of a hypervisor-dependent inspector object to get VCPU data. If the hypervisor is KVM, inspect_cpus() calls the info() method of the virDomain class of libvirt, then returns a struct consisting of VCPU number and running time since booting this instance up.

However, those guest system metrics, in practice, are highly valuable for both OpenStack Admins and tenants, according to our own operating experiences and feedback from other companies using OpenStack. Therefore, Zabbix has been deployed in many product-oriented OpenStack clouds to achieve detailed and precise monitoring. Other popular 3rd-party monitoring tools include Nagios, Ganglia, etc.

This blueprint aims at leveraging existing monitoring assets and expertises in system administration teams to the best extent, instead of removing or replacing them with efforts. An adoption mechanism between Zabbix agents in instances and Ceilometer compute agents in compute nodes will be added, therefore Ceilometer can poll data from Zabbix agents to enhance its capability of monitoring instances. The feasibility for adopting agents of other 3rd-party monitoring tools, e.g. Nagios and Ganglia, will also be considered in the machanism design.

Design and implementation

To be added