• No results found

Portabel nätverksövervakning och prestandatest

N/A
N/A
Protected

Academic year: 2021

Share "Portabel nätverksövervakning och prestandatest"

Copied!
29
0
0

Loading.... (view fulltext now)

Full text

(1)

prestandatest

Thom Bengtsson

Anton Snäll

Datornätverk, högskoleexamen

2020

Luleå tekniska universitet Institutionen för system- och rymdteknik

(2)

PORTABEL ÖVERVAKNING OCH PR TANDAT T  

   

 

Thom Bengtsson & Anton Snäll   D0032D, Examensarbete  

Datornätverk, VT20   Luleå tekniska universitet  

(3)

Sammanfattning  

Detta arbete är utfört på uppdrag av CGI med ambitionen att hitta ett open source  

program som tillhandahåller övervakning och prestationstester. Programmet ska gå att ha   på en server eller maskin som är portabel, för att möjliggöra insamling av data om ett   nätverk den ena dagen och ett annat den andra dagen. På grund av rådande situation i   samhället sker allt arbete på distans vilket gör att tester av programvara endast sker på   små, privata nätverk. Mycket vikt läggs på efterforskning, för att hitta de program som i   teorin skulle fungera för ändamålet. Det visar sig snabbt att med open source som krav är   ett enda program inte ett alternativ, så sökfältet expanderas. Tester utförs där  

programvarorna bedöms efter användarvänlighet och funktioner som underlättar vid   omlokalisering av servern. Resultatet för övervakning blir programmen OpenNMS Horizon   och NetXMS som båda levde upp till kraven, prestandaverktyget som valdes ut är Flent som   kombinerar bl.a. Iperf och Netperf i sina tester och erbjuder grafiska presentationer av   resultatet. Den begränsade tiden påverkade möjligheterna att testa samtliga alternativ   som påträffades och rådande pandemi begränsade möjligheterna att testa programmen i   någon större utsträckning. Målet med en lösning uppfylldes inte utan resulterade istället i   två separata mjukvaror. Dessa finner man ändå uppnår de respektive målen.    

(4)

Abstract  

This work has been done as an assignment from CGI with the ambition to find an open   source program that provides both network monitoring and performance testing. The   program should be able to run on a portable server or other machine, to allow for data   gathering of one network one day and of another network the next day. Due to the current   state of society all work is done *remotely*, restricting tests to only be performed on   smaller private networks. Much time is put into research to find the programs that in   theory would work for the purpose. It's quickly revealed that with open source as a   demand, a single program is not an option, thus the search is expanded. Tests are   performed where the programs are graded by useability and functions that facilitate   redeployment of the server between network sites. The results for network monitoring are   the programs OpenNMS Horizon and NetXMS, which both lived up to the demands. The   program chosen for performance testing is Flent, which among others combines Iperf and   Netperf in its tests and presents the results in graphs.The limited time affected our  

opportunities to test all the programs we came across and the current pandemic limited   our opportunities to test our chosen programs to a greater extent.The goal of finding one   solution was not accomplished and instead resulted in two separate pieces of software.   These are found to accomplish their respective goals.  

(5)

Innehållsförteckning  

1. Introduktion 1   2. Teori 2   2.1 SNMP   2.2 OpenNMS Horizon   2.3 NetXMS 3   2.4 Flent 4   2.5 Netperf 5  

2.6 Lubuntu Core Server Desktop genom Tasksel  

3. Metod 6   3.1 Material   3.2 Krav på programvara   3.3 Utförande 7   3.3.1 Mjukvara för övervakning   3.3.2 Mjukvara för prestandatest   3.3.3 Flent  

3.3.4 Lubuntu Core Server Desktop  

3.4 Bedömning 8   4. Resultat 10   5. Diskussion 11   6. Referenser 12   Bilaga 1: Förkortningar 14   Bilaga 2: Installationer 15   OpenNMS Horizon 26.1.0   Installationer   Konfigurationer 16  

Starta och kör OpenNMS. 18  

NetXMS 1.8 19  

Förarbete  

Installation MySQL och tillägg  

Installation Java och Tomcat  

Konfiguration av databasen i MySQL 21  

Installation 22  

Installation NetXMS  

Installation Management Console  

Inloggning 2 3  

Flent 2 4  

Netperf  

(6)

1. Introduktion 

Övervakning av nätverk är en viktig del i dess underhåll, där information om dess enheters  beteende samt trafik ger en bra inblick i hur det fungerar. En trasig enhet i ett stort nätverk  behöver snabbt lokaliseras och åtgärdas, istället för att söka igenom nätverket enhet för  enhet kan ett nätverksövervakningsprogram smidigt upptäcka felet och larma direkt.  Prestandatester är ett bra verktyg att använda i förebyggande syfte, genom att testa  nätverket innan det sätts i drift eller vid förändringar kan man identifiera eventuella  problem innan de inträffar och på så vis undvika driftstörningar. 

CGI är ett globalt företag som levererar tjänster inom IT och affärsprocesser. I samarbete  med deras kontor i Skellefteå söker vi en lösning för att på ett smidigt sätt kunna övervaka  och prestandatesta kunders nätverk för att identifiera eventuella fel. Idén är att man med  en portabel server tillfälligt ska kunna koppla upp sig ute hos kund för att övervaka  nätverket, utföra prestandatester och sedan presentera resultaten för kund på ett  tilltalande sätt. 

CGI har upplevt supportärenden där kunder inte kan ge tillräcklig information och de  behöver då åka ut till plats för att utföra felsökning. De kan då behöva bekanta sig med  kundens befintliga övervakningssystem. I dessa situationer skulle användningen av egen  programvara eliminera tidsåtgången för att sätta sig in i kundernas övervakningssystem  och på så sätt underlätta och effektivisera felsökningsarbetet. 

Syftet med detta arbete är att försöka hitta lämplig programvara som skulle kunna  underlätta för CGI i deras dagliga arbete. Det tänkta användningsområdet kräver att  programvaran uppfyller vissa krav t.ex. ska det vara open source, portabelt, någorlunda  låga prestandakrav osv. 

(7)

2. Teori 

I detta avsnitt tas nödvändig mjukvara och protokoll upp som ligger till grund för arbetet.  

2.1 SNMP 

Simple Network Management Protocol (SNMP) är ett protokoll som används vid 

övervakning av enheter över ett nätverk. En server agerar manager och övervakar enheter  såsom datorer, mobiler, routrar, switchar etc. som kallas agents. SNMP använder sig av  portarna 161 och 162 för hämtning (polling) och traps respektive. Polling hämtar 

information från enheten genom GET-kommandot och utförs manuellt av en administratör  eller enligt ett schema genom ett script eller program, medan traps är satta gränser för  t.ex. temperatur eller processoranvändning hos en övervakad enhet. När dessa gränser  uppnås skickar enheten själv trafik till managern. Ny information kan även skrivas till  enheterna genom SET-kommandot. Protokollet finns i tre olika versioner där v3 är den  enda som tillämpar riktig säkerhet i form av authentication och privacy [1][2]. 

2.2 OpenNMS Horizon 

Ett enterprise-klassat program för övervakning och hantering av nätverk. Utvecklat och  stöttat av en community av användare och utvecklare. The OpenNMS Group har också ett  finger med i spelet, de erbjuder kommersiella tjänster, utbildning och support. 

Ambitionen är att OpenNMS Horizon ska uppfylla alla aspekter av FCAPS-modellen medan  programmet förblir 100% open source. Projektet i sig upprätthålls av en grupp utvecklare  som kallar sig The Order of the Green Polo. 

Programmet är skrivet i Java och kan på så vis köras på alla plattformar som har stöd för  Java SDK 1.6 eller högre. Utöver Java behövs databasen PostgreSQL, men det finns planer  på att göra OpenNMS oberoende av databas. 

Processen för att lägga till enheter i systemet kan ske både manuellt enhet för enhet eller  automatiskt genom att en adressrymd specificeras och programmet pingar varje adress  och listar därefter de enheter den får svar från. Den underliggande tekniken som används 

(8)

för konfigurationen är XML, så möjligheten att applicera konfiguration direkt i XML-filen  finns också. 

Att samla in data relaterat till prestation är möjligt för en rad olika nätverksprotokoll, där  ibland SNMP, HTTP, JMX, WMI, XMP, XML, NSClient och JDBC. Data kan samlas in, lagras,  presenteras grafiskt och jämföras mot thresholds [3]. 

2.3 NetXMS 

Ett övervakningsprogram utvecklat i C, C++ och Java av Victor Kirhenshtein och Alex 

Kirhenshtein som open source. Utvecklat för övervakning av stora nätverk, med säker och  krypterad kommunikation mellan sig och andra enheter genom x.509-certifikat, lösenord,  smart-cards eller RADIUS-server. Information hämtas genom SNMP eller installerade  NetXMS-agenter på enheter. Upptäcker enheter automatiskt genom Active Discovery  (skanningsprober) och Passive Discovery (information från ARP- och routingtabeller samt  interfaces från nätverksenheter).  

Använder databaser såsom MySQL, MongoDB, PostgreSQL m.fl. för att förvara information  genom tillämpning av Round Robin Database (RRD), där äldre information skrivs över vid  behov. Administratörer kan larmas genom programmet eller via sms och e-post vid olika  events. Kontrolleras via web-GUI (Graphical User Interface) eller CLI (Command Line  Interface). Programvaran är tillgänglig för Linux, Windows och Mac OS X [4][5].  

(9)

2.4 Flent 

Ett program som används för att testa prestanda i nätverk. Flent är kodat i Python och är  en s.k. wrapper som kombinerar Iperf och Netperf med andra verktyg för att köra 

förkonfigurerade tester och samla in samt presentera dess resultat. Testerna utgörs av  Netperf som skickar TCP-trafik mellan enheterna samt instanser av övrig mjukvara som  med UDP och SNMP mäter latency. Resultaten samlas sedan in från båda enheterna och  kombineras i en JSON-fil som Flent kan presentera på olika sätt. Det kan även sparas ned  som en CSV-fil och andra format. Tester kan köras mot en eller flera enheter för att bl.a.  kontrollera förekomsten av bufferbloat. Bufferbloat är när onödiga mängder data samlas i  bufferterna hos routrar eller switchar i ett nätverk och orsakar hög latens eller jitter [6][7].  Två exempel på tester som tillhandahålls av Flent är Real-Time Response Under Load  (RRUL) och RTT fairness test. RRUL-testet är framtaget med fokus på bufferbloat, för att  stresstesta nätverket och vaska fram eventuellt oönskat beteende hos enheter i nätverket.  Det fungerar genom att fyra TCP-strömmar körs i vardera riktning mellan en enhet med  rollen som server och en enhet med rollen som klient, samtidigt körs UDP- och 

ICMP-strömmar för att få ett mått på latensen. Som tidigare nämnt är huvudsakliga syftet  att hitta rätt på bufferbloat, men testet fungerar också bra för att stresstesta enheters  köhanteringsscheman [6][7][10]. 

Syftet med Round Trip Time (RTT) fairness test är att utvärdera ifall queue management  schemes hjälper eller stjälper TCP-goodputen, eftersom congestion control algoritmen  påverkas av RTT . Goodput är den del av data som skickas som anses direkt användbar,  som ren applikationsdata. Testet går till genom att köra fyra TCP-strömmar samtidigt från  klienten till fyra olika servrar. Flent erbjuder flera varianter på detta test för att underlätta  utvärderingar av olika endpoint-enheter i olika scenarion med olika förutsättningar  [6][9][10]. 

(10)

2.5 Netperf 

En mjukvaruapplikation från början utvecklad av Hewlett Packard för test av bandbredd  mellan två enheter i ett nätverk. Netperf stödjer Unix domain sockets, TCP, SCTP, DLPI och  UDP via BSD sockets. Med Netperf kan förkonfigurerade tester köras som t.ex. att mäta  unidirectional throughput och end-to-end latens [11]. 

2.6 Lubuntu Core Server Desktop genom Tasksel 

Lubuntu är i sig ett helt operativsystem, ett resurssnålt alternativ till Ubuntu. I detta arbete  använder vi inte hela systemet utan endast desktopmiljön för att få ett GUI till servern då  vissa program behöver det, det laddas ned och installeras med hjälp av tasksel [12].  Tasksel är ett verktyg som bl.a. tillhandahåller skrivbordsmiljöer till servrar genom en  simpel valmeny [13]. 

(11)

3. Metod 

I den här delen behandlas det praktiska arbetet som utfördes. 

3.1 Material 

● Windows datorer 

● VMWare med virtuella maskiner  ○ Ubuntu 18.04.04 Server  ○ CentOS 7 

○ Lubuntu GUI 

3.2 Krav på programvara 

Sökandet efter programvaror styrdes av krav satta med hänsyn till det tänkta  användningsområdet.  

För nätverksövervakning var kraven:  ● Open Source  ● Låga prestandakrav  ● Smidig installation  ● Snabb uppstart  ● Användarvänligt  ● Auto Discovery 

● Rensning av databas efter användning  ● Portabilitet 

För prestandatest var kraven:  ● Open Source 

● Throughput & Goodput  ● Response Time 

● Max Capacity under längre och kortare tidsspann  ● Användarvänligt 

(12)

● Spara ned och presentera information 

3.3 Utförande 

För att testa programvaror används virtuella maskiner med operativsystemet Ubuntu 18.04  Server installerat. OpenSSH installerades för smidig åtkomst till maskinerna och förenkling  av installationer. För att tillhandahålla en smidig och användarvänlig arbetsmiljö sågs  alternativ för desktopmiljöer över. Lubuntu Core Server Desktop valdes ut och installerades  på samtliga maskiner. Det var en av de mest resurssnåla grafiska interfacen och 

möjliggjorde åtkomst till mjukvarornas traditionella respektive webbaserade GUI:n direkt i  den virtuella maskinen. 

3.3.1 Mjukvara för övervakning 

Ett flertal program sågs över men de som stack ut var OpenNMS Horizon och NetXMS som  installerades och konfigurerades enligt instruktionerna i bilaga 2.  

3.3.2 Mjukvara för prestandatest 

3.3.3 Flent 

Väldigt lite konfiguration krävdes efter installationen för att starta programmet som kördes  i GUI. Däremot för att kunna utföra tester krävdes installation av Netperf version 2.6 eller  högre. Netperf kördes med en andra maskin som server och Flentmaskinen som klient 

3.3.4 Lubuntu Core Server Desktop 

Då Flent körs via GUI installerades Lubuntu Core Server Desktop med hjälp av verktyget  tasksel enligt instruktionerna i bilaga 2.   

(13)

3.4 Bedömning 

Programmen bedömdes utefter punkterna på kravlistan. Uppfylldes de teoretiska kraven  gick de vidare till det praktiska testandet. Installation och uppstart av mjukvarorna sågs  över, med hänsyn till hur mycket tid som lades ned och hur smidigt det gick. Man 

undersökte även hur användargränssnittet var utformat och hur pass användarvänligt det  var, sett till menyer och dylikt. För övervakningsprogrammen sågs funktionen för 

Auto-Discovery över, samt möjligheten att rensa tidigare övervakade noder både innan och  efter anslutning till ett nytt nätverk. I programmen för prestandatest sågs möjligheten över  att konfigurera tester samt vilken data som presenterades och hur graferna skulle läsas av.  OpenNMS Horizon startades upp med hjälp av “​systemctl” ​utan problem. Funktionen  Auto Discovery återfanns i Admin-menyn och rensningen av tidigare upptäckta noder fanns  tillgänglig i samma meny. 

NetXMS kom igång snabbt med kommandot “​netxmsd​”. En topplacerad meny gav tillgång  till programmets olika delar såsom Syslog, Network Discovery och Scheduled Tasks, medan  en dashboard visade upp de delar man valt från toppmenyn. I funktionen Network 

Discovery ställdes det in hur programmet skulle upptäcka andra enheter, med val för  “Passive”, “Active”, båda kombinerade eller “Disabled” som stängde av funktionen helt.  “Passive” använde serverns egen ARP-tabell för att få information om andra delar av  nätverket, medan “Active” pingade adresser inom den adressrymd som lades in.   Skanningen påbörjades manuellt och enheter i nätverket upptäcktes en efter en och  visades i fliken “Objects” under delen “Entire Network” → “192.168.1.0/24”. Möjlighet fanns  att schemalägga skanningar efter enheter alternativt att lägga in ett intervall för hur lång tid  det skulle gå mellan varje tillfälle. Inställningar fanns för att filtrera Auto Discovery för  endast enheter med NetXMS Agent installerad, med SNMP Agent installerad eller om de  förekommer i den adressrymd som ställts in. Filtrering kan bli användbar vid större nätverk  där flera adressrymder finns inlagda för schemalagda skanningar, men endast en bråkdel  av dessa behöver skannas efter nya enheter. 

När enheter stängdes ned och inte längre var nåbara markerades de tydligt i listan med en  röd-vit krysslåda. Det kom även upp som en händelse i fliken “Alarm Browser” 

(14)

innehållandes allvarlighetsgrad, status, meddelande om att noden var nere, antalet gånger  det inträffat, när noden först skapades och när den senast uppdaterades. Dessa alarm kan  även ställas in att skickas per e-post eller sms om sådan tjänster och servrar är tillgängliga  och konfigurerade. Rensning av upptäckta enheter och dess nät utfördes under fliken  “Objects”. Ett högerklick samt “Delete” på valt nät tog bort samtliga enheter och all  information rensades från databasen. Mjukvaran var sedan redo för återanvändning i  andra nät.  

Rollen mjukvaran för prestandatester behöver fylla i det givna scenariot är att utmana ett  nätverks kapacitet mellan dess olika delar. Det utvalda programmet ska tillsammans med  mjukvaran för övervakning användas i syfte att finna och åtgärda eventuella fel i nätverk.  

(15)

4. Resultat 

Det visade sig ganska snabbt att de program som uppfyllde kraven och tillhandahöll båda  funktionerna i ett och samma program krävde dyra licenser. Inget av de open 

source-program som behandlades huserade både övervakning och prestandatester, med  det skiftades fokus från att hitta ett program som sköter allt till att hitta ett för övervakning  och ett för prestandatester. 

Av de program som testats för övervakning valdes två ut, OpenNMS och NetXMS. Dessa två  var de som var mest kompletta och mest tilltalande. Med kärnfunktioner som 

autodiscovery och smidigt borttagande av scannade noder i nätverken fyllde de målen vi  satt. 

För prestandatester fann man tidigt ett alternativ som stod ut i mängden, Flent. Detta  program kombinerar bland annat Iperf och Netperf i sina tester och presenterar sedan  resultatet grafiskt, med möjligheten att spara ner datan i olika format. 

Några andra program som undersökts och bedömts otillräckliga är:  ● Munin 

● Icinga Monitoring 

● LogRythm Netmon Freemium  ● LibreNMS  ● Pandora FMS  ● CheckMK  ● EventSentry Light  ● Opmantek  ● Spiceworks NM  ● Zabbix 

 

 

(16)

5. Diskussion 

Ambitionen från början var att hitta ett open source program som tillhandahåller både  övervakning och prestandatester, allt i ett paket. Det blev inte som tänkt då det visade sig  att samtliga program som fyllde båda funktionerna krävde licens, i varje fall de program  som hann behandlas i detta arbete innan beslutet om att köra på två program togs.  De lösningar som behandlas i rapporten kan tillsammans fylla de funktioner som 

eftersträvades. En sak som är värd att nämna är att man kan välja övervakningsmjukvaran  lite efter smak, då det finns gott om alternativ i kategorin open source. OpenNMS Horizon  och NetXMS är de alternativ vi valt utefter erfarenhet begränsad till de kurser vi läst under  utbildningen. Ett program som kan vara värt att kika närmare på är Zabbix, det föll bort  p.g.a. tidsbrist men som till synes verkar mätbart med OpenNMS och NetXMS i teorin i  varje fall. 

På prestandatestfronten kändes utbudet lite snålare, Iperf och Netperf är båda bra 

alternativ, men ingen av dem presenterar resultaten annat än i siffror. Där känns Flent som  det självklara valet, i och med att den kombinerar Iperf och Netperf vid behov och även  erbjuder grafiska presentationer av resultatet. 

Vad det gäller saker som hade kunnat göras bättre så hade mer tid varit väl till hands, lite  mer erfarenhet inom det specifika området hade också kunnat användas. En lösning hade  varit att ta kontakt med yrkesproffs i området för att få en bild av vad som egentligen  behövs, men det leder åter tillbaka till tid. Med lite mer tid hade vi kunnat lyfta fokus från  efterforskning och försökt ta in mer synvinklar utifrån. 

OpenNMS Horizon och NetXMS skulle kanske kunna tänkas implementera rena 

prestandatester i sin mjukvara någon gång i framtiden, men av vad som framgår finns det i  dagsläget inga tecken på det. 

(17)

6. Referenser 

1. Net-SNMP.org, ​Net-SNMP ​[Online] URL: ​http://www.net-snmp.org/  Hämtat: 2020-05-05 

2. SNMP.com, ​SNMP ​[Online] URL: ​http://www.snmp.com/snmpv3/snmpv3_intro.shtml  Hämtat: 2020-05-05 

3. OpenNMS.com, ​OpenNMS​ [Online] URL: 

https://www.opennms.com/opennms-platform/ 

Hämtat: 2020-05-07 

4. NetXMS.org, ​NetXMS ​[Online] URL: ​https://www.netxms.org/   Hämtat: 2020-05-15 

5. NetXMS.org, ​NetXMS ​[Online] URL: ​https://www.netxms.org/details/  Hämtat: 2020-05-15 

6. Flent.org,​ Flent ​[Online] URL: ​https://flent.org/   Hämtat: 2020-05-18 

7. Bufferbloat.net, ​Bufferbloat ​[Online] URL: 

https://www.bufferbloat.net/projects/bloat/wiki/TechnicalIntro/  

Hämtat: 2020-05-18 

8. Høiland-Jørgensen T. “Flent: The FLExible Network Tester”, ​Karlstad University  [Online]  

URL: ​https://flent.org/flent-the-flexible-network-tester.pdf   Hämtat: 2020-05-18 

9. Banks R. ​Packetpushers ​[Online]​, ​6 Mars 2015 

URL: ​https://packetpushers.net/throughput-vs-goodput/   Hämtad: 2020-05-19 

(18)

10. Manpages.ubuntu.com, ​Manpages.ubuntu flent ​[Online]  

URL: ​http://manpages.ubuntu.com/manpages/bionic/man1/flent.1.html   Hämtad: 2020-05-19 

11. Hewlettpackard.github.io, ​Hewlettpackard.github netperf ​[Online]  URL: ​https://hewlettpackard.github.io/netperf/  

Hämtad: 2020-05-18 

12. Linuxconfig.org, ​Linuxconfig ​[Online] 

URL:​ ​https://linuxconfig.org/install-gui-on-ubuntu-server-18-04-bionic-beaver  Hämtad: 2020-05-19 

13. Wiki.debian.org, ​wiki.debian tasksel​ [Online] URL: ​https://wiki.debian.org/tasksel  Hämtad: 2020-05-19 

(19)

Bilaga 1: Förkortningar 

ARP​ - Address Resolution Protocol  BSD sockets​ - Berkeley Sockets  CLI ​- Command Line Interface  CSV-fil ​- Comma-Separated Values  DLPI ​- Data Link Provider Interference 

FCAPS-modellen ​- Fault-management, Configuration, Accounting, Performance, Security. 

Riktlinjer för nätverksadministration. 

GUI ​- Graphical User Interface  HTTP ​- HyperText Transfer Protocol  ICMP ​- Internet Control Message Protocol  JDBC ​- Java Database Connectivity 

JMX ​- Java Management Extensions  JSON-fil ​- JavaScript Object Notation 

RADIUS ​- Remote Authentication Dial-In User Services  RRUL ​- Real-Time Response Under Load 

RTT ​- Round Trip Time 

SCTP ​- Stream Control Transmission Protocol  SNMP ​- Simple Network Management Protocol  TCP ​- Transmission Control Protocol 

UDP ​- User Datagram Protocol  Unix Domain Sockets​ -  

WMI ​- Windows Management Instrumentation  XML ​- Extensible Markup Language 

XMP ​- Extreme Memory Profile 

 

(20)

Bilaga 2: Installationer 

OpenNMS Horizon 26.1.0 

Hela stycket OpenNMS Horizon 26.1.0 är baserat på den officiella installationsguiden från  utvecklarna av OpenNMS: 

https://docs.opennms.org/opennms/branches/develop/guide-install/guide-install.html​. 

Mjukvaran krävde att följande program och tillägg fanns installererade: 

● OpenJDK 8 eller 11 

● Postgresql 10.x eller högre (installation utförs automatiskt när OpenNMS  installeras.) 

Installationer 

Installationen av OpenJDK.  #sudo apt update

#sudo apt install default-jdk

Uppgifter om repositories för OpenNMS samt Gnu Privacy Guard-key (GPG-key) angavs.  #cat << EOF | sudo tee /etc/apt/sources.list.d/opennms.list

deb https://debian.opennms.org stable main deb-src https://debian.opennms.org stable main EOF

(21)

Installationen av OpenNMS. 

#sudo apt -y install opennms

På rekommendation av utvecklarna placerades repositories på “hold” för att undvika  oönskade uppdateringar medan programmet körs. 

#apt-mark hold libopennms-java \ libopennmsdeps-java \

opennms-common \ opennms-db

Konfigurationer 

PostgreSQL databasen startades upp.  #systemctl start postgresql

En OpenNMS användare skapades för databasen med ett lösenord samt en databas som  ägs av den användaren. För namn användes “opennms” för både användare och databas.  #su - postgres

#createuser -P opennms

#createdb - O opennms opennms Lösenord sattes för Postgres super user. 

#psql -c "ALTER USER postgres WITH PASSWORD 'YOUR-POSTGRES-PASSWORD';"

#exit

Konfigurera tillgång till databasen i OpenNMS.  #nano /etc/opennms-datasources.xml

(22)

I dokumentet, justerades följande rader.  <jdbc-data-source name="opennms" (1)---> database-name=​"opennms" class-name="org.postgresql.Driver" url="jdbc:postgresql://localhost:5432/opennms" (2)---> user-name=​"** YOUR-OPENNMS-USERNAME **" (3)---> password=​"** YOUR-OPENNMS-PASSWORD **" /> <jdbc-data-source name="opennms-admin" database-name="template1" class-name="org.postgresql.Driver" url="jdbc:postgresql://localhost:5432/template1" (4)---> user-name=​"postgres" (5)---> password=​"** YOUR-POSTGRES-PASSWORD **" /> 1. Databas som OpenNMS skall använda. 

2. Användarnamn för tillgång till databas.  3. Lösenord för tillgång till databas. 

4. Postgres-användare för administrativ tillgång till PostgreSQL.  5. Postrgres-lösenord för administrativ tillgång till PostgreSQL.    

(23)

Starta och kör OpenNMS. 

Java-miljö hittas 

${OPENNMS_HOME}/bin/runjava -s

Databasen initieras och systembibliotek upptäcks.  ${OPENNMS_HOME}/bin/install -dis

Systemd konfigureras så att OpenNMS startas när systemet bootar.  #systemctl enable opennms

Starta OpenNMS 

#systemctl start opennms

I webbläsare, öppna ​http://<server-ip>:8980/opennms. 

Vid första inloggning är användarnamn och lösenord båda “​admin​”. Lösenord bör givetvis  ändras så snart som möjligt, detta görs i “navigationsmenyn→ Change Password→ Change  Password”. 

Därefter är programmet redo att användas. 

(24)

NetXMS 1.8 

Hela stycket refererar till en guide skapad av en användare på NetXMS’ officiella forum,  tillsammans med en guide från LinuxTechi [x, x]. 

Förarbete 

Mjukvaran krävde att följande program och tillägg var förinstallerade:  ● MySQL-Server (Database) 

● LibMySQLclient-Dev (MySQL Development Files)  ● LibSSL-Dev (SSL Development Files) 

● Tomcat (Web Server)  ● Java 

Installation MySQL och tillägg 

Systemets repositories uppdaterades, databasen och övriga tillägg installerades:  # sudo apt-get update

# sudo apt-get install mysql-server

# sudo apt-get install libmysqlclient-dev # sudo apt-get install libssl-dev

 

Installation Java och Tomcat 

Java installerades och version bekräftades före installation av webbservern:  # sudo apt install default-jdk -y

(25)

http://www-us.apache.org/dist/tomcat/tomcat-9/v9.0.35/bin/apache-tomc at-9.0.35.tar.gz

# sudo tar xzvf apache-tomcat-9.0.35.tar.gz -C /opt/tomcat --strip-components=1

Gruppen tomcat tilldelades write- och execute-rättigheter för /opt/tomcat/ och dess  sub-directories: 

# sudo chgrp -R tomcat /opt/tomcat # cd /opt/tomcat/

# sudo chmod -R g+r conf # sudo chmod g+x conf

Användaren tomcat sattes som ägare av directories webapps, work, temp och logs, samt  deras sub-directories: 

# sudo chown -R tomcat webapps/ work/ temp/ logs/ En systemd service skapades för att kunna styra web-servern. 

Sökvägen för Java lokaliserades och lades in tillsammans med sökvägen till Tomcat genom  kommandona: 

# sudo update-java-alternatives -l

# export JAVA_HOME=/usr/lib/jvm/java-1.11.0-openjdk-amd64 # export CATALINA_HOME=/opt/tomcat

# export CATALINA_BASE=/opt/tomcat

En systemd-fil för Tomcat skapades och följande innehåll lades till:  # sudo nano /etc/systemd/system/tomcat.service [Unit]

Description=Apache Tomcat Web Application Container After=network.target

[Service] Type=forking

(26)

Environment=JAVA_HOME=/usr/lib/jvm/java-1.11.0-openjdk-amd64 Environment=CATALINA_PID=/opt/tomcat/temp/tomcat.pid Environment=CATALINA_HOME=/opt/tomcat Environment=CATALINA_BASE=/opt/tomcat Environment='CATALINA_OPTS=-Xms512M -Xmx1024M -server -XX:+UseParallelGC' Environment='JAVA_OPTS=-Djava.awt.headless=true -Djava.security.egd=file:/dev/./urandom' ExecStart=/opt/tomcat/bin/startup.sh ExecStop=/opt/tomcat/bin/shutdown.sh User=tomcat Group=tomcat UMask=0007 RestartSec=10 Restart=always [Install] WantedBy=multi-user.target

Systemd daemon laddades om och tomcat.service startades upp:  # sudo systemctl daemon-reload

# sudo systemctl start tomcat # sudo systemctl enable tomcat

En symlink skapades mellan /etc/systemd/system/multi-user.target.wants/tomcat.service  och /etc/systemd/system/tomcat.service.  

(27)

För åtkomst utanför den virtuella maskinen kommenterades två rader i två XML-filer och  tomcat service startades om: 

# sudo nano /opt/tomcat/webapps/host-manager/METRA-INF/context.xml <!--Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" /> →

# sudo nano /op/tomcat/webapps/manager/META-INF/context.xml

<!--Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" />-->

# sudo systemctl restart tomcat

 

Konfiguration av databasen i MySQL 

Databasen för NetXMS skapades därefter genom kommandot:  # sudo mysql -u root -p mysql

mysql> CREATE DATABASE netxms;

mysql> GRANT ALL ON netxms.* TO netxms@localhost IDENTIFIED BY ‘<password>’;

 

Installation 

Installation NetXMS 

Laddade ned senaste Deb Server Package för NetXMSoch installerade: 

# wget ​http://packages.netxms.org/netxms-release_1.8_all.deb

# sudo dpkg -i netxms-release_1.8_all.deb Uppdaterade repositories och installerade NetXMS-server:  # sudo apt-get update

(28)

Installerade specifik för åtkomst till databasen: 

# sudo apt-get install netxms-dbdrv-mysql

Avkommenterade rader för MySQL-konfiguration i NetXMSD’s konfigurationsfil samt  laddade databasschemat: 

# sudo nano /etc/netxmsd.conf ## Option #3 - MySQL: DBDriver=mysql.ddr DBServer=127.0.0.1 DBName=netxms DBLogin=netxms DBPassword=​enter-database-password

# sudo nxdbmgr init /usr/share/netxms/sql/debinit_mysql.sql  

Installation Management Console 

Programmets webb-GUI installerades genom nedladdning och installation från  utvecklarnas hemsida:  # wget ​https://www.netxms.org/download/releases/3.3./3.3.314/nxmc-3.3.3.14.war  # cp nxmc-2.2.16 war ROOT.war  # sudo su  # cd /opt/tomcat/webapps  # rm -rf ROOT  # cp /home/thom/ROOT.war /opt/tomcat/webapps  # systemctl restart tomcat 

(29)

Flent 

Hela stycket Flent är baserat på den officiella installationsguiden från utvecklarna av Flent:  https://flent.org/ 

#sudo apt-get install flent

Netperf 

Hela stycket Netperf är baserat på installationsguiderna från devmanuals.net och flent.org:  https://www.devmanuals.net/install/ubuntu/ubuntu-12-04-lts-precise-pangolin/install-netperf.ht ml

https://flent.org/intro.html#installing-flent 

#sudo apt-get install netperf

Netperf måste sedan kompileras med tillägget​ --enable-demo ​till​./configure ​innan  det körs. 

För att köra Netperf som server:  #netserver &

Lubuntu Core Server Desktop genom Tasksel 

Hela stycket Lubuntu Core Server desktop är baserat på installationsguiden från linuxconfig.com  och zoomadmin.com:  

https://linuxconfig.org/install-gui-on-ubuntu-server-18-04-bionic-beaver 

https://zoomadmin.com/HowToInstall/UbuntuPackage/tasksel 

#sudo apt-get install tasksel #sudo tasksel install lubuntu-core Och för att starta Lubuntu core server desktop:  #sudo service lightdm start 

References

Related documents

Intervjupersonen menar att hon ser sig som socialsekreterare på grund av hennes mångåriga arbetslivserfaren- het inom socialtjänsten samt på grund av att hon under sina år

Jag har länge haft ett intresse för att arbeta med platser och bestämde mig i höstas för att mitt sista år på skolan skulle tillägnas en undersökning av platser.. Jag behövde

Leta upp alla uppgifter som passar till svaret (du ska bara titta på din tärning) och färglägg dem i rätt färg.. Du får hålla på i en minut därefter slår ni era

Vi tycker därför att det är viktigt att genomföra undersökningen för att ta reda på om Utvägs kommunikation och samverkan fungerar, eftersom detta är en viktig utgångspunkt

Det finns i övrigt mycket stöd att få både för studenter och för personal som vill underlätta så mycket som möjligt för studenterna, både från biblioteket och från

Utgå från ett visst tema och välj nutid eller en annan tidsperiod för att beskriva hur resurser från naturen används under året.. Välj exempelvis en viss naturtyp (äng, skog,

Med mig från första handledningen hade jag en tanke om att arbeta med storytelling för att kunna lyfta fram och väva in alla former av övervakning som Barack Obama skulle

Genom att eleverna skulle passa in i dessa traditionella ideal skapades ett väldigt snävt handlingsutrymme för eleverna där de inte hade så stor möjlighet att utforska sin