GithubHelp home page GithubHelp logo

08-metrics-micrometer's Introduction

Metrics med Spring Boot og CloudWatch

I denne øvingen skal dere bli kjent med hvordan man instrumenterer en Spring Boot applikasjon med Metrics. Vi skal bruke rammeverket Micrometer som er integrert i Spring Boot. Vi skal også se på hvordan vi kan visualisere Metrics i AWS CloudWatch.

Bruk tid på å legge til, fjerne eller endre på koden som lager metrics, og se hvordan dette påvirker dataene og verdiene i CloudWatch.

Koden i dette repositoriet eksponerer et undepunkt på http://localhost:8080/account - følgende funksjonalitet er implementert

  • Lage ny konto POST path = "/account
  • Info om konto GET path = "/account/{accountId}
  • Oveføre penger POST path = "/account/{fromAccount}/transfer/{toAccount}

_ Transfer-endepunktet krever ikke at det eksisterer en konto fra før- men vil opprette både til- og fra konto hvis de ikke eksisterer, så det er veldig bra for testing_

Payload for Overføringer , fromCountry og toCountry er valgfritt og default verdi er "NO"

{
    "fromCountry" : "SE",
    "toCountry" : "US",
    "amount" : 500
}

Vi skal gjøre denne øvingen på egen maskin- ikke i Cloud 9

Derfor trenger du et IDE for Java , feks IntelliJ og AWS CLI på maskinen din

Konfigurere AWS CLI

Logg inn i AWS kontoen vår som vanlig, finn din bruker og lag AccessKeys til din IAM bruker.

Kjør

aws configure

Start Spring Boot appen

Du må endre på klassen MetricsConfig og bruke ditt egent studentnavn istedet for glennbech i kodeblokken

 return new CloudWatchConfig() {
        private Map<String, String> configuration = Map.of(
                "cloudwatch.namespace", "glennbech",
                "cloudwatch.step", Duration.ofSeconds(5).toString());
        
        ....
    };

Start applikasjonen fra terminal, eller fra IntelliJ/IDE

mvn spring-boot:run

Sjekk at det kommer data i CloudWatch

Spring Boot vil eksponere en god del metrics til CloudWatch automatisk, blant annet fra JVM, Spring web mm.

Alt text

  • Åpne AWS UI, og tjenesten CloudWatch. Velg "Metrics".

  • Søk på ditt eget studentnavn som "NameSpace"

  • Du vil se at du allerede har noe metrics registert hvis du har startet appen riktig

  • fra Spring boot Web under (exception, method, outcome, status, uri)

  • RAM og Garbage Collection Metrics under Area

  • Tråder under State

Bruk Postman, Curl eller annen API klient til å gjøre operasjoner mot APIet. Sjekk i CloudWatch at du får data.

  • Velg de metrikkene du vil se på en graf, ved å søke eller navigere.
  • Velg fanan "Graphed metrics" - du får da dataene opp i graf form.
  • Du må deretter velge riktig statistiske funksjon for metrikken basert på hva slags data det er.

Legg til mer Metrics i applikasjonen din med MicroMeter

Nyttig informasjon;

08-metrics-micrometer's People

Contributors

glennbech avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.