Linux palvelimet ICT4TN021-3010 Harjoitus 8

Prosessinhallintaa ja lokeja


Tehtävän suorittaminen aloitettu 23.3.2020 klo. 12:00

Laitteen tiedot, jolla tehtävä suoritettiin:

  • CPU: Intel i5-4670k
  • GPU: Nvidia GTX 1060 6 Gt VRAM
  • RAM: 16 Gt DDR3
  • Kingston DataTraveler G4 16 Gt, jossa Xubuntu 18.04.03

Aloitin harjoituksen ajamalla peruskomennot ”setxkbmap fi”, ”sudo apt-get update” sekä ”sudo ufw enable”.

a) Kuormitusta yli ajan. Tietysti palvelin hidastelee juuri silloin, kun olet nukkumassa. Seuraisipa joku kuormitusta tuolloin. Asenna heti aluksi jokin ohjelma seuraamaan kuormitusta, jotta voit tarkastella sitä koko tehtävän ajalta. Sopivia ohjelmia ovat esimerkiksi ‘munin’ ja sysstat (‘sar’).

Päätin asentaa suositelluista ohjelmista Muninin, jonka asensin komennolla ”sudo apt-get install munin”. Halusin varmistaa asennuksen onnistuneen, joten ajoin komennon ”man munin” saadakseni lisätietoa sovelluksesta. Halusin kuormitustiedot html-sivulle, johon löysinkin ohjeet Eino Liimatan tehtävänpalautuksesta (http://terokarvinen.com/oldsite/otherauthors/eliimatt-wordpress-org-puppet-liimatta-2013/eliimatt.wordpress.com/tag/munin/index.html). Ohjeesta selvisi, että tarvitsen tähän myös apachen, jonka asensinkin komennolla ”sudo apt-get install apache2” ja tein myös palomuuriin reiän komennolla ”sudo ufw allow 80/tcp”. Sain default-sivun näkyviin verkkoselaimesta, josta päättelin asennuksen onnistuneen. Liimatan ohjeesta selvisi myös se, että tarvitsen perus munin asennuksen lisäksi munin-node asennuksen. Yrittämällä asentaa sen komennolla ”sudo apt-get install munin-node” selvisi kuitenkin, että minulla olikin se jo asennettuna (todennäköisesti tuli aikaisemman munin-asennuksen mukana). Tässä kohtaa huomasin kuitenkin, että Liimatan ohje ei vastannutkaan enää omaa installaatiotani, joten siirryin käyttämään DigitalOceanin ohjetta asiasta (https://www.digitalocean.com/community/tutorials/how-to-install-the-munin-monitoring-tool-on-ubuntu-14-04#step-3-%E2%80%94-configuring-the-munin-master). Tein ohjeen step 3. mainitut muutokset .conf tiedostoihin ja käynnistin apachen ja munin-noden uudestaan. Verkkosivu kuitenkin antoi 404-erroria, joten kokeilin luoda muninille virtualhostin Apachen sites-available -kansioon.

Tämän jälkeen enabloin luomani .conf tiedoston komennolla ”sudo a2ensite munin.conf” ja disabloin default-sivun komennolla ”sudo a2dissite 000-default.conf”. Sitten vielä käynnistin Apache-demonin uudelleen ja sainkin Muninin näkyviin localhost osoitteeseen.


b) Kuormita järjestelmän eri osa-alueita. Esim. ‘stress’. Etsi prosessi toisesta ikkunasta ‘top’ tai ‘htop’, järjestystä voi vaihtaa “P” ja “M”.

”top” -komennolla normaalitilanne näytti koneella tältä.

Asensin stress-työkalun komennolla ”sudo apt-get install stress” ja ajoin sen komennolla ”stress”. Tämä ei itsestään aloittanut vielä järjestelmän kuormittamista vaan kertoi mitä parametrejä yms. voin valita kuormittamiseen. Päätin ajaa ohjelman ehdottaman peruskomennon ”stress –cpu 8 –io 4 –vm 2 –vm-bytes 128M –timeout 10s”. Tämä sai toisen terminaalin, jossa top-ohjelma oli päällä näyttämään seuraavaa.


Kokeile käytännössä, selitä ja analysoi. Muista selittää, mitä komennolla halutaan selvittää ja tulkitse kokeilusi tulokset. Aiheuta tarvittaessa kuormaa tai muuta työkalulla näkyvää tulkittavaa.
c) iotop; iotop -oa

Asensin iotop-ohjelman komennolla ”sudo apt-get install iotop” ja ajoin sen komennolla ”sudo iotop”. Tämä avasi hyvin samanlaisen näkymän terminaaliin kuin top-ohjelma, mutta kyseinen ohjelma keskittyy selvästi (nimensäkin mukaan) tiedon siirräntään ja sen seuraamiseen. En saanut selvää ns. kuormitusta aikaan testeissäni, mutta esimerkiksi verkkosivujen lataaminen näkyi hetkellisesti ohjelmassa. Oletan, että esimerkiksi suuria tiedostoja siirtelemällä/lataamalla näkyisi ohjelmassa selviä tietoja prosessista.


d) dstat

Asensin dstat-ohjelman komennolla ”sudo apt-get install dstat” ja ajoin sen. Tämä avasi ikkunan, joka näytti prosessorin, levyn, verkon ja järjestelmän kuormituksen tilan reaaliajassa. Ajoin uudelleen saman stress-komennon kuin aikaisemmin. Huomasinkin, kuinka prosessorinkäyttö hyppäsi heti dstatin mukaan n. 60% kuormitustestin ajaksi.

Avaamalla selaimessa eri verkkosivuja näkyy tämä selvästi myös dstat:n ”net/total” -osiossa verkkoliikenteenä.

Komento vaikuttaa hyvältä ja etenkin selkeältä tavalta seurata koneen reaaliaikaista kuormitusta.


e) ss –listening –tcp –numeric; ss –listening –tcp; ss –tcp; ss –listening –udp; ss –listening –udp;

Kyseisillä viidellä komennolla selviää: tällä hetkellä ”kuunneltavat” portit, selitykset porteille (esim. http (80) ja munin (4949)), koneen paikallinen osoite ja portti sekä avoinna olevat udp-portit.


f) grep -i error /var/log/syslog; grep -ir error /var/log/

Komennolla listataan järjestelmän lokeista rivejä, jotka sisältävät errorin. Tällä voidaan selvittää mahdollisia ongelmatilanteita tai esim. yhteydenottoyrityksiä, joita järjestelmään on kohdistunut. Suurin osa erroreista, joita minulla oli selvästi muninin asennuksen aikana syntyineitä ongelmia. Uusimmat errorit (koodi 1534), johtuiva selvityksen jälkeen siitä, että asennettu ohjelma (todennäköisesti tässä tilanteessa munin) yrittää yhdistää osoitteeseen, jota ei ole olemassa (https://askubuntu.com/questions/1058750/new-alert-keeps-showing-up-server-returned-error-nxdomain-mitigating-potential).


g) Load average näkyy esim ‘uptime’, ‘top’, ‘htop’. Prosessoriydinten määrä näkyy ‘nproc’. Miten load average tulkitaan? Miksi prosessoriydinten määrä on tässä kiinnostava? Vapaaehtoisena bonuksena voit miettiä, mitä hyötyä on kuormituslukemasta, joka voi mennä yli yhden eli yli 100%.

Ajamalla komennon ”uptime; nproc” terminaali palauttaa tämänhetkisen ajan (14:12:38), koneen käynnissä oloajan (3:39), käyttäjien määrän (1) ja kuormituksen keskiarvon viimeisen 1, 5 ja 15 minuutin sisällä (0.02, 0.10, 0.10). Nproc-komento puolestaan palauttaa numerona prosessorien lukumäärän (4) tietokoneessa. Kuormituksen keskiarvot vaikuttavat järkeviltä, sillä konetta ei oltu kuormitettu vähään aikaan. Ajamalla aikaisemman kuormitustestin jälleen uudelleen ja tämän jälkeen antamalla komennon ”uptime

näkyy, että tulokset ovat muuttuneet radikaalisti. Esimerkiksi yhden minuutin keskiarvo on mennyt yli 100% (2.26), joka tarkoittaa prosessorin olleen hetkellisesti ylikuormittunut.


h) Analysoi lopuksi koko ajalta keräämäsi kuormitustiedot. Löydätkö esimerkiksi aiheuttamasi kuormituspiikin?

Prosessorinkäyttö-kaavio vaikutti kaikista kiinnostavimmalta analysoida, joten keskityin sen analysoimiseen (en valitettavasti saanut kaavion zoomausta toimimaan oikein, joten kaavio on hieman pienehkö tämän takia). Kaavion alla olevista kentistä selviää prosessorin kuormituksen tämänhetkinen, pienin, keskiarvo ja suurin arvo ja esimerkiksi system-kohdan suurin arvo on todennäköisesti yhden kuormitustestin aikana syntynyt arvo. Kaaviossa on myös selvästi korkeampia piikkejä, jotka todennäköisesti vastaavat kahteen tehtävän alkupuolella tehtyyn kuormitustestiin. Kaavion Idle-arvosta selviää myös, että resursseja on myös reilusti saatavilla.

Tehtävä suoritettu 23.3.2020 klo. 17:00


Lähteet

Karvinen, Tero 2020: Aikataulu, h8. http://terokarvinen.com/2020/aikataulu-linux-palvelimet-ict4tn021-3010-torstai-aamu-alkukevat-2020-5-op#h1, Luettu 23.3.2020

Liimatta, Eino 2.9.2012: Harjoitustehtävä 2: Prosessinhallintaa. http://terokarvinen.com/oldsite/otherauthors/eliimatt-wordpress-org-puppet-liimatta-2013/eliimatt.wordpress.com/2012/09/02/harjoitustehtava-2-prosessinhallintaa/index.html, Luettu 23.3.2020

die.net: iotop(1) – Linux man page. https://linux.die.net/man/1/iotop, Luettu 23.3.2020

die.net: dstat(1) – Linux man page. https://linux.die.net/man/1/dstat, Luettu 23.3.2020

StackExhange. 2018: New alert keeps showing up: Server returned error NXDOMAIN, mitigating potential DNS violation DVE-2018-0001. https://askubuntu.com/questions/1058750/new-alert-keeps-showing-up-server-returned-error-nxdomain-mitigating-potential, Luettu 23.3.2020

Kili, Aaron 31.5.2017: Understand Linux Load Averages and Monitor Performance of Linux. https://www.tecmint.com/understand-linux-load-averages-and-monitor-performance/, Luettu 23.3.2020

finid 20.6.2015 How To Install the Munin Monitoring Tool on Ubuntu 14.04. https://www.digitalocean.com/community/tutorials/how-to-install-the-munin-monitoring-tool-on-ubuntu-14-04#step-3-%E2%80%94-configuring-the-munin-master, Luettu 23.3.2020

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

Create your website with WordPress.com
Get started
%d bloggers like this: