Monitor web transaction
Posted: Fri Oct 16, 2015 7:17 am
I received this request from a member of our Development team and was wondering if Nagios XI could help out and save the day?
We have an internal web service that occasionally (i.e. very rarely) fails to return the expected result. Thus far we have not been able to reproduce the failure.
I was wondering if we could get a network monitoring program configured to watch this service, and maybe even watch for it to fail. The problem is, it could be months before we get another failure. If we could just capture a rolling 24 hours of traffic to this endpoint, that should let us see the next time it happens.
Back in the day, I used to deploy a dedicated ‘sniffer’ for this kind of thing, but I’m hoping we can just use some software these days.
Do you have any thoughts on doing this?
Test version available at http://<testurl>:8080/SuitabilityServices/FormService.svc
The service is called by multiple systems, but they are only interested in calls from AAEP (internal application) so they will want to filter further to isolate just those exchanges.
Once I have a few examples of the data flowing, they could identify the variance(s) they want to look for. There are multiple methods, but they only want to look at one of them, SubmitNewFormRequest.
Here is the format of the request.
I'm not a Developer so if there is additional information needed let me know. Just researching if Nagios can monitor this for them or not.
We have an internal web service that occasionally (i.e. very rarely) fails to return the expected result. Thus far we have not been able to reproduce the failure.
I was wondering if we could get a network monitoring program configured to watch this service, and maybe even watch for it to fail. The problem is, it could be months before we get another failure. If we could just capture a rolling 24 hours of traffic to this endpoint, that should let us see the next time it happens.
Back in the day, I used to deploy a dedicated ‘sniffer’ for this kind of thing, but I’m hoping we can just use some software these days.
Do you have any thoughts on doing this?
Test version available at http://<testurl>:8080/SuitabilityServices/FormService.svc
The service is called by multiple systems, but they are only interested in calls from AAEP (internal application) so they will want to filter further to isolate just those exchanges.
Once I have a few examples of the data flowing, they could identify the variance(s) they want to look for. There are multiple methods, but they only want to look at one of them, SubmitNewFormRequest.
Here is the format of the request.
Code: Select all
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:suit="http://ourdomain.net/2011/06/SuitabilityServices">
<soapenv:Header/>
<soapenv:Body>
<suit:SubmitNewFormRequest>
<!--Optional:-->
<suit:Form>
<suit:CompanyCode>?</suit:CompanyCode>
<suit:ContractId>?</suit:ContractId>
<!--Optional:-->
<suit:OwnerName>?</suit:OwnerName>
<!--Optional:-->
<suit:OwnerDOB>?</suit:OwnerDOB>
<!--Optional:-->
<suit:JointOwner>?</suit:JointOwner>
<!--Optional:-->
<suit:JointOwnerDOB>?</suit:JointOwnerDOB>
<!--Optional:-->
<suit:ProductName>?</suit:ProductName>
<!--Optional:-->
<suit:PlanCode>?</suit:PlanCode>
<!--Optional:-->
<suit:ApproxInitialPremium>?</suit:ApproxInitialPremium>
<!--Optional:-->
<suit:SurrenderPenaltyPeriod>?</suit:SurrenderPenaltyPeriod>
<suit:TaxTypeId>?</suit:TaxTypeId>
<!--Optional:-->
<suit:StatementUnderstandA>?</suit:StatementUnderstandA>
<!--Optional:-->
<suit:StatementUnderstandB>?</suit:StatementUnderstandB>
<!--Optional:-->
<suit:StatementUnderstandC>?</suit:StatementUnderstandC>
<!--Optional:-->
<suit:StatementUnderstandD>?</suit:StatementUnderstandD>
<suit:AnnualIncomeRangeId>?</suit:AnnualIncomeRangeId>
<suit:FinancialExperienceId>?</suit:FinancialExperienceId>
<suit:RiskToleranceId>?</suit:RiskToleranceId>
<suit:FederalTaxBracketId>?</suit:FederalTaxBracketId>
<!--Optional:-->
<suit:ObjectiveUseIds>
<!--Zero or more repetitions:-->
<suit:Id>?</suit:Id>
</suit:ObjectiveUseIds>
<!--Optional:-->
<suit:FundingResourceIds>
<!--Zero or more repetitions:-->
<suit:Id>?</suit:Id>
</suit:FundingResourceIds>
<!--Optional:-->
<suit:MakingReplacement>?</suit:MakingReplacement>
<!--Optional:-->
<suit:ReplacementReasonIds>
<!--Zero or more repetitions:-->
<suit:Id>?</suit:Id>
</suit:ReplacementReasonIds>
<!--Optional:-->
<suit:UnderstandReplacement>?</suit:UnderstandReplacement>
<!--Optional:-->
<suit:Replacements>
<!--Zero or more repetitions:-->
<suit:Replacement>
<!--Optional:-->
<suit:OriginalCompanyName>?</suit:OriginalCompanyName>
<!--Optional:-->
<suit:OriginalProductName>?</suit:OriginalProductName>
<!--Optional:-->
<suit:FullSurrender>?</suit:FullSurrender>
<!--Optional:-->
<suit:SurrenderAmount>?</suit:SurrenderAmount>
<!--Optional:-->
<suit:TimeHeld>?</suit:TimeHeld>
<!--Optional:-->
<suit:ChargesOrFees>?</suit:ChargesOrFees>
<!--Optional:-->
<suit:DeathBenefitAmount>?</suit:DeathBenefitAmount>
</suit:Replacement>
</suit:Replacements>
<!--Optional:-->
<suit:OtherReplacementReason>?</suit:OtherReplacementReason>
<!--Optional:-->
<suit:ReplaceOtherContract>?</suit:ReplaceOtherContract>
<!--Optional:-->
<suit:ReplaceIncurredCharge>?</suit:ReplaceIncurredCharge>
<!--Optional:-->
<suit:ReplaceChargeReason>?</suit:ReplaceChargeReason>
<!--Optional:-->
<suit:FinancialEmergency>?</suit:FinancialEmergency>
<!--Optional:-->
<suit:FundAccessPlanIds>
<!--Zero or more repetitions:-->
<suit:Id>?</suit:Id>
</suit:FundAccessPlanIds>
<suit:FundAccessPeriodId>?</suit:FundAccessPeriodId>
<!--Optional:-->
<suit:HouseholdNetWorth>?</suit:HouseholdNetWorth>
<!--Optional:-->
<suit:HouseholdLiquidAssets>?</suit:HouseholdLiquidAssets>
<!--Optional:-->
<suit:LiquidNetWorth>?</suit:LiquidNetWorth>
<!--Optional:-->
<suit:LiquidNetWorthPct>?</suit:LiquidNetWorthPct>
<!--Optional:-->
<suit:RetirePlanAssets>?</suit:RetirePlanAssets>
<!--Optional:-->
<suit:OtherAssetsValue>?</suit:OtherAssetsValue>
<!--Optional:-->
<suit:FormReceived>?</suit:FormReceived>
<!--Optional:-->
<suit:ReviewedForSuitability>?</suit:ReviewedForSuitability>
<!--Optional:-->
<suit:OwnerCertifications>
<!--Zero or more repetitions:-->
<suit:OwnerCertification>
<!--Optional:-->
<suit:OwnerCertify>?</suit:OwnerCertify>
<!--Optional:-->
<suit:DateSigned>?</suit:DateSigned>
<!--Optional:-->
<suit:OwnerContactInformation>
<!--Optional:-->
<suit:Phone>?</suit:Phone>
<!--Optional:-->
<suit:Cellphone>?</suit:Cellphone>
<!--Optional:-->
<suit:EmailAddress>?</suit:EmailAddress>
<!--Optional:-->
<suit:Name>?</suit:Name>
<!--Optional:-->
<suit:Address1>?</suit:Address1>
<!--Optional:-->
<suit:Address2>?</suit:Address2>
<!--Optional:-->
<suit:Address3>?</suit:Address3>
<!--Optional:-->
<suit:Address4>?</suit:Address4>
<!--Optional:-->
<suit:City>?</suit:City>
<!--Optional:-->
<suit:State>?</suit:State>
<!--Optional:-->
<suit:Zip>?</suit:Zip>
<!--Optional:-->
<suit:BestContactTime>?</suit:BestContactTime>
</suit:OwnerContactInformation>
</suit:OwnerCertification>
</suit:OwnerCertifications>
<!--Optional:-->
<suit:AgentCertifications>
<!--Zero or more repetitions:-->
<suit:AgentCertification>
<!--Optional:-->
<suit:AgentCertify>?</suit:AgentCertify>
<!--Optional:-->
<suit:DateSigned>?</suit:DateSigned>
<!--Optional:-->
<suit:AgentContactInformation>
<!--Optional:-->
<suit:Phone>?</suit:Phone>
<!--Optional:-->
<suit:Cellphone>?</suit:Cellphone>
<!--Optional:-->
<suit:EmailAddress>?</suit:EmailAddress>
<!--Optional:-->
<suit:Name>?</suit:Name>
<!--Optional:-->
<suit:Address1>?</suit:Address1>
<!--Optional:-->
<suit:Address2>?</suit:Address2>
<!--Optional:-->
<suit:Address3>?</suit:Address3>
<!--Optional:-->
<suit:Address4>?</suit:Address4>
<!--Optional:-->
<suit:City>?</suit:City>
<!--Optional:-->
<suit:State>?</suit:State>
<!--Optional:-->
<suit:Zip>?</suit:Zip>
<!--Optional:-->
<suit:BestContactTime>?</suit:BestContactTime>
</suit:AgentContactInformation>
</suit:AgentCertification>
</suit:AgentCertifications>
<suit:AppData>
<!--Optional:-->
<suit:CompanyCode>?</suit:CompanyCode>
<!--Optional:-->
<suit:ContractId>?</suit:ContractId>
<!--Optional:-->
<suit:AgentName>?</suit:AgentName>
<!--Optional:-->
<suit:AgentId>?</suit:AgentId>
<!--Optional:-->
<suit:FirmName>?</suit:FirmName>
<!--Optional:-->
<suit:FirmId>?</suit:FirmId>
<!--Optional:-->
<suit:ProductName>?</suit:ProductName>
<!--Optional:-->
<suit:ProductId>?</suit:ProductId>
<!--Optional:-->
<suit:OwnerSSN>?</suit:OwnerSSN>
<!--Optional:-->
<suit:OwnerDOB>?</suit:OwnerDOB>
<!--Optional:-->
<suit:JointOwnerSSN>?</suit:JointOwnerSSN>
<!--Optional:-->
<suit:JointOwnerDOB>?</suit:JointOwnerDOB>
<!--Optional:-->
<suit:AppSignDate>?</suit:AppSignDate>
<!--Optional:-->
<suit:AppSignState>?</suit:AppSignState>
<!--Optional:-->
<suit:AppPremiumAmount>?</suit:AppPremiumAmount>
<!--Optional:-->
<suit:TaxTypeId>?</suit:TaxTypeId>
</suit:AppData>
<!--Optional:-->
<suit:StatementUnderstand36Month>?</suit:StatementUnderstand36Month>
<!--Optional:-->
<suit:StatementSurrenderCharge>?</suit:StatementSurrenderCharge>
<!--Optional:-->
<suit:StatementBenefitLoss>?</suit:StatementBenefitLoss>
<!--Optional:-->
<suit:ReverseMortgage>?</suit:ReverseMortgage>
</suit:Form>
</suit:SubmitNewFormRequest>
</soapenv:Body>
</soapenv:Envelope>