Ceilometer架構簡要分析

2022-01-12 17:00:14 字數 1183 閱讀 5354

最近因為工作的需要以及**的方向,需要了解openstack監控方面的知識。所以深入看了一下openstack的ceilometer,大致分析了一下ceilometer的實現機制和工作流程,因此也就形成了本文的對ceilometer的乙個大致框架介紹。

ceilometer的資料採集方式主要分為poll和push方式兩種。

其中push方式主要採集為openstack中各個元件模組中無法定時主動獲取的事件訊息,例如:虛擬機器的建立,映象的上傳等等。該種方式的訊息 的採集依賴各個元件在事件發生時,依賴ceilometer提供的訊息機制將事件訊息上報至訊息佇列當中。然後由ceilometer- collector中的notification-agent收集訊息佇列中的事件訊息,然後交由指定的pipeline將訊息轉換為指定的取樣資料 (samples),轉換之後的取樣資料會被重新傳送至訊息佇列當中,然後由collector收集處理並存入資料庫當中(mongodb)。主要架構如 下圖:

poll方式主要採集openstack中的各個元件的統計資料和計算節點中的實時資料(該資料也是可以被隨時統計獲取的)。

在controller節點上,poll方式主要是啟動相應的輪詢程序(pollsters),依靠輪詢程序定期呼叫元件模組的apis獲取各個元件的資料資訊。然後將資料交由pipeline進行處理,最後由collector處理儲存。此過程與上述push方式一致。

在compute節點上,poll方式也是啟動相應的輪詢程序(pollsters),依靠輪詢程序定期查詢相應的資訊,只是在資料採集方式上,採

用虛擬機器的相關驅動獲取虛擬機器的資訊,目前主要的部署方案都是採用kvm-qemu實現虛擬化,因此,底層資訊獲取上,採用的為libvirt操縱虛擬

機,同時也是通過libvirt獲取虛擬機器的相關資訊。當資料被採集之後,其之後的處理流程與上述兩種方式都是一致的。

前面的資料採集工作完成之後,採集來的資料會交由pipeline進行資料處理,pipeline主要實現的是乙個資料處理鏈的功能。pipeline會根

據不同的配置將0個或乙個或多個transformers組裝成為一條資料處理鏈,在這條資料處理鏈的末端,會被裝配乙個publisher。當資料進入

這條資料處理鏈後,會被transformers加工處理,然後由publisher傳送至訊息佇列當中,由collector收集。

collector會時刻監聽著訊息佇列,從訊息佇列中獲取監控資料,然後將資料存入mongodb中進行持久化。

Ceilometer架構簡要分析

最近因為工作的需要以及 的方向,需要了解openstack監控方面的知識。所以深入看了一下openstack的ceilometer,大致分析了一下ceilometer的實現機制和工作流程,因此也就形成了本文的對ceilometer的乙個大致框架介紹。ceilometer的資料採集方式主要分為poll...

簡要的架構

cassandra旨在處理跨多個節點的大資料工作負載,無單點故障。其架構基於這樣的理解,即系統和硬體故障可以並且確實發生。cassandra通過在跨群集中所有節點之間分布資料的同構節點上採用對等分布式系統來解決故障問題。每個節點使用對等八卦通訊協議頻繁地交換關於本身和群集中的其他節點的狀態資訊。每個...

Mysql架構簡要

1.mysql 最上層是一些客戶端和連線服務,包含本地sock通訊和大多數基於客戶端 服務端工具實現的類似於tcp ip的通訊。主要完成一些類似於連線處理 授權認證 及相關的安全方案。在該層上引入了執行緒池的概念,為通過認證安全接入的客戶端提供執行緒。同樣在該層上可以實現基於ssl的安全鏈結。伺服器...