Ansible ja pelikirjat: Keskitetty lokipalvelu, valvonnat ja hälytykset
Iltanen, Toni (2020)
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:amk-2020112724789
https://urn.fi/URN:NBN:fi:amk-2020112724789
Tiivistelmä
Opinnäytetyön tavoitteena oli rakentaa pilvipalvelualusta kehitys- ja käyttöönottoprojektina. Toimeksiantajana projektille toimi porilainen ICT-palvelutoimittaja Codecontrol Oy. Opinnäytetyöraportti keskittyy lokipalvelun, valvontojen ja hälytysten asennukseen ja käyttöönottoon Ansiblen pelikirjojen avulla. Toteutus on osa isompaa palvelukokonaisuutta, sekä esittelee pilvipalveluiden ja sovelluskehitykseen liittyvien palvelinympäristöjen keskeisiä käsitteitä ja menetelmiä, joilla palvelimia käyttöönotetaan ohjelmallisesti.
Projekti koostui suunnittelu ja kehitysvaiheista, jonka jälkeen kokonaisuus asennettiin palvelinympäristöihin. Suunnitteluvaihe koostui kahdesta erillistä kokonaisuudesta: järjestelmäsuunnittelusta, sekä valvontojen ja hälytysten suunnittelusta.
Järjestelmäsuunnittelussa tunnistettiin projektissa tarvittavat sovelluskomponentit, joilla toteutettiin vaaditut toiminnallisuudet. Keskitetyksi lokipalveluksi valittiin Graylog, jonka hakupalveluna toimii ElasticSearch. Palveluiden säiliöintiin ja virtualisointiin valittiin Docker, joka tarjoaa virtualisoinnin lisäksi swarm -toiminnallisuudellaan sisäisen rajapinnan palvelinten ja palveluiden yhteenliittämiseksi. Metriikka- ja hälytyspalveluksi valittiin Prometheus, sekä ylläpidon graafiseksi seurantatyökaluksi Grafana. Valvonnat ja hälytykset suunniteltiin yhteistyössä toimeksiantajan omien asiakkaiden, sekä ylläpidon henkilöstön kanssa. Graafiset hälytys- ja valvontanäkymät Grafanaan suunniteltiin metriikkatietoon perustuvina visualisointeina, sekä palveluiden tilatietoon perustuvina hälytystietoina.
Työ toteutettiin Ansiblen pelikirjojen avulla, joista jokainen täyttää oman itsenäisen tehtävänsä. Pelikirjoja laadittiin yhteensä viisi kappaletta: Docker-palvelun asennus palvelimille, Docker swarmin käyttöönotto, tietokantojen asennus, valvonta- ja hälytysoperaatiot, sekä lokivirtojen ohjaus keskitetylle lokipalvelulle. Asennusten jälkeen palveluille suoritettiin testiajot tarkastuksille ja hälytyksille, jotka suoritettiin onnistuneesti.
Ansiblen käyttäminen palveluiden asennus- ja konfigurointityökaluna oli onnistunut valinta. Projekti toteutettiin aikataulussa, ja kerätty asiakaspalaute oli positiivista. Asennetut palvelut ovat toimineet moitteetta, ja kehitystyötä jatketaan ketterän kehityksen mukaisesti opinnäytetyön kirjoitusajankohtana.
Projekti koostui suunnittelu ja kehitysvaiheista, jonka jälkeen kokonaisuus asennettiin palvelinympäristöihin. Suunnitteluvaihe koostui kahdesta erillistä kokonaisuudesta: järjestelmäsuunnittelusta, sekä valvontojen ja hälytysten suunnittelusta.
Järjestelmäsuunnittelussa tunnistettiin projektissa tarvittavat sovelluskomponentit, joilla toteutettiin vaaditut toiminnallisuudet. Keskitetyksi lokipalveluksi valittiin Graylog, jonka hakupalveluna toimii ElasticSearch. Palveluiden säiliöintiin ja virtualisointiin valittiin Docker, joka tarjoaa virtualisoinnin lisäksi swarm -toiminnallisuudellaan sisäisen rajapinnan palvelinten ja palveluiden yhteenliittämiseksi. Metriikka- ja hälytyspalveluksi valittiin Prometheus, sekä ylläpidon graafiseksi seurantatyökaluksi Grafana. Valvonnat ja hälytykset suunniteltiin yhteistyössä toimeksiantajan omien asiakkaiden, sekä ylläpidon henkilöstön kanssa. Graafiset hälytys- ja valvontanäkymät Grafanaan suunniteltiin metriikkatietoon perustuvina visualisointeina, sekä palveluiden tilatietoon perustuvina hälytystietoina.
Työ toteutettiin Ansiblen pelikirjojen avulla, joista jokainen täyttää oman itsenäisen tehtävänsä. Pelikirjoja laadittiin yhteensä viisi kappaletta: Docker-palvelun asennus palvelimille, Docker swarmin käyttöönotto, tietokantojen asennus, valvonta- ja hälytysoperaatiot, sekä lokivirtojen ohjaus keskitetylle lokipalvelulle. Asennusten jälkeen palveluille suoritettiin testiajot tarkastuksille ja hälytyksille, jotka suoritettiin onnistuneesti.
Ansiblen käyttäminen palveluiden asennus- ja konfigurointityökaluna oli onnistunut valinta. Projekti toteutettiin aikataulussa, ja kerätty asiakaspalaute oli positiivista. Asennetut palvelut ovat toimineet moitteetta, ja kehitystyötä jatketaan ketterän kehityksen mukaisesti opinnäytetyön kirjoitusajankohtana.