Bull-Supertietokoneen ylläpidollisen datan kerääminen ja visualisointi
Lehtimäki, Henri (2020)
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:amk-2020060416856
https://urn.fi/URN:NBN:fi:amk-2020060416856
Tiivistelmä
Opinnäytetyössä käydään läpi Kajaanin ammattikorkeakoulun Bull-supertietokoneen ylläpidollisen automaation datan keräämistä sekä visualisoimista. Työ on osa pidempään kestävien projektien kokonaisuutta, jossa Bull-supertietokone otetaan käyttöön osaksi KAMK koulutusympäristöjä.
Tavoitteena työssä oli kerätä automaatio- ja ylläpitolaitteista dataa, tallentaa kerätty data aikasarjatietokantaan ja visualisoida data helpommin ymmärrettävään muotoon. Toteutukselta vaadittiin luotettavaa toimintaa ympärivuorokautisessa toiminnassa. Sen tuli palautua mahdollisesta ongelmatilanteesta automatisoidusti sekä toimia luotettavasti. Merkittävä vaatimus sovelluksen toiminnalle asetettiin liittyen automaatiojärjestelmän kanssa kommunikointiin; sovelluksella oli lupa vain lukea tietoja, ei kirjoittaa niitä automaatioon päin. Automaatiojärjestelmän suuntaan kirjoittaminen saattaisi aiheuttaa jäähdytysympäristön parametrien muuttumisen ja pahimmillaan jäähdytysjärjestelmän vikaantumisen. Vaatimuksiin perustuen opinnäytetyössä suunniteltiin ja toteutettiin sovellus, joka lukee dataa supertietokoneen automaatiojärjestelmästä sekä verkkoanalysaattorilta ja tallentaa datan tietokantaan. Tehtävää varten kehitettiin Python-ohjelmisto, joihin Modbus-protokolla on implementoitu PyModbus-kirjaston avulla. Noudettu data käsitellään ja siirretään Prometheus-aikasarjatietokantaan käyttäen Prometheuksen omaa Pushgateway ratkaisua. Datan visualisointi toteutetaan noutamalla aikasarjadataa Prometheus-tietokannasta Grafanan visualisointiympäristöön.
Tämän järjestelmän tietokanta- ja visualisointipalvelimien ylläpito toteutetaan virtualisoidussa ympäristössä, mutta Modbus-kommunikointiohjelmat ajetaan fyysisellä laitteistolla. Kommunikointiohjelmat suoritetaan Docker-säiliöissä, jotta ohjelmien virhetiloista palautuminen voidaan varmentaa ja eristää muusta järjestelmästä. Suoritusympäristöksi valittiin passiivisella jäähdytyksellä varustettu pienikokoinen tietokone. Siirtymällä passiiviseen jäähdytykseen perustuvaan tietokoneeseen pystyttiin pienentämään mekaanisesti kuluvien osien määrää ja siten parantamaan laitteiston luotettavuutta.
Työssä kehitetty sovellus Bull-supertietokoneen ylläpidollisen datan keräämiseen ja visualisointiin täyttää sille projektin alussa asetetut vaatimukset.
Tavoitteena työssä oli kerätä automaatio- ja ylläpitolaitteista dataa, tallentaa kerätty data aikasarjatietokantaan ja visualisoida data helpommin ymmärrettävään muotoon. Toteutukselta vaadittiin luotettavaa toimintaa ympärivuorokautisessa toiminnassa. Sen tuli palautua mahdollisesta ongelmatilanteesta automatisoidusti sekä toimia luotettavasti. Merkittävä vaatimus sovelluksen toiminnalle asetettiin liittyen automaatiojärjestelmän kanssa kommunikointiin; sovelluksella oli lupa vain lukea tietoja, ei kirjoittaa niitä automaatioon päin. Automaatiojärjestelmän suuntaan kirjoittaminen saattaisi aiheuttaa jäähdytysympäristön parametrien muuttumisen ja pahimmillaan jäähdytysjärjestelmän vikaantumisen. Vaatimuksiin perustuen opinnäytetyössä suunniteltiin ja toteutettiin sovellus, joka lukee dataa supertietokoneen automaatiojärjestelmästä sekä verkkoanalysaattorilta ja tallentaa datan tietokantaan. Tehtävää varten kehitettiin Python-ohjelmisto, joihin Modbus-protokolla on implementoitu PyModbus-kirjaston avulla. Noudettu data käsitellään ja siirretään Prometheus-aikasarjatietokantaan käyttäen Prometheuksen omaa Pushgateway ratkaisua. Datan visualisointi toteutetaan noutamalla aikasarjadataa Prometheus-tietokannasta Grafanan visualisointiympäristöön.
Tämän järjestelmän tietokanta- ja visualisointipalvelimien ylläpito toteutetaan virtualisoidussa ympäristössä, mutta Modbus-kommunikointiohjelmat ajetaan fyysisellä laitteistolla. Kommunikointiohjelmat suoritetaan Docker-säiliöissä, jotta ohjelmien virhetiloista palautuminen voidaan varmentaa ja eristää muusta järjestelmästä. Suoritusympäristöksi valittiin passiivisella jäähdytyksellä varustettu pienikokoinen tietokone. Siirtymällä passiiviseen jäähdytykseen perustuvaan tietokoneeseen pystyttiin pienentämään mekaanisesti kuluvien osien määrää ja siten parantamaan laitteiston luotettavuutta.
Työssä kehitetty sovellus Bull-supertietokoneen ylläpidollisen datan keräämiseen ja visualisointiin täyttää sille projektin alussa asetetut vaatimukset.