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

Di recente, David O’Brien ha aperto la sua azienda Xirus (https://xirus.com.au), concentrandosi sui prodotti cloud di Microsoft Azure Stack. Questi sono progettati per creare e distribuire in modo coerente applicazioni ibride nei data center, in posizioni edge, uffici remoti e nel cloud.

David istruisce individui e aziende su tutto ciò che riguarda Microsoft Azure e Azure DevOps (precedentemente VSTS) e continua a occuparsi di consulenza pratica e infrastruttura come codice. È già da 5 anni un Microsoft MVP (Massimo Valore Professionale Microsoft) e recentemente ha ricevuto il premio MVP Azure. Come co-organizzatore del meetup Melbourne Microsoft Cloud e Datacentre, O’Brien parla regolarmente a conferenze internazionali, combinando il suo interesse per i viaggi nel mondo con la passione di condividere storie IT con la comunità. Il blog di David è disponibile all'indirizzo david-obrien.net, pubblica anche i suoi corsi online su Pluralsight.

Durante la presentazione viene spiegata l'importanza delle metriche per comprendere ciò che accade nel proprio ambiente e il funzionamento della propria applicazione. Microsoft Azure offre un modo potente e semplice per visualizzare le metriche per tutti i tipi di carichi di lavoro, e nella lezione si discute di come sfruttarle.

Alle 3 di notte, di domenica, mentre dormite, un messaggio di testo vi sveglia improvvisamente: 'l'applicazione critica non risponde di nuovo'. Cosa sta succedendo? Dove e qual è la causa dei 'rallentamenti'? In questa presentazione scoprirete i servizi che Microsoft Azure offre ai clienti per raccogliere log e, in particolare, le metriche dei vostri carichi di lavoro cloud. David parlerà delle metriche a cui dovreste prestare attenzione mentre lavorate sulla piattaforma cloud e come accedervi. Scoprirete strumenti open source e come costruire dashboard, acquisendo così abbastanza conoscenze per creare le vostre dashboard.

E se alle 3 di notte vi sveglierà di nuovo un messaggio relativo al crollo di un'applicazione critica, potrete rapidamente scoprire la causa.

Buongiorno, oggi parleremo di metriche. Mi chiamo David O’Brien, sono cofondatore e proprietario di una piccola società di consulenza australiana chiamata Xirus. Grazie ancora per essere qui a trascorrere del tempo con me. Allora, perché siamo qui? Per parlare di metriche, o meglio, vi parlerò di esse, e prima di fare qualsiasi cosa, iniziamo con la teoria.

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

Vi spiegherò cosa sono le metriche, cosa possiamo fare con esse, a cosa dobbiamo prestare attenzione, come raccogliere e includere la raccolta delle metriche in Azure e cosa significa visualizzazione delle metriche. Vi mostrerò come appaiono queste cose nel cloud di Microsoft e come lavorare con quel cloud.

Prima di cominciare, chiedo 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. Allora, che cosa sono le metriche? La definizione ufficiale dell'Istituto nazionale degli standard e della tecnologia degli Stati Uniti è: «Una metrica è uno standard di misura che descrive le condizioni e le regole per effettuare la misura di una proprietà e serve per comprendere i risultati della misura». Cosa significa questo?

Consideriamo, ad esempio, la metrica per il cambiamento dello spazio libero su disco di una macchina virtuale. Ad esempio, ci viene fornito il numero 90, e questo numero rappresenta percentuali, il che significa che il volume dello spazio libero su disco è del 90%. Sottolineo che non è molto interessante leggere la descrizione della definizione delle metriche, che occupa 40 pagine in formato pdf.

Tuttavia, la metrica non dice come è stato ottenuto il risultato della misura, mostra solo quel risultato. Che cosa facciamo, quindi, con le metriche?

In primo luogo, misuriamo il valore di qualcosa per poi utilizzare il risultato della misura.

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

Ad esempio, abbiamo scoperto la quantità di spazio libero su disco e ora possiamo utilizzarlo, sfruttare questa memoria, ecc. Dopo aver ottenuto il risultato della metrica, dobbiamo interpretarlo. Ad esempio, la metrica ha restituito un risultato di 90. Dobbiamo sapere cosa significa questo numero: la quantità di spazio libero o la quantità di spazio occupato su disco in percentuale o gigabyte, la latenza di rete pari a 90 ms, e così via, cioè dobbiamo interpretare il significato del valore della metrica. Affinché le metriche abbiano un senso, dopo l'interpretazione di un valore della metrica dobbiamo garantire la raccolta di molti valori. Questo è molto importante, poiché molte persone non si rendono conto della necessità di raccogliere metriche. Microsoft ha reso molto facile il processo di acquisizione delle metriche, ma è compito vostro garantire la loro raccolta. Queste metriche vengono conservate solo per 41 giorni e nel 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 la raccolta, dovete collocarle in un luogo che consenta di recuperare tutta la statistica delle variazioni dei risultati delle metriche, se necessario. Una volta collocate lì, potrete iniziare a lavorare in modo efficace con esse.

Solo dopo aver ottenuto i valori delle metriche, averli interpretati e raccolti, potrete creare un SLA – accordo sul livello di servizio. Questo SLA potrebbe non avere un significato particolare per i vostri clienti, è più importante per i vostri colleghi, manager, coloro che gestiscono il sistema e si preoccupano della sua funzionalità. La metrica può misurare il numero di ticket — ad esempio, ricevete 5 ticket al giorno, e in questo caso indica 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 la velocità di risposta è di 20 ms, la metrica è più di un semplice indicatore tecnico.

Pertanto, lo scopo della nostra conversazione è presentarvi un quadro completo del significato delle metriche. La metrica serve affinché, guardandola, possiate ottenere una visione complessiva del processo.

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

Non appena abbiamo ricevuto la metrica, possiamo garantire al 99% il funzionamento del sistema, poiché non si tratta solo di uno sguardo al file di log in cui è scritto che il sistema funziona. Una garanzia del 99% di operatività significa che, ad esempio, nel 99% dei casi, l'API risponde con una velocità normale di 30 ms. Questo è esattamente ciò che interessa i tuoi utenti, i tuoi colleghi e i manager. Molti dei nostri clienti monitorano i log dei server web, ma non notano alcun errore in essi e pensano che tutto sia a posto. Ad esempio, vedono una velocità di rete di 200 mb/s e pensano: «ok, tutto perfetto!». Ma per raggiungere questi 200, gli utenti necessitano di una velocità di risposta di 30 millisecondi, e questo è esattamente il dato che non viene misurato e non viene raccolto nei file di log. Pertanto, gli utenti si sorprendono del fatto che il sito si carichi molto lentamente, perché, non avendo la metrica necessaria, non sanno perché si comporti in questo modo.

Ma poiché abbiamo un SLA che garantisce il 100% di operatività, i clienti iniziano a esprimere il loro dissenso, poiché in realtà è molto difficile utilizzare il sito. Pertanto, per creare un SLA obiettivo, è necessario avere una visione completa del processo, creata dalle metriche raccolte. Questo è l'oggetto della mia continua disputa con alcuni fornitori, che al momento di creare un SLA non comprendono il significato del termine «uptime» e, nella maggior parte dei casi, non spiegano ai propri clienti come funziona la loro API.

Se hai creato un servizio, ad esempio, un'API per un terzo, devi capire cosa significa la metrica ottenuta di 39,5 – risposta, risposta riuscita, risposta a una velocità di 20 ms o a una velocità di 5 ms. Devi adattare il loro SLA al tuo SLA, alle tue metriche.

Dopo aver chiarito tutto ciò, si può procedere alla creazione di un fantastico pannello di monitoraggio. Dite, qualcuno ha già utilizzato l'applicazione 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 ancora utilizzato Grafana, ti spiegherò come funziona. Chi è nato negli anni '80 e '90 ricorderà probabilmente i teneri orsetti CareBears? Non so quanto questi orsetti fossero popolari in Russia, ma per quanto riguarda le metriche, dobbiamo comportarci come degli "orsetti premurosi". Come ho detto, hai bisogno di una visione completa del funzionamento dell'intero sistema, e non deve riguardare solo la tua API, il tuo sito web o il servizio in esecuzione su una macchina virtuale.

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

Devi organizzare la raccolta di quelle metriche che riflettono nel modo più completo il funzionamento dell'intero sistema. La maggior parte di voi è composta da sviluppatori software, quindi la vostra vita cambia costantemente, adattandosi ai nuovi requisiti del prodotto; e proprio come siete preoccupati dei processi di codifica, dovete anche preoccuparvi delle metriche. Dovete sapere in che modo ogni metrica si riferisce a ciascuna riga del codice che scrivete. Ad esempio, la prossima settimana iniziate una nuova campagna di marketing e vi aspettate che il vostro sito web venga visitato da un gran numero di utenti. Per analizzare questo evento avrete bisogno di metriche, e potrebbe essere necessaria un'intera dashboard per monitorare l'attività di queste persone. Le metriche vi aiuteranno a capire quanto sia riuscita e come funzioni realmente la vostra campagna di marketing. Vi saranno utili, ad esempio, per sviluppare un efficace CRM - sistema di gestione delle relazioni con i clienti.

Quindi, iniziamo con il nostro servizio cloud Azure. È molto facile trovare e organizzare la raccolta di metriche, grazie ad Azure Monitor. Questo monitor centralizza la gestione della configurazione del vostro sistema. Ognuno degli elementi di Azure che volete applicare nel vostro sistema ha molte metriche attivate per impostazione predefinita. È un'applicazione gratuita che funziona direttamente "out of the box" e non richiede alcuna configurazione preliminare; non dovete scrivere nulla e non c'è bisogno di "aggiungere" niente al vostro sistema. Ce ne assicureremo, guardando la prossima 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 log degli eventi Splunk, l'applicazione cloud per la gestione dei log SumoLogic, lo strumento per l'elaborazione dei log ELK, IBM Radar. Tuttavia, ci sono alcune differenze minori che dipendono dalle risorse che utilizzate – macchine virtuali, servizi di rete, database Azure SQL, cioè l'uso delle metriche varia a seconda delle funzioni del vostro ambiente di lavoro. Non direi che queste differenze siano significative, ma, sfortunatamente, sono comunque presenti e questo va tenuto in considerazione. L'attivazione e l'invio delle metriche possono avvenire in vari modi: attraverso il Portal, CLI/Power Shell o tramite template 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 viene 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 tutto è a posto, vedete come appaiono i servizi di monitoraggio. Posso dire che è uno strumento eccellente e molto semplice per l'uso quotidiano. Con esso, è possibile monitorare applicazioni, reti e infrastrutture. Recentemente, l'interfaccia di monitoraggio è stata migliorata e se prima i servizi erano dislocati in diverse posizioni, ora tutte le informazioni sui servizi sono consolidate nella homepage del monitor.

La tabella delle metriche è una scheda lungo il percorso HomeMonitorMetrics, a cui è possibile accedere per vedere tutte le metriche disponibili e selezionare quelle necessarie. Ma se avete bisogno di abilitare la raccolta di metriche, dovete utilizzare il percorso della directory HomeMonitorDiagnostic settings e controllare le caselle delle metriche Abilitato/Disabilitato. Di default, praticamente tutte le metriche sono in stato abilitato, ma se è necessario attivare qualcosa di aggiuntivo, dovrete cambiare lo stato di diagnostica da Disabilitato a Abilitato.

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

Per questo, è necessario fare clic sulla riga della metrica selezionata e nella scheda aperta abilitare la modalità di diagnostica. Se intendete analizzare la metrica selezionata, dopo aver fatto clic sul collegamento Attiva la diagnostica dovete selezionare la casella di controllo Invia a Log Analytics nella finestra che appare.

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

Log Analytics è un po' simile a Splunk, ma costa meno. Questo servizio consente di raccogliere tutte le tue metriche, log e tutto ciò di cui hai bisogno, e di organizzarli nello spazio di lavoro Log Analytics. Il servizio utilizza un linguaggio di query specifico, KQL – Kusto Query Language, di cui discuteremo nella prossima demo. Al momento, voglio sottolineare che con questo puoi formulare query relative a metriche, log, termini, tendenze, modelli, ecc. e creare cruscotti di monitoraggio.

Quindi, spuntiamo la casella Send to Log Analytics e le caselle dei pannelli LOG: DataPlaneRequests, MongoRequests e QueryRuntimeStatistics, e sotto nel pannello METRIC – la casella Requests. Poi diamo un nome e salviamo le impostazioni. Nella riga di comando, questo si traduce in due righe di codice. Tra l'altro, la shell Azure Cloud in questo senso ricorda Google, che consente anch'esso di utilizzare la riga di comando nel tuo browser web. AWS non ha nulla di simile, quindi Azure è molto più comodo in questo senso.

Ad esempio, posso eseguire una demo tramite l'interfaccia web, senza utilizzare alcun codice sul mio laptop. Per farlo, devo autenticarmi con il mio account Azure. Dopo, posso usare, per esempio, terrafone, se lo utilizzi già, aspettare la connessione al servizio e ottenere un ambiente Linux, che Microsoft usa per impostazione predefinita.

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

Dopo utilizzo Bash, incorporato nella Azure Cloud Shell. Una cosa molto utile è l'IDE integrato 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 di metriche in questo modello, puoi applicarlo per creare metriche per l'intera tua infrastruttura. Dopo aver applicato le metriche, raccolte e salvate, avremo bisogno di visualizzarle.

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

Azure Monitor si occupa solo delle metriche e non offre la possibilità di avere una visione d'insieme dello stato del tuo sistema. Potresti utilizzare una serie di altre applicazioni che sono eseguite al di fuori dell'ambiente Azure. Quindi, se devi monitorare tutti i processi, visualizzando tutte le metriche raccolte in un unico posto, Azure Monitor non è adatto a questo.

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

23:40 min

Il seguito arriverà molto presto…

Guarda il video

Un po' di pubblicità 🙂

Grazie per rimanere con noi. Ti piacciono i nostri articoli? Vuoi vedere più contenuti interessanti? Supportaci effettuando un ordine o raccomandandoci a qualcuno. VPS cloud per sviluppatori a partire da $4.99., unica alternativa ai server entry-level, concepita da noi per te: Tutta la verità sui VPS (KVM) E5-2697 v3 (6 Core) 10GB DDR4 480GB SSD 1Gbps a partire da $19 o come dividere correttamente un server? (sono 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! Leggi di Come costruire un'infrastruttura di livello enterprise utilizzando server Dell R730xd E5-2650 v4 del valore di 9000 euro a pochi spiccioli?

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