David O’Brien (Xirus): Metriche! Metriche! Metriche! Parte 1

Recentemente David O’Brien ha fondato la propria azienda Xirus (https://xirus.com.au), focalizzandosi sui prodotti cloud Microsoft Azure Stack. Questi sono progettati per costruire e avviare applicazioni ibride in modo coerente nei data center, nelle sedi periferiche, negli uffici remoti e nel cloud.

David insegna a individui e aziende tutto ciò che riguarda Microsoft Azure e Azure DevOps (ex VSTS) e continua a svolgere consulenze pratiche e infrastrutturne. È un Microsoft MVP (Most Valuable Professional) da 5 anni e ha recentemente ricevuto il riconoscimento MVP Azure. Come co-organizzatore del Melbourne Microsoft Cloud e Datacentre Meetup, O’Brien parla regolarmente a conferenze internazionali, combinando il suo interesse per i viaggi con la passione di condividere storie IT con la comunità. Il blog di David si trova all'indirizzo david-obrien.net, e pubblica anche i suoi corsi online su Pluralsight.

Nella presentazione si discute l'importanza delle metriche per comprendere cosa accade nel vostro ambiente e come funziona la vostra applicazione. Microsoft Azure offre un modo potente e semplice per visualizzare le metriche per tutti i tipi di workload, e nella lezione si parla di come sfruttarle al meglio.

Alle 3 del mattino di domenica, mentre dormite, un messaggio di testo vi sveglia improvvisamente: "l'applicazione critica non risponde di nuovo". Cosa sta succedendo? Dove si trova la causa dei rallentamenti? Da questo intervento scoprirete i servizi che Microsoft Azure offre ai clienti per raccogliere log e, in particolare, le metriche dei vostri workload cloud. David parlerà delle metriche che dovrebbero interessarvi quando lavorate sulla piattaforma cloud e come accedervi. Scoprirete strumenti open source e come costruire dashboard, e alla fine acquisirete le conoscenze necessarie per creare le vostre dashboard.

E se alle 3 del mattino un altro messaggio vi sveglia sulla caduta di un'applicazione critica, potrete rapidamente individuare la causa.

Buongiorno, oggi parleremo delle metriche. Mi chiamo David O’Brien, sono co-fondatore e proprietario di una piccola azienda di consulenza australiana chiamata Xirus. Vi ringrazio ancora per essere qui e per dedicarvi del tempo con me. Quindi, perché siamo qui? Per parlare delle metriche; in realtà, io vi parlerò di esse, e prima di procedere con alcune attività, iniziamo con la teoria.

David O’Brien (Xirus): Metriche! Metriche! Metriche! Parte 1

Vi spiegherò cosa sono le metriche, cosa si può fare con esse, a cosa prestare attenzione, come raccogliere e integrare la raccolta delle metriche in Azure e cosa significa visualizzare le metriche. Vi mostrerò come appaiono queste cose nel cloud di Microsoft e come lavorare con questo cloud.

Prima di iniziare, chiederei a chi utilizza Microsoft Azure di alzare la mano. E chi lavora con AWS? Vedo che sono pochi. E con Google? ALI Cloud? Una persona! Ottimo. Quindi, cosa sono le metriche? La definizione ufficiale dell'Istituto nazionale degli standard e della tecnologia degli Stati Uniti è la seguente: «Una metrica è uno standard di misura che descrive le condizioni e le regole per effettuare la misurazione di una certa proprietà e serve per comprendere i risultati della misurazione». Cosa significa questo?

Prendiamo come esempio una metrica per il cambiamento dello spazio libero su un disco virtuale. Ad esempio, ci viene dato il numero 90, e questo numero rappresenta una percentuale, cioè il volume di spazio libero sul disco è del 90%. Vorrei sottolineare che non è affatto interessante leggere una descrizione di metriche che occupa 40 pagine in formato pdf.

Tuttavia, la metrica non indica in che modo sia stato ottenuto il risultato della misurazione, mostra semplicemente questo risultato. Cosa facciamo quindi con le metriche?

Innanzitutto, misuriamo il valore di qualcosa per poi utilizzare il risultato della misurazione.

David O’Brien (Xirus): Metriche! Metriche! Metriche! Parte 1

Ad esempio, abbiamo scoperto la quantità di spazio libero disponibile sul disco e ora possiamo utilizzarlo, sfruttare questa memoria, ecc. Dopo aver ottenuto il risultato della metrica, dobbiamo interpretarlo. Ad esempio, se la metrica restituisce un valore di 90, dobbiamo sapere cosa significa quel numero: la quantità di spazio libero o la quantità di spazio occupato del disco in percentuali o gigabyte, la latenza della rete pari a 90 ms, e così via, quindi è necessario comprendere il significato del valore della metrica. Affinché le metriche abbiano un senso, dopo aver interpretato un valore di metrica, è necessario garantire la raccolta di molti valori. Questo è molto importante, poiché molte persone non si rendono conto della necessità di raccogliere metriche. Microsoft ha semplificato molto il processo di raccolta delle metriche, ma spetta a voi garantirne la raccolta. Queste metriche vengono conservate solo per 41 giorni e il 42° giorno scompaiono. Pertanto, a seconda delle caratteristiche della vostra attrezzatura esterna o interna, dovete preoccuparvi di come conservare le metriche per più di 41 giorni - sotto forma di log, registri, ecc. Così, dopo aver raccolto, dovete collocarli in un qualche luogo che consenta di sollevare tutta la statistica delle variazioni nei risultati delle metriche, se necessario. Collocandoli lì, potrete iniziare a lavorare in modo efficace con essi.

Solo dopo aver ottenuto i valori delle metriche, interpretarli e raccoglierli, potrete creare un SLA – un accordo sui livelli di servizio. Questo SLA potrebbe non avere un valore speciale per i vostri clienti, è invece più importante per i vostri colleghi, manager, chi si occupa della manutenzione del sistema e si preoccupa della sua funzionalità. La metrica può misurare il numero di ticket – per esempio, ricevete 5 ticket al giorno, e in questo caso mette in evidenza la velocità di risposta alle richieste degli utenti e la rapidità nella risoluzione dei problemi. La metrica non deve semplicemente comunicare che il vostro sito si carica in 20 ms o che il tempo di risposta è di 20 ms; la metrica è molto più di un singolo indicatore tecnico.

Pertanto, l'obiettivo della nostra conversazione è presentarvi un quadro dettagliato dell'essenza delle metriche. La metrica serve affinché, guardandola, possiate ottenere un quadro completo del processo.

David O’Brien (Xirus): Metriche! Metriche! Metriche! Parte 1

Non appena abbiamo ottenuto la metrica, possiamo garantire al 99% il funzionamento del sistema, poiché non si tratta solo di un'interpretazione del log, che indica che il sistema è operativo. Una garanzia di funzionamento al 99% significa che, ad esempio, nell'99% dei casi, l'API risponde con una velocità normale di 30 ms. Questo è precisamente ciò che interessa i vostri utenti, i vostri colleghi e i manager. Molti dei nostri clienti monitorano i log dei server web, senza notare errori e pensando che tutto stia andando bene. Ad esempio, vedono una velocità di rete di 200 mb/s e pensano: 'ok, tutto perfetto!'. Ma per raggiungere quei 200, gli utenti hanno bisogno di un tempo di risposta di 30 millisecondi, e questa è esattamente la metrica che non viene misurata e non è registrata nei log. Gli utenti rimangono sorpresi dal fatto che il sito si carichi molto lentamente, poiché, non avendo accesso alla metrica necessaria, non conoscono le ragioni di questo comportamento.

Tuttavia, poiché abbiamo un SLA che garantisce il 100% di operatività, i clienti iniziano a esprimere il loro disappunto, poiché in realtà è molto difficile utilizzare il sito. Perciò, per creare un SLA obiettivo, è necessario avere una visione completa del processo, fornita dalle metriche raccolte. Questo è oggetto del mio continuo confronto con alcuni fornitori, i quali, nella creazione di SLA, non comprendono cosa significhi il termine "uptime" e, nella maggior parte dei casi, non spiegano ai loro clienti come funziona il loro API.

Se hai creato un servizio, come un API per un terzo, devi comprendere cosa significhi la metrica ottenuta di 39,5 – è un risposta, una risposta riuscita, una risposta a una velocità di 20 ms o a una velocità di 5 ms. È tuo dovere adattare il loro SLA al tuo SLA personale, alle tue metriche.

Una volta chiarito tutto questo, si può procedere a creare un'incredibile dashboard di monitoraggio. Dite, qualcuno ha già usato l'app per la visualizzazione interattiva Grafana? Ottimo! Sono un grande fan di questo open source, perché è gratuito e facile da usare.

David O’Brien (Xirus): Metriche! Metriche! Metriche! Parte 1

Se non hai mai utilizzato Grafana, ti spiegherò come funziona. Chi è nato negli anni '80 e '90 probabilmente ricorda i teneri orsetti CareBears. Non so quanto fossero popolari in Russia, ma in termini di metriche dobbiamo essere altrettanto "coccolosi". Come ho detto, hai bisogno di una visione completa del funzionamento dell'intero sistema e non deve riguardare solo il tuo API, il tuo sito web o il servizio in esecuzione su una macchina virtuale.

David O’Brien (Xirus): Metriche! Metriche! Metriche! Parte 1

Dovete organizzare la raccolta di metriche che rappresentino al meglio il funzionamento dell'intero sistema. La maggior parte di voi sono sviluppatori software, quindi la vostra vita è in continua evoluzione, adattandosi alle nuove esigenze del prodotto. Proprio come vi preoccupate dei processi di codifica, dovete preoccuparvi anche delle metriche. Dovete sapere come le metriche si collegano a ogni riga di codice che scrivete. Ad esempio, la prossima settimana iniziate una nuova campagna di marketing e vi aspettate un gran numero di visitatori sul vostro sito. Per analizzare questo evento, avrete bisogno di metriche e probabilmente di un'intera dashboard per monitorare l'attività di queste persone. Le metriche saranno indispensabili per capire quanto sia stata efficace e quanto realmente funzioni la vostra campagna di marketing. Vi aiuteranno, ad esempio, a sviluppare un CRM efficace — un sistema di gestione delle relazioni con i clienti.

Iniziamo a esplorare il nostro servizio cloud Azure. È molto facile trovare e organizzare la raccolta delle metriche grazie ad Azure Monitor. Questo strumento centralizza la gestione della configurazione del tuo sistema. Ogni componente di Azure che desideri utilizzare nel tuo sistema ha molte metriche abilitate per impostazione predefinita. È un'applicazione gratuita che funziona subito 'out of the box' e non richiede alcuna configurazione preliminare; non è necessario scrivere codici o 'collegare' nulla al tuo sistema. Lo dimostreremo nel prossimo demo.

David O’Brien (Xirus): Metriche! Metriche! Metriche! Parte 1

Inoltre, è possibile inviare queste metriche a applicazioni di terze parti, come il sistema di archiviazione e analisi dei log Splunk, l'applicazione cloud per la gestione dei log SumoLogic, lo strumento per l'elaborazione dei log ELK, IBM Radar. Tuttavia, ci sono alcune piccole differenze a seconda delle risorse che utilizzate - macchine virtuali, servizi di rete, database Azure SQL, quindi l'uso delle metriche varia in base alle funzionalità del vostro ambiente di lavoro. Non direi che queste differenze siano significative, ma, sfortunatamente, sono comunque presenti e vanno tenute in considerazione. L'attivazione e l'invio delle metriche possono avvenire in diversi modi: tramite Portal, CLI/Power Shell o utilizzando modelli ARM.

David O’Brien (Xirus): Metriche! Metriche! Metriche! Parte 1

Prima di iniziare la prima dimostrazione, risponderò alle vostre domande. Se non ci sono domande, iniziamo. Sullo schermo è mostrato come appare la pagina di Azure Monitor. Qualcuno di voi può dire che questo monitor non funziona?

David O’Brien (Xirus): Metriche! Metriche! Metriche! Parte 1

Quindi, ora va tutto bene, puoi vedere come appaiono i servizi di monitoraggio. Posso dire che è uno strumento eccellente e molto semplice per il lavoro quotidiano. Con esso è possibile monitorare applicazioni, reti e infrastrutture. Recentemente, l'interfaccia di monitoraggio è stata migliorata, e se prima i servizi erano disposti in posti diversi, ora tutte le informazioni sui servizi sono consolidate nella homepage del monitor.

La tabella delle metriche è una scheda nel percorso HomeMonitorMetrics, dove puoi accedere per vedere tutte le metriche disponibili e selezionare quelle necessarie. Ma se hai bisogno di attivare la raccolta delle metriche, devi utilizzare il percorso della directory HomeMonitorDiagnostic settings e controllare le caselle delle metriche Enabled/Disabled. Di default, praticamente tutte le metriche sono attive, ma se hai bisogno di attivare qualcosa di aggiuntivo, dovrai cambiare lo stato della diagnostica da Disabled a Enabled.

David O’Brien (Xirus): Metriche! Metriche! Metriche! Parte 1

Per farlo, è necessario cliccare sulla riga della metrica selezionata e nella scheda che si apre attivare la modalità di diagnostica. Se intendi analizzare la metrica selezionata, dopo aver cliccato sul link Accendi la diagnostica, devi spuntare la casella "Invia a Log Analytics" nella finestra che appare.

David O’Brien (Xirus): Metriche! Metriche! Metriche! Parte 1

Log Analytics è simile a Splunk, ma è più economico. Questo servizio consente di raccogliere tutte le tue metriche, log e tutto ciò di cui hai bisogno e di posizionarli nello spazio di lavoro di Log Analytics. Il servizio utilizza un linguaggio di query chiamato KQL – Kusto Query Language, di cui discuteremo nella prossima demo. Per ora, va notato che con questo puoi formare query relative a metriche, log, termini, tendenze, modelli, ecc. e creare cruscotti.

Quindi, selezioniamo la casella Send to Log Analytics e le caselle della pannello LOG: DataPlaneRequests, MongoRequests e QueryRuntimeStatistics, mentre nella parte inferiore del pannello METRIC selezioniamo la casella Requests. Poi assegniamo un nome e salviamo le impostazioni. Nella riga di comando, questo si traduce in due righe di codice. A proposito, la shell di Azure Cloud ricorda in questo senso Google, che consente anche di utilizzare la riga di comando nel proprio browser web. AWS non ha nulla di simile, quindi Azure è decisamente più comodo in questo senso.

Ad esempio, posso avviare una demo tramite l'interfaccia web senza utilizzare alcun codice sul mio laptop. Per fare questo, devo autenticarmi con il mio account Azure. Dopodiché, posso utilizzare, per esempio, terrafone, se già lo utilizzi, attendere la connessione al servizio e ottenere un ambiente Linux funzionante, che Microsoft utilizza per impostazione predefinita.

David O’Brien (Xirus): Metriche! Metriche! Metriche! Parte 1

Successivamente, utilizzo Bash, integrato nell'Azure Cloud Shell. Una delle funzionalità molto utili è l'IDE incorporato nel browser, una versione semplificata di VS Code. Poi posso accedere al mio modello di metrica degli errori, modificarlo e adattarlo alle mie esigenze.

David O’Brien (Xirus): Metriche! Metriche! Metriche! Parte 1

Configurando la raccolta delle metriche in questo modello, puoi applicarlo per creare metriche per l'intera infrastruttura. Dopo aver applicato, raccolto e salvato le metriche, sarà necessario visualizzarle.

David O’Brien (Xirus): Metriche! Metriche! Metriche! Parte 1

Azure Monitor si occupa solo delle metriche e non fornisce una visione globale dello stato del tuo sistema. Potresti avere altre applicazioni in esecuzione al di fuori dell'ambiente Azure. Quindi, se hai bisogno di monitorare tutti i processi visualizzando tutte le metriche raccolte in un unico posto, Azure Monitor non è adatto a questo scopo.

Per affrontare questo compito, Microsoft offre lo strumento Power BI: un software completo per l'analisi aziendale che include la visualizzazione di vari tipi di dati. È un prodotto piuttosto costoso, il cui prezzo dipende dal set di funzionalità richieste. Di default, offre 48 tipi di dati elaborabili ed è collegato a repository SQL Azure, Azure Data Lake Storage, ai servizi di machine learning di Azure e ad Azure Databricks. Grazie alla scalabilità, puoi ricevere nuovi dati ogni 30 minuti. Questo potrebbe essere sufficiente per le tue esigenze o meno, se hai bisogno di visualizzazioni di monitoraggio in tempo reale. In tal caso, è consigliabile utilizzare applicazioni come Grafana, che ho menzionato. Inoltre, la documentazione Microsoft descrive il modo di inviare metriche, log e tabelle di eventi tramite strumenti SIEM ai sistemi di visualizzazione come Splunk, SumoLogic, ELK e IBM radar.

23:40 min

Continuazione in arrivo molto presto…

Riproduci video

Un po' di pubblicità 🙂

Grazie per essere con noi. Ti piacciono i nostri articoli? Vuoi vedere più contenuti interessanti? Supportaci effettuando un ordine o raccomandandoci ai tuoi conoscenti, VPS cloud per sviluppatori a partire da $4,99, un'alternativa unica ai server entry-level, che abbiamo creato per te: Tutta la verità su VPS (KVM) E5-2697 v3 (6 Core) 10GB DDR4 480GB SSD 1Gbps a partire da $19. Come dividere il server correttamente? (disponibili opzioni con RAID1 e RAID10, fino a 24 core e fino a 40GB DDR4).

Dell R730xd a metà prezzo nel data center Equinix Tier IV ad Amsterdam? Solo da noi 2 x Intel TetraDeca-Core Xeon 2x E5-2697v3 2.6GHz 14C 64GB DDR4 4x960GB SSD 1Gbps 100 TB a partire da $199 nei Paesi Bassi! Dell R420 — 2x E5-2430 2.2GHz 6C 128GB DDR3 2x960GB SSD 1Gbps 100TB — a partire da $99! Scopri di più su Come costruire un'infrastruttura di classe enterprise con server Dell R730xd E5-2650 v4 dal costo di 9000 euro a prezzi stracciati?

Fonte: habr.com

Acquista hosting affidabile per siti web con protezione DDoS, server VPS VDS 🔥 Acquista hosting affidabile per siti web con protezione DDoS, server VPS VDS | ProHoster