3rd-party monitoring agent adoption mechanism

Registered by Yu Zhang on 2013-10-23

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. 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, a popular open source monitoring tool, 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 agents of 3rd-party tools (e.g. Zabbix agents, Nagios NRPE, Ganglia gmond, etc.) in instances and Ceilometer will be added, therefore Ceilometer can get data directly from those agents to ehance its capability to monitor instances.

Two candidate designs are at least available here:
1. A pollster as a proxy for in-instance agents can be added to each Ceilometer compute agent, or
2. A proxy collects data from in-instance agents, transforms them into samples and then calls Ceilometer APIs to publish them out to the bus.

Blueprint information

Status:
Complete
Approver:
None
Priority:
Undefined
Drafter:
Yu Zhang
Direction:
Needs approval
Assignee:
Yu Zhang
Definition:
Obsolete
Series goal:
None
Implementation:
Not started
Milestone target:
None
Completed by
gordon chung on 2015-06-18

Sprints

Whiteboard

Wiki page updated, and contents about feasibility analysis, design and implementation added. -- Yu Zhang

It looks like the 2nd design doesn't need any code change in Ceilometer, right? You just call the POST APIs directly. btw, What's the status on this one? -- Shengjie

i'm going to mark this as obsolete, as Shengjie suggested, you can POST data if you choose to integrate 3rd party data. please reopen as spec if you feel this is still important -- gordc (17.6.2015)

(?)

Work Items