Dag 2: Integrering av logstash i «winch»

Under utplasseringen var jeg med på å lage et automatisk oppsett som installerte OpenStack og tilhørende komponenter. Dette ble gjort ufifra et prosjekt på github som het winch. Som jeg tok opp i min forrige bloggpost ønsker jeg å samle alle OpenStack loggene på en og samme maskin. Derfor her jeg laget en ny branch i winch som inkluderer en monitoreringsnode. Denne noden vil være ansvarlig for alt som skjer med tanke på logginnsamling, parsing og visualisering av informasjon. Da er det viktig at verktøyene som skal gjøre dette blir installert på samme måte som tidligere, ved hjelp av puppetmoduler.  Da kan vi sette en ønsket tilstand og si at den nye noden skal være en monitoreringsnode.

Arbeidet med å puppetifisere alle verktøyene er kommet godt i gang. Har laget en manifest fil for logstash som kan sees her. Denne vil benytte seg av puppet modulene lokalisert i puppet/modules og installere verktøyene med konfigurasjonsfiler spesifisert i manifestet. Det som gjenstår for at integreringen skal være komplett er å legge til de puppetmodulene jeg trenger. Disse er submoduler og blir derfor lagt til annerledes. Mer om dette i neste bloggpost.

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 19: Persistent montering av /vagrant/ mappe og netforward

Som tidligere nevnt har det vært problemer ved bruk av vagrant at vi mister /vagrant mappen på manager maskinen. I denne mappen ligger det en del script for å installere og konfigurere Foreman og puppet. Da er det veldig viktig at montering av denne mappen fungerer i alle tilfeller der vi trenger den.

Ved bruk av vagrant har dette vist seg å være vanskelig. Etter en oppdatering av maskinen eller en restart utenfor vagrant miljøet blir man tvunget til å kjøre kompilering av virtualbox addons og kjernemoduler for å få monteringen opp igjen. Dette krever mye manuelt arbeid og det ville vært lettere å automatisert prosessen. Derfor har jeg laget et script som ordner dette. I tillegg til å montere mappen kjører den også netforward på manager maskinen. Denne har tidligere falt ut når manager har blitt startet om utenfor vagrant og er kritisk for at Foreman fungerer slik vi vil.

Scriptet kan sees i sin helhet på github.

Dag 2: OpenStack from scratch

7. august gikk med til å utføre en OpenStack installasjon fra scratch. Denne installasjonen gir et godt inntrykk av hva komponenter OpenStack består av og hvordan disse skal fungere sammen i en komplett installasjon.

Vi støtte på litt problemer etter installasjonen av OpenStack from scratch. Noe av hovedfunksjonaliteten i systemet er å kunne lage og bygge instanser av maskiner som skal kjøre i et driftsmiljø. Denne biten feilet og vi har startet feilsøking av hva som kan ha gått galt. Dette er noe vi kommer til å fortsette med i morgen.

OpenStack from scratch er et github prosjekt som er blitt laget i forbindelse med prosjektet jeg er med i på UIB.  Hele prosjektet ligger åpent på github -> https://github.com/norcams/ofs

Før jeg begynner å gå inn i detaljer om OpenStack, vil det være greit for leserne å vite litt om bakgrunnen til programvaren og hva den brukes til. Velger i denne sammenhengen å vise til Wikipedia artikkelen som jeg syns har oppsummert dette ganske bra, samt at den forklarer bruken til hver av komponentene.

OpenStack