Welcome to Soapower’s documentation!¶
Contents:
Overview¶
What’s Soapower ?
Soapower provides a GUI for
- viewing webservices requests (live and search page),
- download the data from the request and response,
- getting response time,
- viewing 90percentiles response times, etc ...
- Soapower allows monitoring several applications across multiple environments.
It is also possible to set a threshold response time on soapaction, the alerts are rising if the receiver does not send the response back in time.
Administration interface is available for
- Configure environments and webservices (local / remote target / timeout)
- Set the thresholds for response time for each serviceaction
- Import / export service configurations & settings
- Set the purges data Content Data requests & Answers, All Data / environment
- Monitoring CPU / Heap Memory / logs file
Screenshots¶
Live Page¶

Search Page¶

Analysis¶

Monitoring¶

Environments¶

Edit an environment¶

Services¶

Edit a service¶

Quickstart¶
You have to use docker to run Soapower.
docker run -i -d -p 49010:9010 --privileged -t -v /data/soapower/mongodb:/data/db -v /data/soapower/backups:/opt/soapower/backups yesnault/docker-soapower:215
Check Installation¶
- Go to http://localhost:49010
Tips¶
- You can forward port of mongoDB -p 49011:29017
- There is a backup of configuration in directory /data/soapower/backups. The backup is made by a job in the crontab (at 23h30)
- If you forward the ssh port -p 49012:22, you can connect to your container with :
ssh admin@localhost -p 49012 sudo su #to become root in the container
Usage¶
Send a request on a service already configured¶
- Register manually environment, then service
- Call http://<server>:<port>/soap/<environment>/<localTarget> for a SOAP service or http://<server>:<port>/rest/<environment>/<localTarget> for a REST service.
Send a request on a service not configured¶
Auto register SOAP service by calling http://<server>:<port>/autosoap/<group>/<environment>/<remoteTarget> Auto register REST service by calling http://<server>:<port>/autorest/<group>/<environment>/<remoteTarget>
Example : http://localhost:9010/autosoap/myNewGroup/myNewEnvironment/http://localhost:8080/myWebservices
Jenkins Integration¶
If a ServiceAction’s response time is > threshold, a failed test is generate and visible on Jenkins.
- Create a job, with a shell execution:
rm *.xml ; wget http://<server>:<port>/statsAsJunit/yesterday/yesterday/ -O result.xml
- Add a publish test Junit to view all ServiceAction’s result time.
- Url parameters : http://<server>:<port>/statsAsJunit/<minDate>/<maxDate>/ with minDate / maxDate like : 2012-12-10T00:00, yesterday, today
- You can add extra parameters to the URL, three parameters can be set : treshold, environment and service.
Example : http://localhost:9010/statsAsJunit/group/yesterday/today?service=myService&environment=dev&treshold=10000 This url create a Junit test that check if all actions result time of the ServiceAction ‘myService’ for the environment ‘dev’ are lower than 10 000 ms. You can also test all services of an environment (without setting the service parameter) or test a specific service on all the environments (without setting the environment parameter).