Jump to: navigation, search

Difference between revisions of "Zabbix-agent-adoption"

m (Introduction)
m (Introduction)
Line 5: Line 5:
  
 
== Introduction ==
 
== Introduction ==
Currently, Ceilometer collects instance data via compute agents installed on every OpenStack compute nodes. PollingTasks<br />
+
Currently, Ceilometer collects instance data via compute agents installed on every<br />
in a compute agent invoke multiple pollsters, which then call hypervisor-dependent inspectors for metering various metrics. <br />
+
OpenStack compute nodes. PollingTasks in a compute agent invoke multiple pollsters,<br />
As an example, the CPUPollster calls the inspect_cpus() method of a hypervisor-dependent inspector object to get VCPU data.<br />
+
which then call hypervisor-dependent inspectors for metering various metrics. As<br />
If the hypervisor is KVM, inspect_cpus() calls the info() method of the virDomain class of libvirt, then returns a list of 5 data elements,<br />
+
an example, the CPUPollster calls the inspect_cpus() method of a hypervisor-dependent<br />
 +
inspector object to get VCPU data. If the hypervisor is KVM, inspect_cpus() calls<br />
 +
the info() method of the virDomain class of libvirt, then returns a list of 5 data elements,<br />
 
including two CPUPollster cares about: VCPU number and running time.
 
including two CPUPollster cares about: VCPU number and running time.
  
Such pollsters work well for those data easily available to a hypervisor (http://www.mirantis.com/blog/openstack-metering-using-ceilometer/), <br />
+
Such pollsters work well for those data easily available to a hypervisor (http://www.mirantis.com/blog/openstack-metering-using-ceilometer/), while ignoring some detailed and precise<br />
while ignoring some detailed and precise guest system metrics which are not provided by a hypervisor. As a simple case study,<br />
+
guest system metrics which are not provided by a hypervisor. As a simple case study,<br />
we can compare what CPUPollster provides with those CPU monitoring items supported by Zabbix, one of the most pupular<br />
+
we can compare what CPUPollster provides with those CPU monitoring items supported<br />
system monitor tool. A snapshot of Zabbix web console is shown in the following figure.
+
by Zabbix, one of the most pupular system monitor tool. A snapshot of Zabbix web<br />
 +
console is shown in the following figure.
  
 
[[File:Zabbix items.jpeg|none|Center|CPU monitoring items in Zabbix]]
 
[[File:Zabbix items.jpeg|none|Center|CPU monitoring items in Zabbix]]
  
In practice those guest system metrics provided by Zabbix are highly valuable for both OpenStack Admins and tenants, which<br />
+
In practice those guest system metrics provided by Zabbix are highly valuable for<br />
is verified by our own experiences and feedback from other companies using OpenStack. Therefore, Zabbix has been deployed<br />
+
both OpenStack Admins and tenants, which is verified by our own experiences and<br />
in many product-oriented OpenStack clouds to achieve detailed and precise monitoring. Other popular 3rd-party monitoring tools<br />
+
feedback from other companies using OpenStack. Therefore, Zabbix has been<br />
include Nagios, Ganglia, etc.
+
deployed in many product-oriented OpenStack clouds to achieve detailed and precise<br />
 +
monitoring. Other popular 3rd-party monitoring tools include Nagios, Ganglia, etc.
  
This work aims at leveraging existing monitoring assets and expertises in system administration teams to the best extent, instead<br />
+
This work aims at leveraging existing monitoring assets and expertises in system<br />
of removing or replacing them with efforts. An adoption mechanism between Zabbix agents in instances and Ceilometer compute agents<br />
+
administration teams to the best extent, instead of removing or replacing them with<br />
in compute nodes is added, therefore Ceilometer can poll data from Zabbix agents to enhance its capability of monitoring instances.<br />
+
efforts. An adoption mechanism between Zabbix agents in instances and Ceilometer<br />
The feasibility for adopting agents of other 3rd-party monitoring tools, e.g. Nagios and Ganglia, has been considered in the machanism<br />
+
compute agents in compute nodes is added, therefore Ceilometer can poll data from<br />
design.
+
Zabbix agents to enhance its capability of monitoring instances. The feasibility for<br />
 +
adopting agents of other 3rd-party monitoring tools, e.g. Nagios and Ganglia, has<br />
 +
been considered in the machanism design.
  
 
== Design and implementation ==
 
== Design and implementation ==
  
 
To be added
 
To be added

Revision as of 13:38, 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. 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 list of 5 data elements,
including two CPUPollster cares about: VCPU number and running time.

Such pollsters work well for those data easily available to a hypervisor (http://www.mirantis.com/blog/openstack-metering-using-ceilometer/), while ignoring some detailed and precise
guest system metrics which are not provided by a hypervisor. As a simple case study,
we can compare what CPUPollster provides with those CPU monitoring items supported
by Zabbix, one of the most pupular system monitor tool. A snapshot of Zabbix web
console is shown in the following figure.

CPU monitoring items in Zabbix

In practice those guest system metrics provided by Zabbix are highly valuable for
both OpenStack Admins and tenants, which is verified by our own 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 work 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 is 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, has
been considered in the machanism design.

Design and implementation

To be added