 the purpose of the collection (Figure 16.13). Ceilometer 6.1.1 Documentation, OpenStack Foundation, Update Version July 4, 2016. Network Measurements Notification bus Compute Volume Network Image Object Storage Notifications Polling Polling agents Notification agents Publishing Publishing pipeline FIGURE 16.13 OpenStack Ceilometer data/event collection architecture. This diagram is a representation of how the collectors and agents gather data from multiple sources. The Ceilometer project created two methods to collect data: Bus listener agent, which takes events generated on the notification bus and transforms them into Ceilometer samples Polling agents, poll some API or other tool to collect information at a regular interval; the polling approach is less preferred due to the load it can impose on the API services The first method is supported by the ceilometer-notification agent, which monitors the message queues for notifications. Polling agents can be configured either to poll the local hypervisor or remote APIs (public REST APIs exposed by services and host-level SNMP/Internet protocol mul- ticast initiative [IPMI] daemons). Ceilometer monitor measurement samples can be published to multiple collectors. Current capa- bilities supported by Ceilometer-enabled data to be published include the following: Notifier, a notification-based publisher, which pushes samples to a message queue that can be consumed by the collector or an external system UDP, which publishes samples using UDP packets HTTP, which targets a REST interface Kafka, which publishes data to a Kafka message queue to be consumed by any system that supports Kafka The collected data from polling and notification agents can be accessed via REST API (Figure 16.14). 16.7.2.2 OpenStack Telemetry Service: Ceilometer Examples Ceilometer can be configured to collect measurements from both the OpenStack services and the hypervisor/virtualization layer. Figure 16.15 shows the configuration used to monitor the performance and capacity compute resources in AIC.