Overview

I had the opportunity to set up health checks for Virtuoso running on Amazon EC2, so this is a memo of the process.

Specifically, when Virtuoso (e.g., https://xxx.zzz/sparql) starts returning errors due to some issue, the details are sent via email notification.

Method

The following article introduces how to set up a Virtuoso RDF store on Amazon EC2.

The above setup uses an ELB. Only one change needs to be made from the above article. The Health check path was set to /, but this should be changed to the path to the SPARQL endpoint (e.g., /sparql).

After that, I configured CloudWatch and Amazon SNS by referring to the following article.

https://dev.classmethod.jp/articles/elb-healthcheck-monitoring-by-cloudwatch-alarm/

Results

Monitoring is now possible as shown below.

When an alert occurs, an email like the following is now sent.

YVhA------T-M-------S---oitlhotuetaNSRTAArTnMMDPSUTaOAIwprateiWlehieeietnrtKLNasmmaamSasetttmraiee:ASrt:etserhorreittaRUeh/D:eosAmoariinoi:tCMFi/entclleccsdsMh:FrsutCacAdadNNi:tiaIesahfmor:raaoisn[Cca-iaopunmMmmncsgaIelelnr:n:eees:ierEiaasgtits::nnNvrs:eS:srpgA:Timt:tiaDca_n-aiccatwDgi1tn:etisAn.e:ao:Ttct:nsAhtoChsn:ihnhe:ssesa:onAueAlgLsmWeeA-aS.:ReiaMalMwsasstbn.t-eaavOTFxaa1cgmiKhrxrt:aearrixnexumztedx:xseousaxawxennohyxwhxt.sAoxsexycoLl1x:nxoCo-Ad4xcxuomuRxltAU[6Mnbxrn/nMCJxohWnT0iorxschruxueSHantexAoleolxd/ersiaxmloasyxwmAagemscxaeuls,aeplecuphxz:dtettpttomeixowhd2crlhGncn:nay:0hiiyrdigDth2:ccHosfeCcon3uaouiflhsositspeao/t0-sitduudcd8eoC=ldeoa:aGnotWeut0srEut_apna5teLnaCtltp:-aBtrlci-o31tgohnai0:eeuklnxrtdA.atUxTgWljrsTxhraasmCxaotr?wxnucmrexOpherxr/_"gexEvAvixqiliorxurarnexatrt=cxlumuuexTososixos_s-v:ToToeeah]o-adlrpusae[intfrsAch-omhv]e1r:oaa#vlila5idltlrahapt1byreu.ihmro0losisisVooftt2d-oyc:surZoanoulahannanetetrda-mll=a/5telvhauaimyssrriht-mtsoe"uss5aoitsisncotnogof--u1tudntahnath]eht-eeaa[UapllLSloaaotirsaEhnmtdaytBshs5atolswpa(teenNcrrc.oeieuorVntditr(=r-esgaa)ailtpnaeopirdf/amv)a6is0rrte[sugBeoircsoeoonan/cdyhhsyai.ysnygye]yn.ytyeyryeydyytyhye]ALARMstate,because"ThresholdCrossed:nodatapointswerereceivedfor5periodsand5missingdatapointsweretreatedas[Breaching]."at"Friday14July,202308:05:30UTC".

Summary

I hope this serves as a helpful reference for those operating Virtuoso in a similar environment.