Scaricare la presentazione
La presentazione è in caricamento. Aspetta per favore
PubblicatoAurora Rosso Modificato 8 anni fa
1
Il monitoring IaaS/PaaS in OCP A.Guarise (ocp-monitoring working group)
2
Introduzione I l sistema di monitoraggio IaaS/PaaS è pensato per facilitare il compito di gestire e controllare l’intera piattaforma Cloud. A tale scopo si deve disporre delle necessarie informazioni di natura infrastrutturale, sia a livello di utilizzo di risorse hardware che di corretta disponibilità dei servizi software. A livello PaaS si forniscono poi le metriche necessarie per controllare l’uso di risorse e il funzionamento delle piattaforme istanziate dagli utenti. Le informazioni di monitoring sono quindi rivolte sia agli amministratori di sistema che agli utenti (intesi come provider di applicazioni). Un opportuno sottoinsieme delle metriche di monitoraggio è poi utilizzato nelle procedure di billing. 2
3
Descrizione Di base il sistema è costruito attorno a due servizi Zabbix (www.zabbix.com) principali:www.zabbix.com Zabbix IaaS - metriche infrastrutturali, sia host fisici che VM dei tenant, Zabbix Metrics - metriche PaaS e metriche utili al billing. Vi è poi un servizio dedicato al Monitoring as a Service, non descritto nelle slide: Zabbix Watcher - metriche specifiche attivabili dagli utenti per le proprie VM. Il monitoring pillar è un servizio che mette in comunicazione i server Zabbix con l’orchestrator di Prisma. Quando macchine virtuali e servizi vengono instanziati su OpenStack usando le WEB UI, l’orchestrator, tramite il pillar crea gli opportuni riferimenti nei server Zabbix, installando al contempo l’agent Zabbix sulle VM. Tramite il portale è possibile a questo punto accedere alle letture delle metriche messe a disposizione, che rimangono archiviate nei database SQL di Zabbix. Una serie di metriche sono poi messe a recuperate in modalità agent-less tramite l’integrazione delle informazioni reperibili direttamente da OpenStack con il servizio Ceilometer. Tutte le principali funzionalità sono inoltre esposte dal pillar tramite un API di tipo RESTful 3
4
Architettura del monitoraggio IaaS/PaaS 4 1La dashboard interroga asincronamente lo stato della IaaS tramite le API del Business Layer (BL). 2Lo strato di monitoraggio nel BL chiama le API del monitoring pillar. 3Il pillar interroga le API di Zabbix per conoscere il valore della metrica recuperata dallo script esterno. 4Tramite lo script esterno vengono interrogati Nova e i vari processi di OpenStack per verificare che siano running. Lo stato è mostrato con semafori verde o rosso a seconda del risultato. 5Quando l’utente lancia il deploy di un servizio, avviene l’opportuna richiesta verso le API del Business Layer. 6Il BL chiama le API di OpenStack rimanendo in attesa che venga creata l’istanza descritta tramite template heat o ricetta cloudify (quale dipende dal tipo di servizio). Si interrogano anche il pillar e Zabbix-IaaS per verificare che le macchine dell’infrastruttura siano running (questo non è mostrato nella slide), in caso di problemi viene lanciata un’eccezione. 7Completata l’istanziazione in Openstack, una chiamata al pillar chiede di creare un host con opportune caratteristiche: ip, hostname, uuid, template (servizio), gruppo, tag Inventory. 8Il pillar a sua volta chiama l’API di creazione dell’ host in Zabbix. 9A creazione avvenuta, l’orchestrator, in polling sul pillar, ottiene lo stato del servizio (interrogando ile metriche associate allo specifico host). 10Viene restituito lo stato del servizio alla UI. 11Avvenuto il deploy, l’utente disporrà dei grafici della specifica metrica di ceilometer. 12La metrica viene campionata ogni 10 minuti in Zabbix tramite script esterno e mantenuta in una history. 13Il pillar wrappa opportunamente l’history per l’elaborazione dei dati da parte del monitoring layer nel BL. 14Costruzione dei grafici per lo specifico utente, la specifica macchina e le specifiche metriche di sistema operativo e servizio PaaS.
5
Zabbix in poche parole Completamente OpenSource (Licenza lGPLv2). Altamente scalabile. Utilizzato in ambienti di produzione con decine di migliaia di nodi monitorati (fino a 25000 nodi per singolo server). Monitoraggio multipiattaforma. Può implementare molteplici strategie di monitoraggio, agent-based o agent- less. Monitoraggio SNMP, IPMI, Scenari Web, Applicazioni Java, Database… Implementa sistemi di trigger e notifica. Dashboard Grafica. API completa e funzionale. 5
6
Zabbix IaaS Monitora, le macchine fisiche (i nodi di OpenStack) e le macchine virtuali che forniscono i servizi di infrastruttura (orchestrator, portale, etc...), tenendone quindi sotto controllo lo stato di salute. È importante osservare che, a questo livello, si rende necessario installare uno Zabbix Agent all’interno di ogni macchina da monitorare. 6
7
Zabbix Metrics 7 Monitora le risorse delle VM richieste dagli utenti, sia per gli scopi relativi al funzionamento del servizio e dell’infrastruttura stessa, sia per le funzionalità del billing. Al momento la soluzione vede l’impiego di un Zabbix Agent nel compute node, che utilizza le funzionalità esposte da Ceilometer il quale, a sua volta, recupera le metriche dagli Hypervisor. Le metriche, come specificato, sono poi visualizzabili tramite la dashboard di Prisma.
8
API Come accennato sono disponibili API di tipo RESTful per interfacciarsi al sistema, giusto a titolo di esempio e senza entrare nei dettagli delle chiamate, forniamo una lista di operazioni effettuabili via API: 8 Get Environment Get Adapters Get Server Types Get Groups List Update Group Add Group Del Group Get Host List Get threshold by group Get Wrapped Host Info Add Host Del Host Disable Host Disable Metric Get Host by ID Get Host Info by name Get metric info by host name Get history not filtered by time Get events not filtered by time
9
Integrazione con il monitoraggio SaaS In taluni casi è necessario che informazioni di monitoraggio appartenenti ai domini IaaS e PaaS vengano rese disponibili nel contesto di monitoraggio applicativo. Il sistema di monitoring IaaS/PaaS viene quindi integrato con la piattafroma di monitoraggio SaaS, che lo vede come uno strato cui chiedere informazioni in caso queste risultino di utilità all’applicazione, ad esempio nel caso in cui si debba risalire allo stato dell’infrastruttura durante attività di analisi delle prestazioni o debug di problemi. 9
10
Stato dell’implementazione prototipale Il monitoring IaaS e PaaS è disponibilie nel prototipo in una versione abbastanza vicina a qquella definitiva. In particolare per i servizi infrastructure e metrics ed una versione preliminare della componente di collegamento con Ceilometer. La parte che deve ancora evolvere maggiormente è il componente di collegamento tra Ceilometer e Zabbix Il monitoraggio SaaS sarà a breve disponibile, unitamente ad alcune applicazioni di stub scritte ad hoc, onde permettere a chi scrive le applciazioni di farsi un’idea sul campo del funzionamento delle API e del monitoraggio applicativo in generale. 10
Presentazioni simili
© 2024 SlidePlayer.it Inc.
All rights reserved.