Innhold Forord...3 Begreper og akronymer...4 Systembeskrivelse...5 Generelt...5 Funksjonelle krav...7 Ikke-Funksjonelle krav...9 Prioritering...



Like dokumenter
Forord. Brukerveiledning

Forord. Javaprogrammering Database Overvåking / Statistikk JSP / Java web teknologi

Kravspesifikasjon Innholdsfortegnelse

1 Inledning. 1.1 Presentasjon. Tittel Informasjonsplattform for NorgesGruppen. Oppgave Utvikle en informasjonsplattform for butikkene i NorgesGruppen

Kapittel 1. Datamaskiner og programmeringsspråk. 1.1 Programmering

Testrapport. periode noe som er et godt tegn i et operativsystem, gruppen har derfor ikke klart å konstruere en slik situasjon for testing.

Hovedprosjekt våren 2007

Del VII: Kravspesifikasjon

3. Kravspesifikasjon. Experior - rich test editor for FitNesse -

Jon Hammeren Nilsson, Anders Emil Rønning, Lars Grini og Erling Fjelstad

Generelt om operativsystemer

Testsituasjon Resultat Kommentar. Fungerer som det skal!

Funksjonskravene er delt opp i to deler, krav til spillsekvens og generelle funksjonskrav.

PUNKT TIL PUNKT-KOBLING KOBLING. Versjon 10/10. Hvordan kobler jeg controlleren til en pc 1

Produktdokumentasjon. Madison Møbler Administrasjonsside og Nettbutikk

Oblig 4 (av 4) INF1000, høsten 2012 Værdata, leveres innen 9. nov. kl

KRAVSPESIFIKASJON. Tittel: Pris++ Oppgave: Utvikle en Android applikasjon med tilhørende databasesystem. Periode: 1. Januar til 11. Juni.

Kom i gang med programmering i Java

4.5 Kravspesifikasjon

Obligatorisk oppgave nr. 3 (av 4) i INF1000, våren 2006

Oblig 5 Webutvikling. Av Thomas Gitlevaag

Installasjonsveiledning

FRC-Feeder-E. Et sikkert og raskt verktøy for overføring av data til File Record Converter Versjon 1.9

Produktrapport. Produktrapport. Hjelpemiddel portal for Parkinsonforbundet

Gruppe 43. Hoved-Prosjekt Forprosjekt

PowerOffice Server Service

For kunder som kjører Huldt & Lillevik Reise 1.3 på Access database

Produksjonssettingsrapport

Kravspesifikasjon Hovedprosjekt ved Høgskolen i Oslo Våren 2008

Håndtering av minne i et OS

Stikkord: Java EE, EJB, JSF, JPA, SWT, klient/tjener, Glassfish server, Application Client.

Antall sider:5 (Inkludert denne) Alle skrevne og trykte hjelpemidler samt kalkulator

Produktrapport Gruppe 9

Velkommen som ny bruker av Uni Økonomi!

Manual for å oppgrade TS 1000 fra:

Innstallasjon og oppsett av Wordpress

Forprosjekt Hovedprosjekt ved Høgskolen i Oslo Våren 2008

2 Om statiske variable/konstanter og statiske metoder.

Forord. Produktrapport

1. Programmering: Hva og hvorfor? Scratch fra scratch Enkel programmering for nybegynnere

Kravspesifikasjon. Android app for aktivering av jakt- og fiskekort. Bacheloroppgave vår Høgskolen i Oslo og Akershus. Charlotte Sjøthun s180495

Tildeling av minne til prosesser

Kravspesifikasjon MetaView

Socket og ServerSocket

Huldt & Lillevik Lønn og Personal - System 4. Oppdatering. Personec AS. Veiledningen er oppdatert pr

Din verktøykasse for anbud og prosjekt

INF1010 Arv. Marit Nybakken 2. februar 2004

Kravspesifikasjon. Vedlegg A

Endret litt som ukeoppgave i INF1010 våren 2004

Prosessrapport Prosjekt nr SSP Installasjon AS. Dato: 25.mai 2007 Antall sider: 11 Intern veileder: Kjetil Grønning. Kontaktperson: Kai Evjen

Brukermanual for Quizbuilder

VEDLEGG 1 KRAVSPESIFIKASJON

Installasjonsveiledning

Kravspesifikasjon. Forord

Litt om Javas class-filer og byte-kode

Dokumentasjon av Installasjon

Kravspesifikasjon. Forord

Operativsystemer og grensesnitt

Installasjonsveiledning PowerOffice SQL

TDT4102 Prosedyreog objektorientert programmering Vår 2016

Installasjon enbruker

Publisering av statiske og dynamiske websider til klasserom.net fra Dreamweaver og MySQL

Litt om dette dokumentet

Øving 0 - Xcode TDT4102

Use Case Modeller. Administrator og standardbruker

Del 1: Overgang fra gammel hjemmeside til ny hjemmeside

Velkommen til Pressis.

Verktøy for boligkartlegging

Introduksjon til programmering og programmeringsspråk. Henrik Lieng Høgskolen i Oslo og Akershus

Granitt Grafisk AS Kravspesifikasjon Gruppenr:

Java fra Eclipse til Evalanche

Hva er programmering?

1 Forord. Kravspesifikasjon

Brukerveiledning Visma Bizweb i Visma Global

Hvordan komme i gang med Elektroniske skattekort i InfoEasy

PowerOffice Mobile Server

Automatisering av datasenteret

Systemutvikling (Software Engineering) TDT 4110 IT Grunnkurs Professor Guttorm Sindre

Lab 1: Installasjon av Virtualiseringsløsning (VMWare Server ESXi 6.5) med en Virtuell Linux maskin (Cent OS 7 64-bit)

Installasjonsveiledning Visma Avendo, versjon 5.2

Installasjonsmanual for 1 st part TAPI

Mangelen på Internett adresser.

KRAVSPESIFIKASJON DAGSPLANAPPLIKASJON FOR NETTBRETT. Gruppe 28 Hovedprosjekt våren 2015

TDT4105 Informasjonsteknologi, grunnkurs (ITGK)

D: Ingen trykte eller håndskrevne hjelpemiddel tillatt. Bestemt, enkel kalkulator tillatt.

Testrapport Prosjekt nr Det Norske Veritas

Innledende Analyse Del 1.2

UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet

Forprosjektrapport. Presentasjon. Sammendrag. Tittel Informasjonsplatform for NorgesGruppen

Kunden er en av Norges ledende leverandører av digital-tv og bredbåndstjenester.

DDS-CAD 7 INSTALLASJON AV NETTVERKSLÅS. DATA DESIGN SYSTEM ASA Øksnevad Næringspark, 4353 Klepp st., fax , tel.: , e-post: dds@dds.

Kravspesifikasjon. 1. Innledning. Presentasjon. Innledning. Om bedriften. Bakgrunn for prosjektet

RUTEPLANLEGGINGSSYSTEM BRUKERVEILEDNING

Forprosjektrapport. Presentasjon. Studentgruppen. Bekk Consulting AS. Android app for aktivering av jakt- og fiskekort

Oppgradering av Handyman til siste tilgjengelige versjon

Hvordan sende lønnsslipper pr. e-post til de ansatte direkte fra HogiaLønn

GruNot '95. Notatsystem for gruppeterapi. Versjon

Operativsystemer og nettverk Løsningsforslag til eksamen Oppgave 1. a) Linux-kommando: java Beregn & b) Shellprogram:

Kravspesifikasjon. IT-infrastruktur. Kravspesifikasjon. Høgskolen i Oslo. Avdeling for Ingeniører. 23. mai 2008

Releaseskriv versjon Vedr. INSTALLASJONSPROSEDYRER. Versjon Pr. 30. MARS 2012 Copyright. Daldata Bergen AS

Transkript:

Innhold Forord...3 Begreper og akronymer...4 Systembeskrivelse...5 Generelt...5 Funksjonelle krav...7 Ikke-Funksjonelle krav...9 Prioritering...9 2

Forord Denne kravspesifikasjonen har blitt utviklet i samarbeid med Redpill Linpro AS(heretter referert til som oppdragsgiveren ), diskusjoner i gruppen, og veileder har også hatt en betydelig rolle. Oppdragsgiver har hatt generelle ønsker som gruppen har jobbet videre med og utvidet. Dette på grunn av at gruppen først måtte gjøre en undersøkelse over hva de er selv i stand til og hva teknologien tillater dem å utføre. Dokumentet har vært en pekepinn på hvor mye arbeid som er nødvendig da det har vært veldig XP basert. På denne måten har det også vært en slags dobbeltsjekk for fremdriftsplanen. Dokumentet er i tillegg til gruppens egen bruk også skrevet for oppdragsgiver, veileder og sensor. Det er derfor skrevet med hensyn på at personene som leser dokumentet har erfaring med systemutvikling, er kjent med spesielle begrep innenfor programmering og IT-drift, særlig med hensyn på Java. Noe vil også være skrevet på engelsk da det ikke har hensikt å oversette tekniske begreper til norsk. Munin pluginene har et felt under grafene for beskrivelse av grafen i sin helhet og de enkelte dataene som er representert i grafen. Disse beskrivelsene er hentet ut fra JavaDoc og er på engelsk. Dette er fordi personene som vil benytte pluginene i stor grad er fra utlandet og engelsk er i stor grad benyttet i driftssammenheng. 3

Begreper og akronymer JVM - Java Virtual Machine SDK - Software development kit. JBoss - Innholds server Tomcat Applikasjonsserver for servletbaserte applikasjoner. Munin Grafgenererningsrammeverk basert på DDRTool JavaDoc - Java dokumentasjon JMX (JavaManagementExtention) Dette er et rammeverk for henting av management data ut fra MBeans server. Mbeans (Management Beans) En server som kan bli startet etter behov ved å angi prefix i sdk 1.5.x eller som default i sdk 1.6.x XP Extreme Programming. En prosessutviklingsmodell. 4

Systembeskrivelse I denne delen av kravspesifikasjonen vil gruppen dokumentere sine oppfatninger om hvordan prosjektet skal utformes. Da de har benyttet seg av XP som er en Agile systemutviklingsprosess har de forbeholdt retten til å endre på kravspesifikasjonen underveis i den grad det har vært nødvendig og mulig. Generelt Pluginene gruppen utvikler vil bli lagt ut på Munin Exchange sidene til oppdragsgiveren http://muninexchange.projects.linpro.no/ og vil være med i neste versjon av Munin pakken. Hensikten er at alle bedrifter og enkeltpersoner som benytter seg av Munin til å overvåke og drifte systemer vil få tilgang til pluginene og benytte dem enkelt uten endringer i overvåkingsprosessen. Pluginene vil bli programmert til å møte Munin standarden som benytter RRD Tool for å prosessere data. Derfor vil pluginene også i hovedsak også være mest nyttig å implementere i et Unix miljø. Det er derimot ingenting som forhindrer pluginene å bli kjørt på en hver platform da Java som det skrives i er platform uavhengig. Pluginene vil være generelle, det vil si at pluginene kan hente ut data fra enhver Mbean server. I oppdragsgiveren sitt tilfelle er det ønskelig å hente ut data for Tomcat og Jboss. Gruppen har fokusert på å lage alle grafer som er mulig. Gruppen har testet dataene for Tomcat 5.5. Det eneste som må endres er porten og IP adressen som pluginen benytter for å lytte til en annen applikasjon. Applikasjonen som blir overvåket må ha implementert et MBean interface for at dataene skal bli sendt. Mange applikasjoner har allerede implementert dette interfacet. Ofte må programmet startes opp med en spesiell suffix slik at serveren startes. Med Tomcat 5.5 startes det ved å legge til disse linjene i /etc/init.d/tomcat5.5 5

CATALINA_OPTS="$CATALINA_OPTS -Dcom.sun.management.jmxremote \ -Dcom.sun.management.jmxremote.port=5400 \ -Dcom.sun.management.jmxremote.ssl=false \ -Dcom.sun.management.jmxremote.authenticate=false" Dette vil starte Tomcat med JMX. Serveren vil lytte til port 5400, denne kan byttes til en annen ønskelig port. Dersom denne porten endres må også porten til munin pluginene endres slik at de samsvarer. Her har vi startet JMX uten noen form for sikkerhet. Det er mulig å starte JMX slik at det benyttes SSL kryptering og brukernavn og passord. Brukernavn og passordet må fylles inn i en properties fil. For enkelhets skyld har vi unlatt å benytte sikkerheten da vi har fokusert på den funksjonelle delen. 6

Funksjonelle krav Kunden skal kunne overvåke grafer generert med Munin basert på følgende data for JVM. Med JVM menes ikke Java i sin helhet i et operativsystem, men som en instans av JVM. Det betyr at disse grafene kan implementeres for enhver Java prosess kjørende i et Unix miljø. Det skal hentes ut data for alle ManagementBean, herunder; MemoryMXBean, GarbageCollectorMXBean, OperatingSystemMXBean, RuntimeMXBean, ThreadMXBean og MemoryPoolMXBean. Data som ikke er tallverdier, eller konstanter skal ikke hentes ut da det ikke lar seg representere i grafer, herunder; operativsystem, Java versjon m.m. MemoryMXBean: 1. getobjectpendingfinalizationcount() 2. getheapmemoryusage().getcommitted() 3. getheapmemoryusage().getinit() 4. getheapmemoryusage().getmax() 5. getheapmemoryusage().getused() 6. getnonheapmemoryusage().getcommitted() 7. getnonheapmemoryusage().getinit() 8. getnonheapmemoryusage().getmax() 9. getnonheapmemoryusage().getused() GarbageCollectorMXBean: 1. getcollectioncount() 2. getcollectiontime() OperatingSystemMXBean: 1. getavailableprocessors() RuntimeMXBean: 7

1. getuptime() ThreadMXBean: 1. getcurrentthreadcputime 2. getcurrentthreadusertime() 3. getdaemonthreadcount() 4. getpeakthreadcount() 5. getthreadcount() 6. gettotalstartedthreadcount() 7. DeadLockedThreads() MemoryPoolMXBean: For disse objektene: Eden Space, Survivor Space, Tenured Gen, Perm Gen. Disse er separert i 12 grafer for å gjøre grafene mer oversiktlig. 1. getusage().getcommitted() 2. getusage().getinit() 3. getusage().getmax() 4. getusage().getused() 5. getcollectionusage().getcommitted() 6. getcollectionusage().getinit() 7. getcollectionusage().getmax() 8. getcollectionusage().getused() 9. getpeakusage().getcommitted() 10. getpeakusage().getinit() 11. getpeakusage().getmax() 12. getpeakusage().getused() 13. getmemorypooltreshold().tenuredgen() 14. getmemorypooltreshold().permgen() 15. getmemorypooltreshold().eden() 16. getmemorypooltreshold().survivor() ClassLoadingMXBean: 1. getloadedclasscount() 8

2. gettotalloadedclasscount() 3. getunloadedclasscount() CompilationMXBean: 1. gettotalcompilationtime() Da Munin fungerer slik at alle script som ligger i /etc/munin/plugins/ blir kjørt som et plugin betyr det at alle plugin gruppen lager trenger en fil i denne mappen. Denne filen må være en script som Unix miljøet kan kjøre direkte. Enten ved at det er et sh, bash, perl eller lignende script. Et Java program kan ikke kjøres direkte, den må bli kjørt via Java kommandoen. Gruppen har valgt å skrive scriptene i sh. Pluginene skal konsolideres med de binære javafilene. Det betyr at alle Munin felter og andre deler av pluginen skal ligge i Java programmet. Sh scriptet skal kun starte Java programmet enten med en config, eller $ip,$port suffix som blir lagret I String[] args I java programmet. Ikke-Funksjonelle krav Oppdragsgiver og gruppen har diskutert problematikken rundt plotting av data for ulike typer grafer, herunder kurver, plan og andre former. Oppdragsgiver har stilt krav om å organisere dataene på en måte som gjør det forståelig for driftpersonell å tolke endringer. For eksempel må man plotte en kurve minimum to ganger per bølgelengde for å unngå å få et rett plan (Nyquist rate). Da Munin oppdaterer grafer hvert 5. minutt vil grafer med bølgelengde kortere enn 10 minutter til en viss grad være ubrukelige og misvisende. Prioritering Følgende liste er i prioritert rekkefølge av krav. 1. Kunden ønsker flest mulig grafer relatert til minne da dette er et av de største problemene med Java. 2. Grafer for JBoss som er relatert til database connections(droppes) Graph_info og $variabel_info skal være fylt ut så godt som mulig for alle plugin. Disse feltene viser en beskrivelse av alle variable i grafen og en beskrivelse for grafen i sin helhet. 9