Implementation of an automatic log analysis tool for health care applications

Loading...
Thumbnail Image

URL

Journal Title

Journal ISSN

Volume Title

Sähkötekniikan korkeakoulu | Master's thesis

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, Joni

Thesis advisor

Sandberg, Magnus

Keywords

logging, log data, log analysis, anomaly detection, outlier

Other note

Citation