A volte la replica è ancora in corso. Lo stato del processo è verde. La destinazione è ancora disponibile. Ma il backlog sta crescendo.
L'obiettivo sta diventando sempre più obsoleto. E ogni minuto che passa, le opzioni di ripristino potrebbero diventare più limitate. La domanda non è semplicemente: "La replica è in esecuzione?", ma: "La replica è al passo con i tempi?" .
E se non lo è: "Quanto tempo abbiamo prima che questo diventi un problema di recupero?"
Il monitoraggio CDC più efficace non si limita a comunicare agli operatori se un processo è attivo o inattivo. Li aiuta a riconoscere quando una pipeline apparentemente sana si sta silenziosamente dirigendo verso una situazione da cui sarà più difficile riprendersi in seguito.
Un buon monitoraggio aiuta i team a rispondere a queste domande:
L'obiettivo non è prevedere ogni fallimento, ma individuare i problemi in fase iniziale con sufficiente anticipo da dare al team ancora delle alternative.
A seconda delle piattaforme di origine e di replica, un monitoraggio efficace del CDC può includere metriche e concetti quali ritardo di replica, crescita del backlog, ritardo di applicazione tra origine e destinazione, stato di riavvio, posizione del log, cronologia delle modifiche conservate, log archiviati, progressione RBA/LRSN, comportamento di recupero e esposizione dei dati a valle. La terminologia esatta varia, ma l'obiettivo è sempre lo stesso: capire se la replica sta tenendo il passo e se il ripristino rimane semplice in caso di peggioramento delle condizioni.
Una pipeline può essere in esecuzione mentre il ritardo aumenta, il backlog cresce e i dati a valle diventano obsoleti.
Le metriche esatte e le soglie di allerta dipendono dalla sorgente, dalla destinazione, dalla piattaforma di replica, dal carico di lavoro, dai requisiti di ripristino e dal caso d'uso successivo. Non esiste un numero universale di minuti, record o spazio di log che definisca un'emergenza CDC.
Una condotta può risultare "in funzione" pur essendo in procinto di presentare un problema di ripristino.
1. Il programma di sviluppo è in buone condizioni al momento?
Questa è la questione operativa immediata. Si tratta di replica:
Lo stato del processo è parte della risposta, ma non è la risposta completa.
2. Stiamo perdendo opzioni di recupero con l'aumentare del ritardo?
Questa è la domanda più difficile. Una pipeline può essere ancora attiva mentre:
La domanda più importante è: "Se la situazione dovesse peggiorare ulteriormente, saremmo ancora in grado di capire come riprenderci?"
Il ritardo di replica indica di quanto la destinazione è rimasta indietro rispetto all'attività corrente della sorgente. Tuttavia, un semplice numero non è sempre sufficiente. Un arretrato di 100.000 modifiche può essere irrilevante in un ambiente e significativo in un altro. Ciò che gli operatori devono generalmente comprendere è: "Che impatto ha questo ritardo in termini di tempo e di attività aziendale?".
Piattaforme diverse mostrano ritardi e progressi in modo differente. A seconda della sorgente, della destinazione e della tecnologia di replica, un monitoraggio utile può includere:
I nomi esatti delle metriche sono meno importanti della capacità degli operatori di rispondere:
Chiedere
Un obiettivo con un ritardo di cinque minuti può essere accettabile per un determinato carico di lavoro e inaccettabile per un altro. La metrica tecnica deve essere interpretata nel contesto dei dati utilizzati.
Il team operativo può affermare: "Siamo in ritardo di circa questa cifra, e questo è ciò che comporta per i sistemi che utilizzano i dati".
Non semplicemente: "L'attività è ancora in esecuzione".
La direzione del ritardo può essere importante tanto quanto la sua entità. Un gasdotto che è significativamente indietro ma che sta recuperando rapidamente rappresenta una situazione diversa da un gasdotto con un ritardo minore che sta perdendo terreno costantemente. Gli esperti spesso descrivono questa situazione in modo molto semplice: "Sta andando a fuoco?".
Chiedere
Laddove la piattaforma metta a disposizione metriche appropriate, il confronto tra le modifiche che entrano nel flusso di replica e quelle elaborate sul target può aiutare a capire se l'ambiente sta migliorando o peggiorando. Le misurazioni specifiche variano a seconda della piattaforma. Il principio è semplice: se il flusso di nuove attività continua ad aumentare più velocemente di quanto la pipeline riesca a elaborarle per un periodo prolungato, il backlog continuerà a crescere anche se il processo non si è interrotto.
Gli operatori possono distinguere rapidamente: rimanere indietro → mantenere un ritmo costante → recuperare
Il pannello di controllo indica il ritardo attuale, ma non se la situazione sta migliorando.
In alcuni ambienti CDC basati su log, il ripristino o il recupero possono dipendere dalla disponibilità della cronologia delle modifiche di origine. Ciò rende importante un'altra domanda: "Se dovessimo riprendere o recuperare da dove ci troviamo ora, le informazioni di cui abbiamo bisogno sarebbero ancora disponibili?"
A seconda della fonte e della piattaforma, tali informazioni possono includere:
Negli ambienti Db2 per z/OS, i team potrebbero imbattersi in coordinate di ripristino come:
Altre piattaforme utilizzano una terminologia diversa, ma la questione operativa rimane la stessa: "Possiamo ancora riprenderci dalla situazione attuale?"
Non sempre la risposta è semplice: "Ti restano quattro ore".
La guarigione può dipendere da molteplici fattori, tra cui:
Il principio di monitoraggio è: comprendere la relazione tra lo stato attuale della pipeline e le informazioni di origine da cui dipende il percorso di ripristino supportato.
Chiedere
La squadra sa da cosa dipende il recupero Prima un'interruzione impone la domanda.
NOTA: Un errore comune nella preparazione al ripristino del CDC: molti team monitorano il ritardo di replica ma non monitorano la cronologia di origine da cui dipende il loro processo di ripristino. Il ripristino spesso diventa più complicato non perché la replica si è interrotta, ma perché le informazioni necessarie per il ripristino non sono più disponibili.
Nessuno chiede se la cronologia delle origini dati richiesta sia disponibile finché la pipeline non si è fermata.
L'attività del mainframe non è costante. Il volume di registrazione e di modifiche può variare a seconda di:
Ciò significa che la quantità di attività della sorgente rappresentata da un determinato periodo di tempo può variare. Se i log archiviati o altra cronologia conservata fanno parte della strategia di ripristino, anche la loro disponibilità e il processo di recupero possono essere importanti. Evitate di basarvi esclusivamente su un'ipotesi statica come: "Normalmente abbiamo X ore di autonomia".
Una domanda più utile sarebbe: "Nelle condizioni attuali, da quali informazioni dipenderebbe il nostro percorso di ripresa supportato?"
Un processo può essere attivo anche senza che i dati progrediscano in modo significativo.
Ciò rende la prova di un'attività di elaborazione andata a buon fine un importante controllo di coerenza.
A seconda della piattaforma, i team possono prendere in considerazione:
Chiedere
Si è effettivamente verificato qualche progresso?
Poi:
Sta avanzando al ritmo che ci aspetteremmo da questa fonte e da questo carico di lavoro?
La risposta deve tenere conto del normale schema di attività del sistema.
Un ambiente transazionale ad alto volume può normalmente subire continue modifiche.
Un'altra fonte potrebbe avere periodi legittimi di scarsa o nulla attività.
Questo aiuta a identificare la situazione di disagio in cui:
"Dice che è in esecuzione, ma non si muove niente."
L'ambiente di monitoraggio aiuta a distinguere:
La sorgente è naturalmente silenziosa
da
La replicazione ha smesso di fare progressi.
L'unico controllo di integrità consiste nel verificare se il processo di replica è attivo.
Molti problemi dei CDC iniziano come problemi tecnici e in seguito si trasformano in problemi aziendali:
La sorgente potrebbe essere ancora funzionante. La destinazione potrebbe essere ancora disponibile. La replica potrebbe essere ancora in esecuzione. Ma report, dashboard, API, sistemi operativi e ambienti di analisi potrebbero già basarsi su dati sempre più obsoleti.
Questo crea una delle modalità di fallimento più pericolose per i CDC: gli schermi sono accesi, ma i dati diventano obsoleti.
Chiedere
Diverse cose molto diverse tra loro possono essere vere contemporaneamente:
Ciò può rendere più difficile rilevare l'esposizione a dati obsoleti rispetto a un'interruzione completa del servizio.
Il team può rispondere:
"Ecco quanto sono obsoleti i dati, questi sono i consumatori interessati e queste persone conoscono la situazione attuale."
Non ogni avvertimento corrisponde a una crisi.
Inoltre, ricevere notifiche per ogni singolo messaggio può generare un rumore di fondo tale da indurre gli operatori a perdere fiducia nel sistema di monitoraggio.
L'obiettivo è identificare gli eventi rilevanti nel proprio ambiente e interpretarli nel loro contesto.
I segnali utili possono includere
Un cambiamento nel comportamento di replicazione che coincide con:
potrebbe essere necessario interpretarlo in modo diverso rispetto a un evento di replicazione isolato.
Ciò non significa che l'evento di origine abbia necessariamente causato il problema del CDC.
Significa che gli operatori dovrebbero essere in grado di visualizzare un contesto sufficiente per indagare sulla relazione.
Il team sa:
Uno dei due estremi:
Ogni avvertimento sveglia qualcuno
or
Gli avvertimenti vengono ignorati fino all'arresto dell'oleodotto.
Quanto ritardo del CDC è eccessivo?
Non esiste una soglia universale che funzioni in tutti gli ambienti CDC dei mainframe.
Una soglia di allerta efficace dovrebbe riflettere fattori quali:
Invece di copiare una regola generica come:
"Avviso dopo 30 minuti di ritardo."
chiedere:
“A che punto questa condizione inizia a minacciare i requisiti di validità dei dati, operativi o di ripristino di cui disponiamo effettivamente?”
Quella è la soglia attorno alla quale vale la pena progettare.
Un avviso utile dovrebbe aiutare qualcuno a decidere cosa fare dopo.
Un modello semplice è il seguente:
Qualcosa si è spostato al di fuori dell'intervallo previsto dall'ambiente.
Alcuni esempi possono includere:
Il compito immediato è capire il perché.
La condizione sta influenzando in modo significativo un requisito operativo o aumentando la complessità del ripristino.
Le azioni possono includere:
Il problema ha superato le normali competenze operative del team tecnico o ha iniziato a influenzare decisioni più ampie in materia di business, rischi o servizi.
Ciò potrebbe richiedere il coinvolgimento di:
Le soglie saranno diverse.
Il percorso decisionale dovrebbe già esistere prima che venga attivato l'allarme.
Una dashboard di monitoraggio non è utile solo perché visualizza delle metriche. È utile perché aiuta gli operatori a prendere decisioni. Provate questo test: un operatore normale riuscirebbe a rispondere alle seguenti cinque domande in meno di due minuti senza dover contattare uno specialista della piattaforma?
Ciò è in linea con le linee guida operative più ampie di Google Site Reliability Engineering, che considerano il monitoraggio come un modo per valutare lo stato di salute del servizio, diagnosticare i problemi, identificare le tendenze e confrontare il comportamento nel tempo, non semplicemente per raccogliere o visualizzare metriche.*
1. Quanto siamo indietro?
L'operatore è in grado di identificare il ritardo o l'arretrato attuale?
2. La situazione sta migliorando o peggiorando?
Sono in grado di stabilire se l'arretrato sta aumentando, rimanendo stabile o diminuendo rapidamente?
3. L'elaborazione è effettivamente in corso?
Possono identificare le attività recenti che hanno avuto successo, invece di affidarsi a uno stato generico "In esecuzione"?
4. Se questo evento dovesse richiedere un intervento di recupero, comprendiamo da cosa dipende tale recupero?
Sono in grado di determinare quali informazioni storiche, statali o di altro tipo sarebbero rilevanti?
5. Chi è già stato colpito?
Sono in grado di identificare quali sistemi o team a valle potrebbero basarsi su dati obsoleti?
Se l'operatore non è in grado di rispondere a queste cinque domande in circa due minuti, chiedi:
La persona che interviene sul luogo dell'incidente deve essere in grado di comprendere la situazione con sufficiente rapidità per poter agire.
Per una pipeline di importanza operativa, un monitoraggio che può essere interpretato solo da uno specialista di piattaforma non è sufficiente.
Come fai a sapere se il CDC sta effettivamente recuperando il ritardo? Il monitoraggio non si interrompe una volta che il processo riprende. Durante il recupero, chiediti:
La distinzione fondamentale è:
correre di nuovo
rapporto
raggiunto
rapporto
recuperato e convalidato.
Non si tratta necessariamente dello stesso stato.
I modelli di carico di lavoro dei mainframe possono cambiare l'aspetto della "normalità".
Gli ambienti mainframe spesso presentano periodi di funzionamento distinti:
Un ritardo che risulta normale in un determinato periodo può segnalare un problema in un altro.
Evitate di definire "sano" basandovi su un singolo valore medio.
Monitorare la pipeline nel contesto del carico di lavoro che supporta.
Quando il sistema di monitoraggio rileva un problema: qual è la prima cosa da fare?
Il monitoraggio offre ai team qualcosa che, prima o poi, manca a ogni sforzo di recupero: il tempo.
Quanto prima si individua un problema in fase iniziale, tanto maggiori saranno le opzioni di recupero disponibili.
Conferma cosa sta effettivamente accadendo
La condizione è transitoria o persistente?
In quale punto del percorso di replica il processo rallenta o si arresta?
Stabilire la tempistica
Da quanto tempo si verifica questo problema?
Quando è stata confermata l'ultima attività andata a buon fine?
Comprendere l'arretrato
Quanto sei indietro?
Sta crescendo o bruciando?
Identificare l'esposizione a valle
Chi sta già puntando su questo obiettivo?
Devono sapere che i dati potrebbero essere obsoleti?
Preservare lo stato attuale
Prima di apportare modifiche sostanziali, è importante acquisire informazioni rilevanti su stato, errori, timestamp, diagnostica e altri elementi di prova.
Decidere se si tratta ancora di una questione di monitoraggio o se è diventata una decisione di recupero.
Se la condotta si ferma o le condizioni si deteriorano a tal punto da rendere necessarie azioni di recupero, è preferibile adottare un processo di recupero strutturato piuttosto che improvvisare.
Il ritardo di per sé non significa che i dati siano andati persi.
Un arretrato in aumento non significa automaticamente che sarà necessario un riavvio completo.
Ma il ritardo potrebbe trasformarsi in un problema di recupero quando il team non è in grado di rispondere con sicurezza a domande come:
A quel punto, la domanda utile cambia da:
"La replica è in esecuzione?"
A:
"Sappiamo ancora come potremmo riprenderci dalla situazione attuale?"
Rocket Data Replicate & Sync (RDRS) offre funzionalità di monitoraggio operativo e diagnostica che possono aiutare i team a comprendere lo stato degli ambienti di replica supportati.
La convalida tecnica di RDRS identifica le seguenti capacità:
Le metriche esatte visualizzate dall'operatore, le coordinate di riavvio, gli avvisi e il comportamento di monitoraggio possono variare in base a origine, destinazione, versione, topologia e configurazione.
I team che valutano RDRS dovrebbero quindi chiedere a Rocket di dimostrare l'esperienza di monitoraggio nel loro specifico ambiente.
Tra le domande utili figurano:
Le affermazioni relative all'impatto sulla produzione dovrebbero essere valutate anche utilizzando dati specifici per ciascuna fonte, sia in condizioni di carico di lavoro normale che di recupero.
Lo standard utile non è:
"Il sistema RDRS è monitorato?"
È:
"Il nostro operatore abituale è in grado di capire cosa sta succedendo con sufficiente rapidità da poter prendere la decisione giusta?"
Prima di affidarsi a una pipeline CDC su mainframe per dati importanti da elaborare a valle, chiedetevi:
Se diverse risposte sono negative, è possibile che tu disponga di dati di monitoraggio.
Potresti non avere ancora una visibilità operativa sufficiente.
La maggior parte dei problemi di ripresa del CDC non inizia con un'interruzione completa. Iniziano con un flusso di lavoro in ritardo, un arretrato che nessuno ha spiegato e un obiettivo che diventa sempre più obsoleto mentre il processo appare ancora in buone condizioni.
Un buon monitoraggio aiuta i team a rispondere a queste domande:
L'obiettivo non è raccogliere più dati statistici.
Si tratta di individuare un problema in fase di sviluppo con sufficiente anticipo da consentire agli operatori di intervenire quando il ripristino è ancora semplice.
Se la pipeline si interrompe, o il ritardo è tale da richiedere un intervento di ripristino, è necessario passare dalla fase di monitoraggio a una decisione strutturata in merito al ripristino.
Prima di riavviare una pipeline CDC fallita: 7 domande a cui rispondere
Analizza nel dettaglio il punto in cui la replica si è interrotta, dove può riprendere, cosa è successo durante l'interruzione, se potrebbe essere necessario un recupero o una risincronizzazione più ampia e come dimostrerai in seguito che il sistema di destinazione è affidabile.
Prima di riavviare, sai cosa ha causato l'errore?
L'errore più pericoloso nel recupero del CDC si verifica dopo il fallimento
La pipeline è di nuovo in funzione. Ci si può fidare dei dati?
Quando un problema di ripristino del CDC si trasforma in un problema della piattaforma?
Come si fa a sapere se le richieste di rimborso di un fornitore del CDC saranno fondate?
Come elaborare un business case per gli investimenti del CDC per la ripresa
