Un DevOps adevărat nu are încredere în pagina de status a nimănui

O poveste DevOps adevărată despre cum o intervenție fără probleme îți distruge infrastructura și serviciile.

26 Jun, 2022

Era o oarecare dimineață minunată dintr-o oarecare zi de muncă, păsărelele ciripeau, notificările clipoceau liniștit, discuțiile mondene cu colegii erau în toi prin indiferent ce unealtă de conversație online (Slack, Discord, s.a.m.d.). Nimic nu anunța furtuna ce avea să vina până când...

Când lucrurile merg prost undeva, au tendința să meargă prost oriunde. Legile lui Murphy

...până când au explodat toate alertele posibile și imposibile prin Zabbix, dintre toate cea mai terifiantă era ES: Service is down.

Băieții au înghițit greu ultima gură de cafea sau ceai de coacăze și au sărit pe problemă. Eu nefiind un DevOps pur-sânge m-am ocupat de investigații suplimentare, plus dat o mână de ajutor la chestiuni mai triviale gen activat/dezactivat prin Zabbix.

Încă nu știam niciunul din noi ce urmează, până la urmă, din când în când (rar) mai pică 1-2 minute o instanță de Elasticsearch (chiar toată mașina), dar își revine rapid și clusterul de 20 de mașini rezistă, inclusiv dependințele.

Problema acum era că picaseră 8 sau 25% din cluster și toată producția era pe sistem "alles kaput" - No route to host sau Network is unreacheble.

Investigația mea

În timp ce băieții se luptau eroic pe baricade încercând să învie mortul, eu căutam criminalul:

  • Cele 8 servere erau aceleași care de multe luni prezentau o problemă ”Connection lost” pentru 1-2 minute după care își reveneau
  • Toate erau amplasate în același rack din data centru, nu avem aici niciun control
  • Pagina de status live a firmei de hosting arăta frumos, totul perfect - monitorizarea (presupune conexiune publică deschisă) era oprită de noi
  • Pagina cu intervențiile de mentenață arăta cum că au în curs o operațiune dar care era notată cu Impact servicii: Niciunul
  • Email de la hosting referitor la posibile întreruperi nu am primit
  • Am trimis un ticket la suport precizând problema, au răspuns rapid și am stabilit că pot să investigheze imediat (ASAP)
  • Și am așteptat răspunsul la investigația lor...

Restul echipei a muncit ore bune până seara târziu, rezolvarea problemei a fost să pornească rapid vreo 2 servere ce le aveam de rezervă și să comande alte 4 inițial. Și cu asta, după instalare, configurare, realocat sharduri etc.. clusterul nostru era din nou cât de cât funcțional.

Investigația providerului

Au trecut 5 zile și nimic despre investigație de la provider. Până azi când am primit un mesaj automat:

  • Confirmăm problema ca fiind rezolvată - serios?!?
  • Refuzăm și cerem investigații suplimentare - evident am ales varianta asta

În nici o oră a venit și răspunsul prin care am fost anunțati că serverele (rack-ul) respectiv(e) a fost influențat de fix intervenția lor unde susțineau că Impact servicii: Niciunul.

Concluzie și un sfat

Nu mai cred în pagini de status live, în intervenții de tip "am modificat pe ici, pe colo, prin locurile neesențiale".

Dacă lucrezi cu clustere de servere (bare-metal), încearcă pe cât posibil să le ai distribuite unifor în rack-uri diverse.

Notă

Da, suntem de ceva vreme în plin proces de migrare de la acest provider, așa că sper să vină vremuri mai liniștite. Deocamdată nu are rost să dau nume exacte, e unul global mare, etc etc.