David O'Brien (Xirus): Metriche! Metrica! Metrica! Parte 1

David O'Brien ha recentemente lanciato la sua azienda, Xirus (https://xirus.com.au), concentrandosi sui prodotti cloud Microsoft Azure Stack. Sono progettati per creare ed eseguire in modo coerente applicazioni ibride in data center, edge location, uffici remoti e cloud.

David forma individui e aziende su tutto ciò che riguarda Microsoft Azure e Azure DevOps (in precedenza VSTS) e continua a svolgere consulenza pratica e infracodificazione. È stato vincitore del premio Microsoft MVP (Microsoft Most Valuable Professional) per 5 anni e recentemente ha ricevuto l'Azure MVP Award. In qualità di co-organizzatore del Melbourne Microsoft Cloud and Datacenter Meetup, O'Brien parla regolarmente a conferenze internazionali, combinando il suo interesse per viaggiare per il mondo con la passione per la condivisione di storie IT con la comunità. Il blog di David si trova in david-obrien.net, pubblica anche la sua formazione online su Pluralsight.

Il discorso parla dell'importanza delle metriche per comprendere cosa sta succedendo nel tuo ambiente e come sta funzionando la tua applicazione. Microsoft Azure offre un modo semplice e potente per visualizzare le metriche per tutti i tipi di carichi di lavoro e la lezione spiega come utilizzarli tutti.

Alle 3 di notte di domenica, mentre dormi, vieni svegliato all'improvviso da un messaggio di testo: "l'app supercritica non risponde più". Cosa sta succedendo? Dove e qual è il motivo dei “freni”? In questo discorso imparerai i servizi che Microsoft Azure offre ai clienti per raccogliere log e, in particolare, metriche dai carichi di lavoro cloud. David ti dirà a quali metriche dovresti essere interessato quando lavori su una piattaforma cloud e come ottenerle. Imparerai a conoscere gli strumenti open source e la creazione di dashboard e alla fine acquisirai conoscenze sufficienti per creare le tue dashboard.

E se alle 3 del mattino vieni svegliato di nuovo da un messaggio che ti informa che un'applicazione critica è andata in crash, puoi capirne rapidamente la causa.

Buon pomeriggio, oggi parleremo di metriche. Mi chiamo David O'Brien, sono il co-fondatore e proprietario di una piccola società di consulenza australiana, Xirus. Grazie ancora per essere venuto qui a trascorrere il tuo tempo con me. Allora perché siamo qui? Per parlare di metriche, o meglio, te ne parlerò, e prima di fare qualsiasi cosa, iniziamo con la teoria.

David O'Brien (Xirus): Metriche! Metrica! Metrica! Parte 1

Ti dirò cosa sono le metriche, cosa puoi fare con esse, a cosa devi prestare attenzione, come raccogliere e abilitare la raccolta delle metriche in Azure e cos'è la visualizzazione delle metriche. Ti mostrerò come appaiono queste cose nel cloud Microsoft e come lavorare con questo cloud.

Prima di iniziare, chiedo per alzata di mano chi utilizza Microsoft Azure. Chi lavora con AWS? ne vedo pochi. E che dire di Google? ALI Nuvola? Un uomo! Grande. Quindi cosa sono le metriche? La definizione ufficiale del National Institute of Standards and Technology degli Stati Uniti è: “Una metrica è uno standard di misurazione che descrive le condizioni e le regole per misurare una proprietà e serve a comprendere i risultati della misurazione”. Cosa significa?

Prendiamo un esempio di metrica per modificare lo spazio libero su disco di una macchina virtuale. Ad esempio, ci viene fornito il numero 90 e questo numero significa percentuale, ovvero la quantità di spazio libero su disco è del 90%. Noto 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 misurazione, mostra solo questo risultato. Cosa facciamo con le metriche?

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

David O'Brien (Xirus): Metriche! Metrica! Metrica! Parte 1

Ad esempio, abbiamo scoperto la quantità di spazio libero su disco e ora possiamo usarlo, utilizzare questa memoria, ecc. Una volta ricevuto il risultato della metrica, dobbiamo interpretarlo. Ad esempio, la metrica ha restituito un risultato pari a 90. Dobbiamo sapere cosa significa questo numero: la quantità di spazio libero o la quantità di spazio su disco utilizzato in percentuale o gigabyte, latenza di rete pari a 90 ms e così via, ovvero , dobbiamo interpretare il significato del valore metrico. Affinché le metriche siano significative, dopo aver interpretato un singolo valore metrico, dobbiamo garantire che vengano raccolti più valori. Questo è molto importante perché molte persone non sono consapevoli della necessità di raccogliere parametri. Microsoft ha reso molto semplice la raccolta delle metriche, ma spetta a te assicurarti che vengano raccolte. Queste metriche vengono archiviate solo per 41 giorni e scompaiono il 42° giorno. Pertanto, a seconda delle proprietà della tua attrezzatura esterna o interna, dovresti occuparti di come salvare le metriche per più di 41 giorni, sotto forma di registri, registri, ecc. Pertanto, dopo la raccolta, è necessario posizionarli in una posizione che consenta di visualizzare tutte le statistiche delle modifiche nei risultati metrici, se necessario. Una volta che li hai messi lì, puoi iniziare a lavorare con loro in modo efficace.

Solo dopo aver ottenuto le metriche, averle interpretate e raccolte, è possibile creare uno SLA (accordo sul livello di servizio). Questo SLA potrebbe non essere di grande importanza per i tuoi clienti; è più importante per i tuoi colleghi, manager, coloro che mantengono il sistema e sono preoccupati per la sua funzionalità. La metrica può misurare il numero di ticket: ad esempio, ricevi 5 ticket al giorno e in questo caso mostra la velocità di risposta alle richieste degli utenti e la velocità di risoluzione dei problemi. Una metrica non dovrebbe semplicemente dire che il tuo sito si carica in 20 ms o che la tua velocità di risposta è di 20 ms, una metrica è più di un semplice indicatore tecnico.

Pertanto, il compito della nostra conversazione è presentarvi un quadro dettagliato dell'essenza delle metriche. La metrica serve affinché osservandola si possa ottenere un quadro completo del processo.

David O'Brien (Xirus): Metriche! Metrica! Metrica! Parte 1

Una volta che abbiamo la metrica, possiamo garantire al 99% che il sistema funziona, perché non è solo guardando un file di registro che dice che il sistema funziona. Una garanzia di uptime del 99% significa che, ad esempio, il 99% delle volte l'API risponde a una velocità normale di 30 ms. Questo è esattamente ciò che interessa ai tuoi utenti, ai tuoi colleghi e ai tuoi manager. Molti dei nostri clienti monitorano i log del server web, ma non notano alcun errore in essi e pensano che tutto vada bene. Vedono, ad esempio, una velocità di rete di 200 Mb/s e pensano: “ok, va tutto bene!” Ma per raggiungere questi 200, gli utenti hanno bisogno di una velocità di risposta di 30 millisecondi, e questo è proprio l’indicatore che non viene misurato e non raccolto nei file di registro. Allo stesso tempo, gli utenti sono sorpresi che il sito si carichi molto lentamente, perché, non disponendo delle metriche necessarie, non conoscono le ragioni di questo comportamento.

Ma poiché abbiamo uno SLA con tempo di attività del 100%, i clienti iniziano a lamentarsi perché il sito è in realtà molto difficile da usare. Pertanto, per creare uno SLA oggettivo, è necessario vedere il quadro completo del processo creato dalle metriche raccolte. Questo è un problema costante che ho con alcuni fornitori che, quando creano SLA, non hanno idea di cosa significhi il termine "tempo di attività" 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 una terza persona, dovresti capire cosa significa la metrica risultante di 39,5: risposta, risposta riuscita, risposta alla velocità di 20 ms o alla velocità di 5 ms. Sta a te adattare il loro SLA al tuo SLA, ai tuoi parametri.

Una volta che hai capito tutto questo, puoi iniziare a creare una straordinaria dashboard. Dimmi, qualcuno ha già utilizzato l'applicazione di visualizzazione interattiva Grafana? Grande! Sono un grande fan di questo open source perché è gratuito e facile da usare.

David O'Brien (Xirus): Metriche! Metrica! Metrica! Parte 1

Se non hai ancora usato Grafana, ti dirò come lavorarci. Qualcuno nato negli anni '80 e '90 probabilmente ricorda CareBears? Non so quanto fossero popolari questi orsi in Russia, ma quando si tratta di parametri, dovremmo essere gli stessi “orsi della cura”. Come ho detto, hai bisogno di un quadro generale di come funziona l'intero sistema e non dovrebbe riguardare solo la tua API, il tuo sito web o il servizio in esecuzione in una macchina virtuale.

David O'Brien (Xirus): Metriche! Metrica! Metrica! Parte 1

È necessario organizzare la raccolta di quelle metriche che riflettono più pienamente il funzionamento dell'intero sistema. La maggior parte di voi sono sviluppatori di software, quindi la vostra vita è in costante cambiamento, adattandosi ai nuovi requisiti dei prodotti e, proprio come vi preoccupate dei processi di codifica, dovreste preoccuparvi delle metriche. Devi sapere come la metrica si riferisce a ogni riga di codice che scrivi. Ad esempio, la prossima settimana inizierai una nuova campagna di marketing e ti aspetti che un gran numero di utenti visitino il tuo sito. Per analizzare questo evento, avrai bisogno di metriche e potresti aver bisogno di un'intera dashboard per monitorare l'attività di queste persone. Avrai bisogno di metriche per capire quanto successo ha la tua campagna di marketing e come sta effettivamente funzionando. Ti aiuteranno, ad esempio, a sviluppare un efficace CRM - sistema di gestione delle relazioni con i clienti.

Iniziamo quindi con il nostro servizio cloud di Azure. È molto semplice trovare e organizzare la raccolta di metriche perché dispone di Monitoraggio di Azure. Questo monitor centralizza la gestione della configurazione del sistema. Ciascuno degli elementi di Azure che vuoi applicare al tuo sistema ha molti parametri abilitati per impostazione predefinita. Questa è un'applicazione gratuita che funziona subito e non richiede alcuna impostazione preliminare; non è necessario scrivere o "avvitare" nulla sul tuo sistema. Lo verificheremo guardando la seguente demo.

David O'Brien (Xirus): Metriche! Metrica! Metrica! Parte 1

Inoltre, è possibile inviare queste metriche ad applicazioni di terze parti, come il sistema di archiviazione e analisi dei log Splunk, l'applicazione di gestione dei log basata su cloud SumoLogic, lo strumento di elaborazione dei log ELK e IBM Radar. È vero, ci sono lievi differenze che dipendono dalle risorse utilizzate: una macchina virtuale, servizi di rete, database SQL di Azure, ovvero l'uso delle metriche varia a seconda delle funzioni dell'ambiente di lavoro. Non dirò che queste differenze siano gravi, ma sfortunatamente sono ancora presenti e di questo bisogna tenerne conto. L'abilitazione e l'invio di parametri è possibile in diversi modi: tramite portale, CLI/Power Shell o utilizzando modelli ARM.

David O'Brien (Xirus): Metriche! Metrica! Metrica! Parte 1

Prima di iniziare la mia prima demo, risponderò a qualsiasi domanda tu possa avere. Se non ci sono domande, cominciamo. La schermata mostra l'aspetto della pagina Monitoraggio di Azure. Qualcuno di voi può dire che questo monitor non funziona?

David O'Brien (Xirus): Metriche! Metrica! Metrica! Parte 1

Quindi ora va tutto bene, puoi vedere come appaiono i servizi di monitoraggio. Posso dire che questo è uno strumento eccellente e molto semplice per il lavoro di tutti i giorni. Può essere utilizzato per monitorare applicazioni, reti e infrastrutture. Recentemente, l'interfaccia di monitoraggio è stata migliorata e, se prima i servizi erano localizzati in luoghi diversi, ora tutte le informazioni sui servizi sono riunite nella home page del monitor.

La tabella delle metriche è una scheda lungo il percorso HomeMonitorMetrics, a cui puoi accedere per vedere tutte le metriche disponibili e selezionare quelle che ti servono. Tuttavia, se è necessario abilitare la raccolta delle metriche, è necessario utilizzare il percorso della directory delle impostazioni HomeMonitorDiagnostic e selezionare le caselle di controllo delle metriche abilitate/disabilitate. Per impostazione predefinita, quasi tutte le metriche sono abilitate, ma se è necessario abilitare qualcosa in più, sarà necessario modificare lo stato diagnostico da Disabilitato ad Abilitato.

David O'Brien (Xirus): Metriche! Metrica! Metrica! Parte 1

Per fare ciò, fare clic sulla riga della metrica selezionata e nella scheda che si apre, abilitare la modalità diagnostica. Se intendi analizzare la metrica selezionata, dopo aver fatto clic sul collegamento Attiva diagnostica, devi selezionare la casella di controllo Invia a Log Analytics nella finestra visualizzata.

David O'Brien (Xirus): Metriche! Metrica! Metrica! Parte 1

Log Analytics è un po’ simile a Splunk, ma costa meno. Questo servizio ti consente di raccogliere tutte le metriche, i log e tutto ciò di cui hai bisogno e inserirli nell'area di lavoro Log Analytics. Il servizio utilizza uno speciale linguaggio di elaborazione delle query KQL: Kusto Quarry Language, ne esamineremo il funzionamento nella prossima demo. Per ora, noterò che con il suo aiuto puoi creare query relative a metriche, log, termini, tendenze, modelli, ecc. e creare dashboard.

Quindi, selezioniamo la casella di controllo Invia a Log Analytics e le caselle di controllo del pannello LOG: DataPlaneRequests, MongoRequests e QueryRuntimeStatistics e, di seguito, nel pannello METRIC, la casella di controllo Richieste. Quindi assegniamo un nome e salviamo le impostazioni. Sulla riga di comando, ciò rappresenta due righe di codice. A proposito, la shell Azure Cloud in questo senso ricorda Google, che ti consente anche di utilizzare la riga di comando nel tuo browser web. AWS non ha nulla del genere, quindi Azure è molto più conveniente in questo senso.

Ad esempio, posso eseguire una demo tramite l'interfaccia web senza utilizzare alcun codice sul mio laptop. Per fare ciò, devo autenticarmi con il mio account Azure. Quindi puoi utilizzare, ad esempio, terrafone, se già lo usi, attendi la connessione al servizio e ottieni l'ambiente di lavoro Linux che Microsoft utilizza di default.

David O'Brien (Xirus): Metriche! Metrica! Metrica! Parte 1

Successivamente utilizzo Bash, integrato in Azure Cloud Shell. Una cosa molto utile è l'IDE integrato nel browser, una versione leggera di VS Code. Successivamente, posso accedere al modello delle metriche di errore, modificarlo e personalizzarlo in base alle mie esigenze.

David O'Brien (Xirus): Metriche! Metrica! Metrica! Parte 1

Dopo aver configurato la raccolta di parametri in questo modello, puoi utilizzarlo per creare parametri per l'intera infrastruttura. Una volta applicati i parametri, raccolti e archiviati, dovremo visualizzarli.

David O'Brien (Xirus): Metriche! Metrica! Metrica! Parte 1

Monitoraggio di Azure si occupa solo delle metriche e non fornisce un quadro generale dell'integrità del sistema. Potrebbero essere presenti numerose altre applicazioni in esecuzione all'esterno dell'ambiente Azure. Pertanto, se è necessario monitorare tutti i processi, visualizzando tutte le metriche raccolte in un unico posto, Monitoraggio di Azure non è adatto a questo scopo.

Per risolvere questo problema, Microsoft offre lo strumento Power BI, un software completo per l'analisi aziendale che include la visualizzazione di un'ampia varietà di dati. Questo è un prodotto abbastanza costoso, il cui costo dipende dall'insieme di funzioni necessarie. Per impostazione predefinita, offre 48 tipi di dati da elaborare ed è collegato ad Azure SQL Data Warehouse, Azure Data Lake Storage, Azure Machine Learning Services e Azure Databricks. Utilizzando la scalabilità, puoi ricevere nuovi dati ogni 30 minuti. Questo potrebbe essere sufficiente o meno per le tue esigenze se hai bisogno di una visualizzazione del monitoraggio in tempo reale. In questo caso è consigliabile utilizzare applicazioni come Grafana di cui ho parlato. Inoltre, la documentazione Microsoft descrive la possibilità di inviare metriche, registri e tabelle di eventi utilizzando gli strumenti SIEM ai sistemi di visualizzazione Splunk, SumoLogic, ELK e radar IBM.

23:40 min

Continua molto presto...

Alcuni annunci 🙂

Grazie per stare con noi. Ti piacciono i nostri articoli? Vuoi vedere contenuti più interessanti? Sostienici effettuando un ordine o raccomandando agli amici, cloud VPS per sviluppatori da $ 4.99, un analogo unico dei server entry-level, che è stato inventato da noi per te: Tutta la verità su VPS (KVM) E5-2697 v3 (6 core) 10 GB DDR4 480 GB SSD 1 Gbps da $ 19 o come condividere un server? (disponibile con RAID1 e RAID10, fino a 24 core e fino a 40 GB DDR4).

Dell R730xd 2 volte più economico nel data center Equinix Tier IV ad Amsterdam? Solo qui 2 x Intel TetraDeca-Core Xeon 2x E5-2697v3 2.6GHz 14C 64GB DDR4 4x960GB SSD 1Gbps 100 TV da $199 In Olanda! Dell R420 - 2x E5-2430 2.2Ghz 6C 128GB DDR3 2x960GB SSD 1Gbps 100TB - da $99! Leggi Come costruire Infrastructure Corp. classe con l'utilizzo di server Dell R730xd E5-2650 v4 del valore di 9000 euro per un centesimo?

Fonte: habr.com

Aggiungi un commento