Monitoring Web Services con Nagios
Chi si trova a sviluppare web services su piattaforme diverse da Java, tipo PHP o altro, prima o poi avrà la necessità di uno strumento di monitoraggio, in particolar modo una volta che i web services si trovano in ambiente di produzione. Solitamente quando i web services sono sviluppati su piattaforme basate su Java si hanno a disposizione anche gli strumenti per il monitoraggio, nel caso di web services basati su PHP tali strumenti sono per lo più assenti.
Cosa s’intendente per monitoraggio dei web services ? A questa domanda si potrebbe rispondere in vari modi sulla base delle diverse esigenze, in linea generale il minimo indispensabile potrebbe essere:
- Verifica raggiungibilità dei web services attraverso la rete (uno o più EndPoint, un servizio potrebbe avere diversi EndPoint)
- Verifica della risposta dei web services entro gli SLA (Service Level Agreement) previsti
- Verifica che a fronte delle richieste effettuate i web services rispondano in maniera corretta (validazione XSD del messaggio di risposta)
Lo strumento software Open Source che consente di fare quanto indicato sopra è per l’appunto Nagios con l’aiuto del plug-in WebInject.
WebInject è uno strumento Open Source per il testing automatizzato delle applicazioni web e web services. Può essere usato per testare i singoli componenti del sistema che hanno interfacce HTTP (JSP, ASP, CGI, PHP, AJAX, Servlet, HTML Forms, XML / SOAP Web Services, REST, etc), e può essere utilizzato come un test harness e test di regressione. Un test harness consente di eseguire numerosi test e raccogliere dati in modo da poter successivamente ottenere dei report.
Sul sito di WebInject trovate tutta la documentazione per l’installazione e configurazione, inoltre all’indirizzo http://www.webinject.org/webservices.html trovate la sezione dedicata ai web service.