Cloud

Ottieni i log e le metriche delle tue app in cache con prestazioni elevate!

Log Cache è un aggregatore di log che ti permette di filtrare e interrogare i log e le metriche delle app tramite un plugin CLI o endpoint API con prestazioni migliori rispetto al passato. Inoltre, i log e le metriche delle app nella cache sono disponibili su richiesta, senza doverli trasmettere continuamente. Per capirlo, diamo un'occhiata alla storia dello streaming dei log in Cloud Foundry.

Attualmente ci sono diversi errori che si verificano quando si recuperano i dati di log e metriche. Diamo un'occhiata all'architettura attuale.

Ogni volta che esegui "cf push", "cf app" o "cf logs", viene inviata una richiesta al controllore del traffico, che deve cercare in ogni singola istanza Doppler e compilare i log e le metriche che ti interessano. Naturalmente, questa architettura comporta problemi di prestazioni in un ambiente in crescita. Ecco perché abbiamo bisogno della cache dei log!

La cache dei log è un componente installato sui server Doppler che duplica e archivia le informazioni provenienti dall'aggregatore di log. A differenza del flusso di dati Firehose, che viene costantemente svuotato per fare spazio ai nuovi messaggi, la cache dei log memorizza i dati dell'aggregatore di log in modo che possano essere recuperati quando necessario. Si può accedere alla cache dei log tramite il plugin CF CLI o tramite l'interfaccia RESTful.

Nella cache dei registri sono disponibili le seguenti metriche:

  • cpu (per cento)
  • Disco (byte)
  • disk_quota (Bytes)
  • Memoria (byte)
  • quota_di_memoria (byte)

Interrogare la cache dei log con la cf-CLI

Se utilizzi il plugin per la cache dei log come qui https://github.com/cloudfoundry/log-cache-cli(apre una nuova finestra) puoi utilizzare il seguente comando CF CLI per accedere ai log e alle metriche:

$ cf tail

"my-app" può essere sia l'app-guid che il nome dell'app.

Questa query restituirebbe un insieme di metriche con timestamp come il seguente:

Per impostazione predefinita, cf tail restituisce i 10 messaggi più recenti. Ogni messaggio contiene le seguenti informazioni:

  • Un timbro temporale
  • L'applicazione o il componente di origine
  • Il tipo di evento o di busta
  • Il contenuto del messaggio

Ci sono diversi flag che puoi inserire in cf tail per focalizzare le tue ricerche:

Interrogare la cache dei log tramite l'interfaccia RESTful

Per interrogare la cache dei log in modo programmatico, puoi effettuare delle chiamate API al suo endpoint RESTful:

https://log-cache./api/v1/read/

Devi specificare un token di autorizzazione UAA, che puoi ottenere tramite la cf CLI con il comando "cf oauth-token" o tramite l'API:

curl -v -XPOST -H "Application/json" -u "cf:" -data "username=&password=&client_id=cf&grant_type=password&response_type=token" https://login.lyra-836.appcloud.swisscom.com/oauth/token

Hai anche la possibilità di specificare dei parametri all'interno dell'API:

curl -s -H “Authorization: Bearer xxxxx” ‘https://log-cache.lyra-836.appcloud.swisscom.com/api/v1/read/?envelope_types=GAUGE&limit=1’ | jq.

Sii intelligente e passa a Log Cache per ottenere le metriche e i log della tua applicazione!

Andrea Aymon

Andrea Aymon

Cloud Engineer

Altri articoli getIT

Pronti per Swisscom

Trova il posto di lavoro o il percorso di carriera che fa per te. Dove dare il tuo contributo e crescere professionalmente.

Ciò che tu fai, è ciò che siamo.

Vai ai percorsi di carriera

Vai alle posizioni vacanti cibersicurezza