Dag 1: Installasjon og oppsett av logstash, elasticsearch & kibana

Etter tips fra prosjektleder i UH-sky prosjektet er et av monitoreringsverktøyene jeg har valgt å se på logstash. Et  kraftig  verktøy som brukes til å håndtere hendelser og logger.

logstash

Logstash samler inn logger fra ulike kilder, parser loggene og lagrer de til senere bruk.  Når man installerer logstash kommer det også med et webinterface der man kan søke etter hendelsene i loggfilene og visualisere dette slik man ønsker. Dette for å kunne kartlegge feil, se endringer i systemer over tid, sette sammen data som har påvirkning på herandre osv. Logstash er et åpent kildekodeverktøy og er lisensiert under Apache 2.0.

OpenStack er et komplekst rammeverk som består av mange tjenester. Hver tjeneste har sitt eget bruksområde og sitt eget API. Det er mye informasjon som til daglig vil være spredt rundt om i  systemet. Dette gjør det viktig å samle all loggdata på et samlet sted slik at det blir enklere å hente ut den informasjonen vi trenger for å sørge for at rammeverket til enhver tid fungerer som det skal. Logstash er veldig egnet til dette formålet. I logstash.conf kan vi tagge innkommende logger og videre kan det så kjøres filter basert på disse taggene for å hente ut den spesifikke informasjonen vi vil ha tak i. For eksempel tjenestenavn, diskbruk, antall påloggingsforsøk, brukere, IP adresser,  nettleser osv. Alt av informasjon som finnes i en loggfil kan ekstraheres, lagres og videresendes til en eller annen form for visualisering.

Jeg har til nå arbeidet med en kodebase som jeg forket på github som installerer disse tre verktøyene som nevnt i overskriften. Videre har jeg tenkt å integrere denne mot winch slik at den passer øvrig prosjektstruktur. Under følger et bilde av hvordan visualiseringen av loggdataene ser ut.

kibana4-visualisering

 

 

Dag 0: Oppsummering

Denne bloggposten er en oppsummering av arbeidet som har blitt gjort før forprosjektet i bacheloroppgaven har kommet i gang.

I henhold til problemstillingen skal jeg «kartlegge forskjellige monitoreringsverktøy og teste bruken av disse». Dette er arbeid som jeg har kommet godt i gang og jeg har fått tilegnet med rimelig god oversikt over forskjellige verktøy som eksisterer for bruk i OpenStack per i dag. Videre skal jeg også «belyse fordeler og ulemper med forskjellige overvåkningsverktøy. Hva passer best til vårt bruk? Er noen verktøy bedre for sky enn for tradisjonell bruk?»
Så langt kan jeg se klare fordeler med enkelte verktøy som jeg linket til tidligere. Verktøene er godt vedlikeholdte, populære og de er alle av åpen kildekode. Sistnevnte punkt tillater meg i aller største grad å spesialtilpasse verktøyene til mitt formål. Jeg har muligheten til å få ut den informasjonen som er av relevans for å kunne identifisere og løse problemer som oppstår. I tillegg til at jeg veldig enkelt kan tagge informasjon som ikke er av relevans som unødvendig slik at dette ikke overskygger faktiske problemer som eventuelt kan forekomme.

Dette har gjort jobben med å finne et verktøy som passer problembeskrivelsen noe enklere. Det er ikke alle verktøy en vil ha mulighet til å spesialtilpasse i så stor grad, og disse verktøyene vil naturligvis bli valgt bort.

Jeg også fått tildelt en egen blade server der uttestingen av forskjellige monitoreringsverktøy skal foregå. Blade serveren har betydelige ressurser som er i stand til å simulere et OpenStack miljø i mye større grad enn det arbeidsstasjonen min til nå har hatt mulighet for. Dette gjør testingen av potensielle verktøy enklere i tillegg til at dataene jeg kommer til å teste med blir mest mulig reelle.

 

2015-02-24 13.13.52

2015-02-24 13.13.37

 

Prosjektbeskrivelse bacheloroppgave

Etter høstens utplassering har jeg fått lov til å skrive bacheloroppgaven min her på IT-avdelingen. I denne sammenhengen publiserer jeg prosjektbeskrivelsen i sin helhet som omhandler monitorering av OpenStack ved UiB. Jeg har også laget en ny side på bloggen øverst til høyre som alltid linker til prosjektbeskrivelsen.

Prosjektbeskrivelse bachelorprosjekt.

Til nå har prosjektet kommet i gang og jeg har såvidt begynt å se på forskjellige løsninger i henhold til problemstillingen som kan brukes til å monitorere OpenStack. Videre vil jeg følge fremdriftsplanen i prosjektbeskrivelsen. Noen verktøy jeg så langt har fått kikket på:

  • Icinga (basert på Nagios)
  • Logstash
  • Elasticsearch / Kibana
  • Monasca
  • Ceilometer / graphite

Denne bloggen har tidligere vært brukt i utplasseringsfaget DAT156 og har hatt en bloggpost for hver dag. Bloggen vil nå bli brukt til bachelorprosjektet som varer frem til juni 2015. Og vil følge samme oppsett med en bloggpost for hver dag. Neste blogginnlegg vil begynne på dag 0 som oppsummerer arbeidet med oppgaven så langt.

Dag 30: Monitorering av OpenStack ved hjelp av Icinga

Monitorering er et stort og viktig tema innenfor OpenStack og det finnes mange forskjellige verktøy som kan benyttes. Jeg har så vidt begynt å kikke på Icinga.

Icinga kan vise seg å være et nyttig verktøy for monitorering av OpenStack. Verktøyet er i utgangspunktet basert på Nagios, derfor kan mange av tilleggene som var skrevet for Nagios brukes direkte i Icinga. For eksempel har Stackforge en rekke scripts som kan brukes for å overvåke rene OpenStack tjenester.

Samtidig har utviklerne bak Icinga støtte for å installere verktøyet ved hjelp av puppet moduler, og tilbyr også vagrant bokser til testformål. Siden resten av IaaS plattformen gjør dette per dags dato er Icinga absolutt interessant å ha med videre som et aktuelt verktøy.

Dag 28: Bacheloroppgave ved UIB

Dette semesteret har gitt meg god innsikt i OpenStack og de forskjellige komponentene rammeverket består av.  Siden jeg skal skrive bacheloroppgaven min til neste år har jeg i denne sammenhengen fått lov til å skrive den her ved UIB.

Jeg arbeider for tiden med prosjektbeskrivelse til bachelorprosjektet. Innledning, teori og metode er deler som foreløpig er ferdig i prosjektbeskrivelsen, mens det fortsatt gjenstår noen deler på problemstillingen. Jeg ønsker å ha en problemstilling som går ut på monitorering av OpenStack. Dette er et stort og viktig tema der jeg har muligheten til å gå i dybden av komponentene og finne ut hva tjenester som er kritiske å overvåke kontra tjenester som ikke er det.

Jeg vil ha mulighet til å teste ulike monitoreringsverktøy og kartlegge bruken av disse. Det vil være nyttig å finne ut av fordeler og ulemper med enkelte verktøy og gjøre en vurdering på hvilke verktøy som vil være hensiktsmessig å bruke i skysammenheng. I tillegg vil jeg også se på eventuelle etiske spørsmål og personvernspørsmål i forbindelse med overvåkning av OpenStack.

Fullført prosjektbeskrivelse vil bli publisert her på bloggen når den er klar.