Implementation of an automatic log analysis tool for health care applications
Loading...
URL
Journal Title
Journal ISSN
Volume Title
Sähkötekniikan korkeakoulu |
Master's thesis
Unless otherwise stated, all rights belong to the author. You may download, display and print this publication for Your own personal use. Commercial use is prohibited.
Authors
Date
2024-03-11
Department
Major/Subject
Control, Robotics and Autonomous Systems
Mcode
ELEC3025
Degree programme
AEE - Master’s Programme in Automation and Electrical Engineering (TS2013)
Language
en
Pages
61 + 2
Series
Abstract
Large software applications generate extensive amounts of log data to monitor behavior and diagnose software issues. While log data can be examined manually, the large volume of log data makes manual examination error-prone and time-consuming. Log data analysis software and methods have been developed to automate log data analysis, thereby enhancing software reliability and development. Commercial and open-source log analysis software exists, but this cannot always be used due to various restrictions, such as data security. In this case, an automatic log data analysis program has to be implemented from scratch. In this thesis, we designed and implemented an automatic log analysis program for the healthcare software Effector by seeking inspiration from studies and existing implementations. We tailored the implementation to the requirements of the Effector and implemented anomaly detection using statistical methods based on Z-score and sliding window. We tested the implementation against real data from Effector in real use cases and detected genuine anomalies in the production data. During the analysis of six months of log data, the log analysis program detected between 10 and 40 anomalies per week, depending on the size of the source data examined. For instance, the log analysis program detected a critical bug in the automatic import of patient data after an Effector version update. This bug would have gone unnoticed for a longer period without the assistance of the program.Suuret ohjelmistot tuottavat suuren määrän lokidataa, jonka avulla voidaan seurata ohjelmiston käyttäytymistä ja ratkaista ohjelmiston ongelmatilanteita. Lokidataa voidaan tutkia manuaalisesti, mutta lokidatan suuri määrä tekee lokidatan manuaalisesta tutkimisesta virhealtista ja aikaa vievää. Lokidatan analysointiohjelmia ja -menetelmiä on kehitetty automatisoimaan lokianalyysia, mikä parantaa ohjelmistojen luotettavuutta ja helpottaa ohjelmistokehitystä. Kaupallisia ja avoimeen lähdekoodiin perustuvia lokidatan analysointiohjelmia on olemassa, mutta erinäisistä rajoituksista, kuten tietoturvan takia, näitä ei voida aina käyttää. Tässä tapauksessa, automaattinen lokidatan analysointiohjelma on toteutettava alusta asti itse. Tässä opinnäytetyössä suunniteltiin ja toteutettiin automaattinen lokidatan analysointiohjelma terveydenhuollon ohjelmistolle, Effectorille. Inspiraatiota haettiin tutkimuksista ja olemassa olevista toteutuksista, mutta toteutus räätälöitiin Effectorin vaatimusten ja rajoitusten mukaan. Poikkeavien lokien eli anomalioiden havaitseminen toteutettiin käyttämällä tilastollisia menetelmiä, jotka perustuvat Z-arvoon ja liukuvaan ikkunaan perustuviin menetelmiin. Toteutettua ohjelmistoa testattiin aidolla Effectorin lokidatalla todellisilla käyttötapauksilla. Demotuista käyttötapauksista saadut tulokset vaikuttivat lupaavilta ja tuotantodatasta pystyttiin havaitsemaan aitoja poikkeamia. Kuuden kuukauden lokidatan analysoinnin aikana havaittiin noin 10-40 anomaliaa viikossa riippuen tutkitun lähdedatan koosta. Analysointiohjelmalla havaittiin esimerkiksi kriittinen virhe potilasdatan automaattisessa tuonnissa Effectorin versiopäivityksen jälkeen. Tämä virhe olisi jäänyt huomaamatta pidemmäksi aikaa ilman ohjelman apua.Description
Supervisor
Pajarinen, JoniThesis advisor
Sandberg, MagnusKeywords
logging, log data, log analysis, anomaly detection, outlier