Opcions d'impressió

Mida
Compacta · 9 pt Normal · 10,5 pt Gran · 12,5 pt
Els meus apunts
No imprimir-los Incloure'ls a cada paràgraf

El navegador numera les pàgines des del seu propi quadre d'imprimir: activa-ho allà si les vols.

Els requadres grisos només surten si deixes marcada la casella «Gràfics de fons» del quadre d'imprimir.

opos

Plataforma d'observabilitat

Plataforma d'observabilitat

Abast decidit per nosaltres: l'enunciat oficial no acota la matèria

Enunciat oficial. Plataforma d'Observabilitat: Components, característiques i reptes d'implantació.


1. Concepte

Observabilitat: capacitat de deduir l'estat intern d'un sistema a partir de les seves sortides externes. El terme prové de la teoria de control: un sistema és observable si es pot determinar el seu estat intern observant-ne les sortides.

Observabilitat ≠ monitoratge, i és la distinció que més cau:

Monitoratge Observabilitat
Pregunta funciona? per què no funciona?
Enfocament comprovar condicions conegudes: llindars i comprovacions definits per endavant explorar el sistema per respondre preguntes que no s'havien previst
Tipus de problema «known unknowns» — sé què pot fallar «unknown unknowns» — no sé què buscar
Model reactiu, basat en alertes exploratori, basat en dades riques i correlacionades
Dades mètriques predefinides mètriques, registres i traces d'alta cardinalitat i correlacionats

L'observabilitat inclou el monitoratge: no el substitueix. Un sistema observable permet seguir fent monitoratge, però també investigar sense haver de desplegar codi nou per obtenir informació.


2. Els tres pilars

L'observabilitat es construeix sobre tres tipus de telemetria —els tres pilars— que responen a preguntes diferents i no se substitueixen entre si: amb només un dels tres, hi ha vigilància, no diagnòstic.

Pilar Què és Respon a
Mètriques (metrics) valors numèrics agregats en el temps: comptadors, mesuradors (gauges), histogrames, resums què està passant i quant
Registres (logs) esdeveniments discrets amb marca de temps, idealment estructurats en JSON (JavaScript Object Notation) i amb context què ha passat exactament
Traces (traces) seguiment d'una petició a través de tots els serveis que travessa, formada per spans amb relació pare-fill on s'ha gastat el temps i quin servei ha fallat

Cada pilar té un cost i una precisió diferents: les mètriques són barates i agregades, els registres són cars i literals, i les traces són les úniques que reconstrueixen el camí d'una petició concreta. Sovint s'hi afegeixen dos senyals més: els perfils (profiling) —consum de CPU (Central Processing Unit) i memòria per funció, que OpenTelemetry està normalitzant com a quart senyal— i els esdeveniments de negoci.

El que fa útil la plataforma no són els tres pilars per separat, sinó la seva correlació: poder saltar d'un pic d'una mètrica a les traces d'aquell moment i, d'allà, als registres del span concret. Sense correlació hi ha tres eines, no una plataforma d'observabilitat.


3. Components d'una plataforma d'observabilitat

Una plataforma d'observabilitat és una cadena: la telemetria es genera al codi, viatja fins a un magatzem i acaba en una pantalla o en una alerta. Cada baula té productes propis, i el disseny consisteix a triar-los de manera que el pas següent segueixi podent correlacionar.

Components d'una plataforma d'observabilitatSis etapes en cadena. Res del que no s'ha instrumentat es pot consultar després, i és per això que la primera etapa decideix el sostre de totes les altres.Alerta i respostaConsulta i visualitzacióEmmagatzematgeInstrumentacióProcessamentRecol·lecció

  1. Instrumentació: codi i agents que generen la telemetria. Pot ser manual (biblioteques al codi), automàtica (agents que injecten instrumentació sense tocar el codi) o eBPF (extended Berkeley Packet Filter, a nivell de nucli, sense agent ni canvis al codi). S'hi afegeixen el monitoratge d'usuari real —telemetria del navegador de qui fa servir el servei— i el monitoratge sintètic, que simula transaccions des de fora per detectar caigudes abans que hi hagi cap usuari.
  2. Recol·lecció i transport: agents i col·lectors (OpenTelemetry Collector, Fluent Bit, Vector, Logstash, Beats), amb buffering i reintent. La recollida pot ser per extracció (pull: el sistema va a buscar les dades, com fa Prometheus) o per empenta (push: l'aplicació les envia).
  3. Processament: enriquiment amb metadades, normalització, mostreig (sampling), filtratge, agregació i correlació mitjançant identificadors comuns (trace id, span id).
  4. Emmagatzematge: bases de dades de sèries temporals per a mètriques (Prometheus, VictoriaMetrics, InfluxDB, Mimir), índexs de text per a registres (Elasticsearch/OpenSearch, Loki), i magatzems de traces (Tempo, Jaeger).
  5. Consulta i visualització: llenguatges de consulta —PromQL i LogQL (Prometheus i Loki), KQL (Kusto Query Language, Microsoft) i SPL (Search Processing Language, Splunk)— i quadres de comandament (Grafana, Kibana).
  6. Alerta i resposta: motor de regles, deduplicació, agrupació, encaminament i guàrdies (Alertmanager, PagerDuty, Opsgenie), i integració amb la gestió d'incidents.
  7. Capa d'anàlisi avançada: AIOps — detecció d'anomalies, correlació automàtica, agrupació d'alertes i anàlisi de causa arrel assistida.
  8. Govern: retenció, control d'accés, anonimització i control de costos.

OpenTelemetry (OTel): projecte de la CNCF (Cloud Native Computing Foundation) que estandarditza la generació, recol·lecció i exportació de mètriques, registres i traces. És agnòstic de proveïdor: instrumentes un cop i pots canviar de rerefons. Ha absorbit OpenTracing i OpenCensus i és avui l'estàndard de facto. Adoptar OTel és la manera d'evitar el bloqueig de proveïdor en observabilitat.


3.1 SNMP, el protocol clàssic de gestió de xarxa

SNMP (Simple Network Management Protocol) és el protocol estàndard de gestió d'elements de xarxa —encaminadors, commutadors, tallafocs—, anterior a l'observabilitat moderna i encara vigent quan aquests dispositius no exposen telemetria d'OpenTelemetry. Intercanvia informació entre un gestor —el NMS (Network Management System), a la solució d'administració de xarxa— i un agent a cada dispositiu.

L'agent exposa les seves variables en una MIB (Management Information Base), una estructura jeràrquica on cada valor té un OID (Object Identifier) únic; la MIB-II en normalitza els objectes bàsics comuns a qualsevol dispositiu. Tres operacions bàsiques: GET (el gestor llegeix un valor), SET (el gestor el modifica) i TRAP (l'agent notifica un esdeveniment sense que li ho demanin — monitoratge passiu).

SNMPv1 i v2c autentiquen amb una community string que viatja en clar; SNMPv3 hi afegeix autenticació i xifratge, i és l'única versió recomanable en producció.


3.2 Alertes i correlació d'esdeveniments

Una regla d'alerta és una condició sobre una consulta mantinguda un temps mínim: no salta al primer pic, sinó quan la condició persisteix. Sobre això, la plataforma ha de reduir el soroll abans de despertar ningú:

La correlació d'esdeveniments és el pas que agrupa esdeveniments relacionats per topologia (quins components depenen de quins), per temps (què ha passat en la mateixa finestra) i per identificador (mateixa petició, mateix servei), i decideix quin d'ells és la causa i quins són conseqüència. És el que evita que una sola caiguda generi centenars d'alarmes; AIOps hi afegeix detecció d'anomalies sense llindar fix i suggeriment de causa arrel.

Sobre què s'alerta: sobre símptomes visibles per l'usuari —latència, errors— i sobre el ritme de consum (burn rate) del pressupost d'error, no sobre llindars de components («CPU > 80 %»), que salten sovint sense que ningú noti res.

Frontera. La pràctica de gestió d'esdeveniments d'ITIL (Information Technology Infrastructure Library) —què és un esdeveniment, els tipus informatiu, advertència i excepció, i els eixos actiu/passiu i reactiu/proactiu— es desenvolupa al tema 18. Aquí hi ha la plataforma tècnica que els genera i els correlaciona.


4. Característiques d'una plataforma d'observabilitat

Aquestes són les propietats que ha de tenir una plataforma perquè sigui d'observabilitat i no un conjunt d'eines de monitoratge. Les tres primeres són les que marquen la diferència; la resta són exigències d'explotació que decideixen si la plataforma és sostenible.

  1. Unificació dels tres pilars en un sol producte: mètriques, registres i traces al mateix lloc, amb el mateix model d'accés i el mateix vocabulari d'etiquetes.
  2. Correlació per identificadors comuns: trace id i span id a les traces, exemplars que enllacen una mètrica amb una traça concreta, i camps estructurats als registres. És el que permet la navegació guiada —de la gràfica a la traça i d'aquesta al registre— sense canviar d'eina.
  3. Alta cardinalitat i alta dimensionalitat: poder etiquetar la telemetria amb identificador d'usuari, de petició, de versió o de client i segmentar-hi després. La cardinalitat és el nombre de valors diferents que pot prendre una etiqueta; l'observabilitat en necessita molta i és justament el que dispara el cost. És la tensió central del disseny.
  4. Consulta exploratòria ad hoc: es poden fer preguntes que no s'havien previst, sense definir una mètrica nova ni desplegar codi.
  5. Temps real: ingesta i consulta amb latència de segons, perquè serveixi durant l'incident i no només per a l'anàlisi posterior.
  6. Instrumentació estàndard i agnòstica de proveïdor: OpenTelemetry i convencions semàntiques comunes d'atributs.
  7. Descobriment automàtic de serveis, de dependències i del mapa de serveis, generat a partir de les traces i no d'un inventari mantingut a mà.
  8. Escalabilitat elàstica i multi-inquilí: una sola plataforma per a moltes àrees, amb aïllament de dades, de permisos i de quotes entre elles.
  9. Retenció per capes i control del cost: dades detallades poc temps, agregades molt temps, i cost visible per equip.
  10. Alertes basades en objectius de servei i integrades amb la gestió d'incidents, en lloc de llindars per component.
  11. Govern de les dades: control d'accés per rol, anonimització del que pugui ser dada personal i traçabilitat de qui consulta què.

5. Arquitectura per a microserveis

En una arquitectura de microserveis, l'observabilitat escalable requereix:


6. Eines de visualització

Grafana és l'eina de referència per visualitzar mètriques, registres i traces en temps real en entorns d'observabilitat: és de codi obert, agnòstica de font de dades i s'integra amb Prometheus, Loki, Tempo, Elasticsearch, InfluxDB i desenes més. Alternatives: Kibana (per a l'Elastic Stack), Chronograf i les consoles pròpies dels productes comercials.

Un quadre de comandament tècnic útil no és una paret de gràfiques: porta les senyals daurades de cada servei, un panell d'estat dels objectius de servei amb el pressupost d'error consumit, el mapa de serveis, i enllaços de baixada que porten de la gràfica a la traça i d'aquesta al registre. Les variables de quadre —entorn, servei, versió— eviten haver de mantenir un panell per equip.

Piles habituals:

Pila Components
LGTM (Loki, Grafana, Tempo, Mimir) Loki (logs), Grafana (visualització), Tempo (traces), Mimir (mètriques)
Prometheus + Grafana mètriques + alertes + visualització
ELK (Elasticsearch, Logstash, Kibana) Elastic Stack: Elasticsearch, Logstash/Beats, Kibana, i APM (Application Performance Monitoring)
Comercials Dynatrace, Datadog, New Relic, Instana (IBM), Splunk Observability, Elastic Observability, Grafana Cloud, AppDynamics
Traçat Jaeger, Zipkin, Tempo

Plataforma d'observabilitat o eina de monitoratge? Són plataformes d'observabilitat en sentit ple Dynatrace, Datadog, New Relic, Instana (IBM), Splunk Observability, Elastic Observability i Grafana Cloud. Són eines de monitoratge clàssic —comproven disponibilitat i llindars de components, sovint per SNMP o amb agent, i no correlacionen els tres pilars— Nagios, Icinga, Zabbix, Checkmk, Centreon, PRTG (Paessler Router Traffic Grapher), Cacti, LibreNMS i SolarWinds. I no són ni una cosa ni l'altra Ansible o Jenkins, que són d'automatització i integració contínua.

El criteri no és la marca sinó la capacitat: diversos fabricants de monitoratge clàssic venen avui línies pròpies d'«observabilitat», i el que decideix és si el producte correlaciona els tres pilars o només vigila llindars.

Substituir una plataforma de monitorització comercial per codi obert al núvol. Quan el contracte d'administració i manteniment de la plataforma actual de monitorització està proper a finalitzar i es considera que els seus costos econòmics no compensen el rendiment que proporciona, l'opció que cal plantejar als caps és establir una solució similar de monitorització al núvol, on els costos són inferiors i l'administració és més àgil. La solució de codi obert que pot cobrir aquesta necessitat és la pila Prometheus + Grafana: Prometheus per a la recol·lecció i l'emmagatzematge de mètriques, i Grafana com a plataforma de visualització que crea panells combinant les mètriques recollides a diverses fonts en un sol quadre de comandament. Aquesta és la formulació literal que ha caigut, i la resposta són aquestes dues eines.


7. Beneficis


8. Reptes d'implantació

  1. Volum i cost: la telemetria creix més de pressa que el negoci. Cal mostreig, retencions per capes, agregació i control actiu de la cardinalitat. El cost de l'observabilitat pot superar el de la infraestructura observada si no es governa.
  2. Instrumentació del programari heretat: aplicacions antigues sense instrumentació ni codi disponible; solucions parcials amb agents, eBPF o intermediaris.
  3. Heterogeneïtat: entorns híbrids amb mainframe, màquines virtuals, contenidors i SaaS, cadascun amb els seus formats.
  4. Estandardització: sense convencions comunes de noms, etiquetes i identificadors, la correlació no funciona. És més un problema de govern que tècnic.
  5. Fatiga d'alertes: alertes no accionables, duplicades o sense propietari fan que s'ignorin. Cal alertar sobre símptomes visibles per l'usuari i basar-se en objectius de servei, no en llindars de components.
  6. Cultura i competències: l'observabilitat exigeix que els equips de desenvolupament instrumentin el seu codi i mirin les dades. Sense això, la plataforma queda com una eina d'operacions.
  7. Privadesa i seguretat: els registres i les traces poden contenir dades personals; cal minimització, emmascarament i control d'accés conforme al RGPD, art. 5 i a l'ENS, amb polítiques de retenció alineades.
  8. Bloqueig de proveïdor: la instrumentació propietària dificulta el canvi. La mitigació és OpenTelemetry.
  9. Governança del cicle de vida: qui crea els quadres de comandament, qui els manté, qui esborra els obsolets.
  10. Impacte de la instrumentació: agents i mostreig consumeixen CPU, memòria i xarxa del sistema observat; una plataforma mal dimensionada degrada allò que havia de vigilar.

9. Observabilitat i SRE

L'enginyeria de fiabilitat del servei —SRE (Site Reliability Engineering), formulada per Google— gestiona la fiabilitat amb mètodes d'enginyeria en comptes de per criteri. Fixa objectius mesurables sobre el servei i decideix amb dades quan cal deixar de desplegar canvis i posar-se a estabilitzar. És el vocabulari que millor connecta l'observabilitat amb la gestió de serveis, perquè és el que converteix la telemetria en un criteri de decisió.

SLI ≠ SLO ≠ SLA: l'SLI és la mesura, l'SLO l'objectiu intern i l'SLA el compromís extern. L'SLO s'ha de fixar sempre més exigent que l'SLA, perquè és el marge que avisa abans d'incomplir el contracte.

SRE ≠ DevOps: DevOps enuncia què cal aconseguir —unir desenvolupament i operació—; SRE és una manera concreta i mesurable de fer-ho, amb l'SLO i el pressupost d'error com a mecanisme d'arbitratge entre canviar i estabilitzar.


Claus d'examen


Per recordar

Fonts d'aquest tema