Comparació de les eines d’anàlisi i supervisió de l’API de codi obert

Bloc

Comparació de les eines d’anàlisi i supervisió de l’API de codi obert

Per a qualsevol empresa amb primera API, la implementació de la plataforma d’anàlisi d’API adequada és fonamental per fer un seguiment de la utilització de les vostres API i descobrir qualsevol problema funcional o de rendiment que pugui afectar els clients. Hi ha una gran varietat de projectes de codi obert que podeu aprofitar per crear una plataforma d’anàlisi d’API completa.

Abans de començar a crear una solució d’anàlisi d’API, heu d’enumerar primer els vostres requisits i casos d’ús. No totes les eines admeten directament tots els casos d’ús i poden requerir una gran inversió en desenvolupament i integració.

Requisits de compilació d’anàlisi d’API

Necessitat de respondre a preguntes d’enginyeria o empreses

Els enginyers solen recórrer a mètriques i registres d’API per entendre què passa amb les seves API, inspeccionar les càrregues útils i afrontar els problemes relacionats amb els seus serveis. Registre d'API en temps real Les capacitats són imprescindibles per als enginyers que vulguin dependre de la seva solució d’anàlisi d’API per apagar els incendis (esperem que siguin pocs) a causa d’una interrupció de l’API o d’un problema de fiabilitat. Com que el registre en temps real pot augmentar el cost de càlcul i emmagatzematge, no tota la infraestructura analítica manté una canalització en temps real. D’altra banda, només calen les dades més recents per respondre els problemes d’enginyeria contra incendis, de manera que les dades poden ser-ho jubilat després d'un període curt de temps, com ara després de 24 hores.

codi html per al rellotge i la data digitals

Els líders en enginyeria i productes prenen decisions estratègiques basades en línies, no en punts. Les preguntes empresarials es responen a partir de les tendències històriques de les dades, que poden ser al llarg de mesos o fins i tot anys. Això vol dir que la vostra compilació d’anàlisi d’API hauria de ser capaç d’emmagatzemar dades durant períodes de retenció llargs, com ara per diversos anys. Això també requereix una infraestructura que pugui agrupar i comprimir les vostres dades, ja que emmagatzemar i executar agregacions en registres d'esdeveniments sense processar dificultarà la vostra infraestructura analítica.

Alerta i supervisió en temps real?

Tot i que construir quadres de comandament i llançar-los en un monitor pot ser una manera excel·lent de supervisar les mètriques, encara requereix comprovar-los manualment periòdicament. Per ser més proactius, moltes versions d’anàlisi d’API també tenen algun tipus de funcions de supervisió i d’alerta. Aquests poden variar des d'alertes simples basades en llindars que envien un correu electrònic quan una mètrica assoleix un valor determinat, fins a regles de complexitat i fluxos de treball que poden realitzar agregacions complexes en temps real i enrutar alertes a plataformes de resposta a incidents com PagerDuty i BigPanda.

Alguns equips orientats als clients, com ara les relacions amb els desenvolupadors i l'èxit dels clients, poden voler crear fluxos de treball automatitzats per notificar als clients o als grups d'interès interns específics basats en fluxos de comportament dels usuaris complexos.

Accediu a les dades des de qualsevol lloc versus accés controlat

El món post-COVID ha accelerat el canvi cap a la feina des de casa. Això vol dir que és possible que els usuaris interns de la vostra compilació d’analítica d’API hagin d’accedir a mètriques a les xarxes domèstiques o sobre la marxa sense VPN. Posar restriccions de seguretat innecessàries per accedir a les dades de l’API pot limitar el valor que les vostres analítiques d’API proporcionen a la vostra empresa o fins i tot pot tornar enrere creant hàbits dolents com ara compartir contrasenyes o exportar grans quantitats de dades a un dispositiu personal en lloc d’utilitzar l’analítica API va ser dissenyat.

D’altra banda, proporcionar analítiques d’API d’autoservei des de qualsevol lloc també significa tenir un fort control de seguretat i accés. Si creieu que el control d’accés empresarial típic, com ara l’inici de sessió únic i el control d’accés basat en funcions, pot ser necessari en el futur, hauríeu de planificar la vostra compilació d’analítica d’API en conseqüència, encara que no sigui necessària immediatament. Eliminar i canviar el disseny d’autenticació i autorització no és una tasca fàcil i pot obligar a una reescriptura completa. No voleu que us enxampin i que sigueu l’enginyer que no hagi presagiat les típiques millores futures.

Flexibilitat de visualitzacions

Tot i que la majoria de plataformes d’anàlisi poden mostrar dades d’esdeveniments o representar mètriques bàsiques d’un valor únic al llarg del temps, la vostra plataforma també es pot utilitzar per a anàlisis més avançades i especialitzades, com ara anàlisi de l'embut de conversió o anàlisi de retenció de cohorts. Aquestes són consultes habituals utilitzades per funcions empresarials com ara els equips de màrqueting i creixement, però poques vegades les utilitzen els mateixos desenvolupadors. Tot i això, construir un embut de conversió pot suposar un desafiament si no s’utilitzava el model de dades adequat.

Moltes vegades no coneixeu el tipus de consultes que cal mostrar, però heu de triar un projecte que permeti flexibilitat tant en el model de dades com en la capa de visualització.

Comparació

Hi ha una gran varietat de projectes d’anàlisi i supervisió de codi obert. Alguns es centren en el seguiment de mètriques d'infraestructura com Kibana i Grafana. Mentre que altres se centren més en les analítiques web com Matomo (també conegut com Piwik). Tot i que cap d'aquests està dissenyat per a productes API, podeu desenvolupar codi personalitzat per compondre alguns components per crear una plataforma d'anàlisi API de codi obert

Kibana

Kibana és una de les eines de visualització de registres de codi obert de facto per als enginyers. Forma part de la pila oficial ELK (Elasticsearch Logstash Kibana), que la converteix en una de les eines de visualització més ràpides per posar-se en marxa gràcies a la seva estreta integració amb Elasticsearch en relació amb eines com Grafana que són molt més complexes de configurar. Elasticsearch en si és molt adequat per a dades de registre d’alta cardinalitat i alta dimensió, que són imprescindibles per als registres d’API. L’inconvenient és que ho és Kibana només compatible amb Elasticsearch. Si voleu visualitzar les dades emmagatzemades en una base de dades SQL o en un altre magatzem de dades, haureu de buscar en un altre lloc.

com calcular les relacions en excel

Tot i que és ràpid de configurar, Kibana també és bastant limitat en els tipus de visualitzacions i flexibilitat admesos. El cas d’ús principal de Kibana és proporcionar cerques de registres i anàlisi de llum sobre dades brutes d’esdeveniments en lloc d’oferir una autèntica eina de control de l’API. Per a casos d’ús de depuració, pot ser suficient, però Kibana no pot realitzar mètriques comercials populars, com els embuts de conversió i l’anàlisi de retenció, limitant la seva aplicació fora dels equips d’enginyeria.

Kibana i Elasticsearch estan dissenyats per combinar-se amb una instància de Logstash que us permet dissenyar una canalització de registre per processar i enriquir registres d'API, com ara normalitzar capçaleres HTTP o afegir informació de geo IP a cada trucada d'API. Recordeu que Logstash no pot realitzar agregacions en diversos esdeveniments alhora. Aquest processament requereix un marc de computació de clúster separat per a operacions de reducció de mapes com Spark o Hadoop.

Kibana està dissenyat per a casos d’ús en què voleu explorar les vostres dades d’una manera ad hoc en lloc de crear un tauler de control diari. Podeu aprofitar la sintaxi de consulta DSL o Lucene de la consulta Elasticsearch per proporcionar una gran flexibilitat, però sí que tenen una corba d’aprenentatge pronunciada.

Per defecte, Kibana és purament una eina de visualització que significa que les coses com l'alerta, la detecció d'anomalies i l'autenticació estan separades. Això significa que qualsevol persona que tingui accés al vostre punt final de Kibana pot accedir a les vostres dades, de manera que no les haureu de fer públiques.

Tot i això, podeu comprar i instal·lar Elasticsearch X-Pack per obtenir algunes funcions de control juntament amb el control d’accés.

Grafana

A diferència de Kibana que se centra en la cerca de registres, Grafana se centra en mètriques basades en sèries temporals. Podeu visualitzar dades en diverses bases de dades, incloses Elasticsearch, InfluxDb, OpenTSDB, Graphite i Prometheus. Grafana fa una cosa i una cosa molt bé: visualitzar mètriques de sèries temporals emmagatzemades en una base de dades amb bells taulers. Això deixa a vosaltres tota la resta, inclosa la configuració de la font de dades i el processament de les dades en una mètrica de sèries temporals que Grafana pot mostrar.

En comparació amb Kibana, Grafana només funciona amb dades de sèries temporals ja emmagatzemades en una base de dades i no té cap cerca de registres en temps real ni una manera de navegar o explorar les vostres dades brutes de manera ad hoc. El cas d’ús principal de Grafana és dissenyar un quadre de comandament per controlar regularment mètriques de sèries temporals, com ara en un televisor de l’oficina. Per exemple, és possible que vulgueu mostrar la utilització del disc, l'IPC del sistema i les sol·licituds per minut per als vostres servidors. Grafana té moltes opcions per mostrar les vostres mètriques de la manera que vulgueu, com ara mostrar capacitat d’emmagatzematge mitjançant unitats de base 2 i mètriques basades en percentils.

A causa de la seva arquitectura basada en sèries temporals, l’aplicació de Grafana per a anàlisis d’alta dimensió i cardinalitat en les trucades d’API és limitada. En lloc d’això, heu de dedicar temps a decidir exactament quines mètriques específiques de la sèrie temporal voleu fer un seguiment previ i modelar les vostres dades en conseqüència. Això també limita el cas d’ús de Grafna per a l’exploració de dades d’autoservei que els usuaris empresarials poden buscar on voleu segmentar amb diversos agrupa per o correlacionar diverses dimensions a les vostres dades.

En comparació amb Kibana, Grafana és coneguda pel suport integrat per a l'autenticació i el control d'accés. També podeu connectar la vostra instància de Grafana a un servidor LDAP (Lightweight Directory Access Protocol) extern o servidor SQL per controlar millor l’accés en una configuració empresarial.

També podeu connectar Grafana a una plataforma de resposta a incidents com PagerDuty per crear i activar alertes des de la vostra instància de Grafana. Tingueu en compte que aquestes alertes es limiten a les mateixes mètriques de sèries temporals que ja esteu supervisant a Grafana.

Grafana té un producte separat anomenat Loiki, que proporciona algunes de les característiques d’exploració de registres que té Kibana.

#kibana #logstash #grafana #api best practice #api monitoring #elasticseach #jaeger #jaeger tracing #api logs #kibana tutorial

tutorial de detecció d'objectes keras

dzone.com

Comparació de les eines d’anàlisi i supervisió de l’API de codi obert

Hi ha una gran varietat de projectes de codi obert que podeu aprofitar per crear una plataforma d’anàlisi d’API completa. Aquest article els compara.