Les 7 eines per al maneig de logs (registres) que tot desenvolupador Java ha de conèixer

Splunk vs. Summe Logic vs. LogStash vs. GrayLog vs. Loggly vs. PaperTrails vs. Splunk > Storm

Splunk, Summe Logic, LogStash, GrayLog, Loggly, PaperTrails … Em vaig oblidar d’alguna? Estic segur que si. Els logs són com els combustibles fòssils: hem desitjat desfer-nos d’ells durant 20 anys, però encara no ho hem aconseguit. Bé, si aquest és el cas, jo vull un BMW! A Al llarg dels últims anys, s’ha creat un munt d’eines per a l’anàlisi i maneig de logs, en un intent per ajudar les operacions i els desenvolupadors a entendre enmig de la creixent quantitat d’informació dels logs. Per tant, vaig pensar que seria interessant analitzar quines opcions tenim i veure quins són els punts forts de cada eina, des de la perspectiva d’un desenvolupador.

Splunk

Ja que és l’eina més gran en aquest camp, vaig decidir col·locar a Splunk en la seva pròpia categoria. Això no vol dir que sigui la millor eina per al que tu necessites, però sí que mereix el reconeixement per ser un producte que, bàsicament, va crear una nova categoria.

Pros

Splunk és , probablement, la solució més rica en funcionalitats en aquest camp. Compta amb centenars d’aplicacions (jo vaig explicar 537) per entendre gairebé qualsevol format d’informació de log, des de la seguretat fins a la intel·ligència analítica empresarial (comunament coneguda com a business analytics), passant pel monitoratge de la infraestructura. Les eines de recerca i gràfics de Splunk són tan riques en funcionalitats que probablement no hi ha cap conjunt de dades a què no puguis accedir a través de la seva interfície d’usuari o de les seves API.

Contres

Splunk té, principalment, dos aspectes negatius. El primer, que és més aviat subjectiu, és que es tracta d’una solució en lloc (on-premissa), la qual cosa implica una configuració que resulta costosa tant pel que monetari com per la seva complexitat. Per implementar-ho en un entorn d’alta escala, caldrà instal·lar i configurar un clúster dedicat. Com a desenvolupador, això no és el que freqüentment podries o voldries fer, al menys no com la primera opció.
La segona contra de Splunk és que és car. Per suportar una aplicació de la vida real, desenes de milers de dòlars seran necessàries, amb la qual cosa segurament et caldrà signatures d’alts rangs de la teva organització i el procés serà tediós. Si tens una nova aplicació i vols alguna cosa àgil, on puguis arrencar ràpidament i fer ajustos ràpids en la mesura que les coses avancen, millor segueix llegint.
Pots llegir sobre algunes altres eines d’anàlisi de logs empresarials aquí.

Eines SaaS d’anàlisi de logs

Summe Logic

Summe va ser fundada com una versió SaaS (programari com a servei, en el núvol) de Splunk, i va ser tan lluny en això que fins i tot va imitar algunes de les funcionalitats i visualitzacions de Splunk en les etapes més primerenques. Ara que això està clar, la veritat és que SL ha madurat i derivat en una autèntica solució per al maneig de logs empresarials.

Pros

SL està ple de funcionalitats per reduir, buscar i graficar enormes quantitats de dades. Entre totes les eines d’anàlisi de logs SaaS, probablement és la més rica en possibilitats. Així mateix, el que sigui un servei ofert en el núvol, implica una configuració i operació més senzilla. Un dels principals punts forts de Summe Logic rau en la possibilitat de determinar punts de referència i notificar-se de manera activa quan estadístiques clau canvien després cert esdeveniment, com ara la presentació d’una nova versió o un intent de traspàs.

Contres

Aquesta és compartida per totes les eines d’anàlisi de logs SaaS, i és que cal portar les dades a l’servei perquè sigui possible fer alguna cosa amb ells. Això es tradueix en potencials GBs (o més encara) de dades pujant des dels teus servidors. Això pot generar problemàtiques en diversos fronts:

  1. Com a desenvolupador, si registres alguna informació sensible o dades personals, caldrà que t’asseguris que estiguin classificats.
  2. Hi pot haver un lag (retard) entre el moment que les dades són registrats el moment en què es fan visibles per al servei.
  3. Hi ha un overhead addicional amb els teus màquines transmetent gigabytes de dades, la qual cosa en definitiva depèn de l’rendiment de les teves registres.

Els preus de Summe, així mateix, no són d’el tot transparents, la qual cosa vol dir que has d’estar preparat per enfrontar-te a un procés de compra més complex que simplement passar la targeta de crèdit del teu equip i llest.
Actualització: Acabo de rebre unes línies de Brandon, de l’equip de Summe Logic, per aclarir-nos que pots adquirir el producte usant la targeta de crèdit des de dins de la versió Free. No serà tan senzill com fer-ho des del lloc web, però sí molt semblant.

Loggly

Loggly és una altra robusta eina per a l’anàlisi dels logs, enfocada en la simplicitat i la facilitat d’ús per a un públic devops.

Loggly

Pros

Mentre que Summe Logic està fortament orientada a la seguretat al sector corporatiu, Loggly va ser creada pensant més en ajudar els devops a trobar i resoldre problemes operacionals. Això la fa molt amigable per als desenvolupadors. Tasques com la creació d’un exercici personalitzat i panells d’administració devops són summament fàcils de realitzar. Els preus són transparents, la qual cosa facilita els primers passos amb ella.

Contres

No esperis que Loggly escali fins a esdevenir una solució d’infraestructura avançada, seguretat o anàlisi. Si necessites monitoratge d’infraestructures o forenses, ets al lloc equivocat. Aquesta és una eina útil principalment perquè els devops puguin realitzar anàlisis sintàctiques a les dades que vinguin dels servidors de les teves aplicacions. Si necessites qualsevol altra cosa, hauràs desenvolupar-la tu mateix.

PaperTrails

PaperTrails és una forma simple de fer cerques i consultes en els logs des de diverses màquines, en una interfície sòlida i fàcil de utilitzar. Pots pensar en ella com en un seguiment de les teves logs en el núvol, en el qual mai quedaràs lluny.

PaperTrails

Pros

PT és el que és. Una manera simple de veure arxius de log des de múltiples màquines en una vista singular en el núvol. L’experiència d’usuari (UX) en si mateixa és molt similar a registre en la teva màquina, i el mateix passa amb les ordres de cerca. Apunta a ser una cosa senzilla i útil, i ho aconsegueix amb elegància. A més, és molt accessible.

Contres

PT és, essencialment, una aplicació de text. Si busques alguna capacitat predictiva o possibilitats d’informes o d’integracions avançades, estàs mirant en la direcció equivocada.

Splunk > Storm

Aquest és el germà menor (adoptiu, dirien alguns) Saas de Splunk. Ofereix una cosa molt similar però allotjat en els servidors de Splunk.

Pros

Storm et permet experimentar amb Splunk sense necessitat d’instal·lar el programari en lloc, i inclou diverses de les funcionalitats ofertes a la versió completa.

Contres

Ja que aquesta no és una oferta comercial, la quantitat de dades que pots enviar és limitada. S’assembla més a una versió limitada de Splunk en línia, pensada per permetre a la gent que pugui provar el producte sense haver de realitzar cap implementació. Un nou servei anomenat, Splunk Cloud, està dissenyat per oferir una experiència Splunk SaaS en totes les seves dimensions.

Eines d’anàlisi de codi obert

Logstash

Logstash és una eina de codi obert per a la recol·lecció i el maneig dels arxius de logs. És part d’un conjunt de solucions (stack) de codi obert que també conté a ElasticSearch per a la indexació i la recerca a través de la informació, així com també Kibana per graficar i visualitzar les dades. Tots ells junts conformen una solució de maneig de logs molt potent.
Logstash

Pros

El fet que sigui una solució de codi obert implica que, naturalment, tu pots mantenir un molt bon control, així com que s’ofereix a un molt bon preu. Logstash fa servir tres components madurs i potents -tots els quals reben un fort manteniment- que creen un paquet molt robust i extensible. Per ser una solució de codi obert, francament, és bastant fàcil d’instal·lar i començar a utilitzar. Nosaltres fem servir Logstash i la adorem.

Contres

Ja que Logstash és, bàsicament, un conjunt de solucions, això vol dir que en realitat estàs tractant amb tres productes diferents. Per aquesta raó, l’extensibilitat és també més complexa. Els filtres de Logstash estan escrits en Ruby, Kibana consisteix en Javascript pur, mentre que ElasticSearch té la seva pròpia API REST, així com plantilles JSON.
Així mateix, quan passis a la producció, hauràs de separar els tres a diferents màquines, la qual cosa torna les coses encara més complexes.

Graylog2

Un jugador relativament nou en aquest camp, GL2 és una eina d’anàlisi de logs de codi obert recolzada per MongoDB, així com també per ElasticSearch (a l’igual que amb Logstash) pensada per a l’emmagatzematge i la recerca a través d’errors de registre. Se centra primordialment en donar un cop de mà als desenvolupadors per detectar i solucionar els errors en les seves aplicacions.
Dins d’aquesta categoria, també pots trobar a fluentd i Kafka, el qual posseeix com un dels seus principals casos d’ús l’emmagatzematge de dades de registre. Uff! … Quantes opcions!

Si bé aquest article no es tracta sobre OverOps, penso que una de les seves funcionalitats pot resultar-te rellevant per tot això que venim parlant.
La major desavantatge que totes les eines d’anàlisi de logs i tots els arxius log en general comparteixen, radica que les dades correctes han de primerament ser dipositats allà per tu. Des del punt de vista d’un desenvolupador, això implica que si una excepció no queda registrada en el registre, o si les dades de la variable que necessites entendre per què va passar no hi són, no hi ha en aquest món cap arxiu de registre ni eina de anàlisi que pugui ajudar-te. La depuració en producció és del pitjor 🙁
Una de les coses que hem afegit a OverOps és la capacitat de saltar directe des d’un error en un arxiu de registre a una sessió de depuració registrada. Això vol dir que, per a cada error de log, pots veure l’autèntic codi font, així com els valors de variable, en el mateix moment de l’error. Pots esbrinar més sobre això aquí.
Aquest és un article en què m’agradaria escoltar les seves experiències amb algunes de les eines esmentades (i també amb les que no ho van ser). Estic segur que hi haurà aspectes en què no tots estaran d’acord i altres en què alguns vulguin corregir-me, així que endavant, a la secció de comentaris que apareix més avall poden fer-ho. M’encantaria saber què pensen.

Deixa un comentari

L'adreça electrònica no es publicarà. Els camps necessaris estan marcats amb *