Configuring the Nodinite Web Services Monitoring Agent
This guide teaches how to configure the Nodinite Web Service Monitoring Agent to monitor and validate your Web Services, Web Applications, and Certificates.
Remote Configuration
As a Nodinite Administrator, click on the 'Configuration' button to open a modal to configure the agent:
Click the 'Configuration' button to open a modal to configure the agent
You can perform many specific configurations directly on the Resource using the Action button if the Monitor View has the Remote Actions feature enabled.
You must be a Nodinite Administrator to Manage the collection of Web Services.
Note
To configure, you must first install the agent.
How do I add monitoring of Web Services and Web Applications with Nodinite?
Adding an arbitrary number of Web Services and Web Applications for Nodinite to monitor is a straightforward process and requires no changes to the existing solutions. Follow the steps detailed below.
The Remote Configuration for the Nodinite Web Service Monitoring Agent provides the ability to configure the agent remotely, even if you install the agent off-site. Many specific configurations can also be made directly on the Resource using the Action button if the Monitor View has the Remote Actions feature enabled.
Web Service Configurations
There can be any number of Web Services to monitor:
click the Add button to add a Web Service configuration to monitor, or click on the accordion on an existing item:
The Add button is at the bottom of the list of Web Service configurations.
The options are in logical groups, separated by the following tabs:
Tab | Comment | |
---|---|---|
Basic | Basic settings for configuring one Web Service to monitor | |
Advanced | Additional settings for timeouts and retries | |
Request | What to do and where | |
Response | Expected response | |
Evaluate response body | Performs functional testing | |
Certificate | Evaluates the certificate chain | |
Authentication | Ways to authenticate | |
Settings | General settings | |
Applications | Associate the Monitored endpoint with the Nodinite Applications entity |
Here's an example of configuration tabs taken from the Remote Configuration screen for the Web Service Monitoring Agent
Basic Configuration
In the basic configuration, you provide the basic information to get you started with the configuration.
- Enable Web Services monitoring - When checked, the Web Service is monitored
- Display Name - A user-friendly name (mandatory)
- Description - (optional) A description of the Web Service.
- Application ID - (optional) Select one of the identities from the Applications tab. Set ApplicationId=0 to skip the use of an application name for the Web Service (Resource).
Advanced Configuration
From within the Advanced tab, you can manage some time-related thresholds.
- Polling Interval - The polling interval in seconds. This setting governs how often the Monitoring Agent should perform the call (default 60 seconds).
- Request Timeout - Maximum allowed time before timeout in seconds for the request (default 120 seconds).
- Allow Retries - Option to control intermittent failures.
- Number of retries - The number of Request retries before raising an Error.
- Retry Status Code - OK or Warning - The evaluated status code while retrying the operation.
Request
From within the Request tab, you can set the properties for the HTTP call to be made.
- URI - Address of HTTP/HTTPS endpoint to call.
Tip
You can use the Query Parameters options to override date time values. If so, do not add them in the base URI.
- Method - The method used to call the web service most common are (GET, POST, PUT, DELETE, HEAD, OPTIONS, TRACE or CONNECT) from RFC 7231, but you may use others; Read more here.
- SOAP (optional) - Check when the Web Service type is SOAP/WCF based.
- Body (optional) - The payload to use in the request. Make sure to use an appropriate Method when adding a payload.
Query Parameters
New 6.2.0.1
If you want to specify the Query Parameters, click the Add button.
Next, expand the accordion and enter data in the input fields.
You can dynamically replace the Value if there is a date-time in the URI. When adding Query Parameters, ensure they are not part of the URI.
Note
You must reload the configuration page to review the generated URI.
- Name - Name of the query parameter.
- Value - Review the table below for examples.
- Is Date Time - When checked, additional options must be set to generate the date time.
- When checked, the generated time is UTC
- Time Zone - Choose the Time Zone of the time to generate. You should not be bothered about DST (Daylight Saving Time).
- Format - for example yyyy-MM-dd, please review this guide for additional examples.
You can use the table below to get an idea about valid expressions. The Value is relative English-written date times:
Value | Comment |
---|---|
now |
Right now (date and time) |
today |
This day at midnight |
12:34:56 |
Today at the given time |
-1 day |
Yesterday |
last week |
|
next week |
|
last month |
|
1 seconds |
One second later from Now |
+3 weeks |
Today, three weeks later |
3 days 1 hour ago |
|
1 year 2 months 3 weeks 4 days 5 hours 6 minutes 7 seconds |
|
2010-12-31 |
|
01/01/24 1:59 PM |
Headers
- Headers (optional) - Set 0 or more operating parameters of the HTTP transaction, read more here
Note
As Headers may contain sensitive data, these are not fully on display in the Details.
Response
From within the Response Tab, you can set the properties governing the HTTP Response:
- Expected Status Codes
- The maximum time to trigger the Warning state
- The maximum time to trigger the Error state
Warning - Set behaviour of when to flag Resource as being in state Warning
Error - Set behaviour of when to flag Resource as being in state Error
Evaluate response body
Use the feature in the 'Evaluate response body' tab to evaluate the content of the response.
The following Expression Types can be used:
Expression - the Expression to use for the selected Expression Type
Expect no match - When this option is enabled, if the Expression Type is 'regex match' or 'regex', it will be successful when the regex does not match anything. If the Expression Type 'XPath' or 'JSON Path', it will be successful when the path is not present in the XML or JSON structure (Or, in JSON, if the value is null).
Expected Result - What result is expected
Logical Operator - Multiple conditions can be nested using AND/OR
Note
Even if there is only one Query Parameter in the list, you must still specify a Logical Operator. In this case, it is not being used.
RegEx
Use this option to validate if the response from your API, or content on a Web page has any match.
The RegEx use the following options:
- IgnoreCase
- IgnorePatternWhitespace
If you want to monitor a Web Application to see if there is a specific sentence (e.g "Hello World"), you must use a RegEx like the following example to get a match:
\b(Hello World)\b
RegEx Is Match
Use this option to validate whether the regular expression finds a match in the response from your API, or content on a Web page.
XPath
Use this option to validate the response from a SOAP based service returning XML.
JSON Path
Use this option to validate the response from any API returning JSON.
For example, to Monitor the Nodinite Audit Log, you can among other, use the following settings:
Field | Value | Comment |
---|---|---|
URI | http://localhost/Nodinite/Dev/WebClient/api/LogAudits/NumberOfLogAudits?level=3 |
|
Name | fromDate |
Query Parameters |
Value | today |
Query Parameters |
Expression | Collection.Items[0].Data.Count |
|
Expected Result | 0 |
Certificate
Certificates can be evaluated as part of the connection and functional evaluation. Check the Evaluate certificate checkbox and set your user-defined thresholds
Note
This step must be repeated for each endpoint where you want the Monitoring Agent to evaluate the certificate
- Warning Days - Start to warn if the number of days left until the certificate expires is less than the Warning Days.
- Error Days - Start to alert if the number of days left until the certificate expires is less than the Error Days.
- Certificate is required - When checked, the call is required to use the certificate (HTTPS). If there is no certificate, the state evaluates it as an error.
- Allow connection for invalid certificates - Allow the connection and continue with response evaluation even if the certificate is invalid.
Authentication
Set the identity of the caller from the Authentication Tab. These settings apply when Nodinite performs the test of the configured Web Service/Web Application.
- Use Windows authentication
- Use basic authentication
- Use OAuth2 authentication
- Use User name and token-based authentication
- Use certificate authentication
Use Windows authentication
Check the Use Windows authentication checkbox to perform authentication using Windows credentials.
- Domain User name - Enter the name of the domain and user (Format: DomainName\UserName)
- Password - Enter the password for the 'Domain User Name'
Use basic authentication
Check the Use basic authentication checkbox to perform authentication using basic authentication.
- User name - Enter the name of the User
- Password - Enter the password for the User
Use OAuth2 authentication
Check the Use OAuth2 authentication checkbox to perform authentication using the OAuth2 scheme.
- Client Id - The client id
- Client Secret - The client secret for the client/application
- Authorize URL - The authorization URL to receive an authorization code
- Token URL - The token URL to redeem the authorization code for an access token
- Scope - Add a scope to limit the access token. The data you enter is the value part of the 'scope=' parameter. Separate multiple scope entries with the space character New 6.0.0.1|
Use User name and token-based authentication
Check the Use User name with a token checkbox to perform authentication using the user name/password with a token scheme.
- User name - Enter the name of the User
- Password - Enter the password for the User
- Token URL - The token URL to redeem the authorization code for an access token
Use certificate authentication
Use the Use certificate authentication option to use a client certificate to authenticate with the Web Service. The following options exist:
File
The File store option provides a way to enter a path to a file-based certificate.
Store
The Store option provides a way to use a certificate installed in the Windows Certificate store.
Raw input
The Raw input option provides a way to enter a certificate in its raw format.
Settings
There are some general settings for the agent available in the Settings tab.
- Environment
- Debug
- Culture Information - Select appropriate culture to format the output of date and time in your preferred format
Environment
Part of the standard features shared with all Monitoring Agents is an option to set the name of the target environment, for example, TEST, QA, PROD.
Debug
Part of the common features shared with all Monitoring Agents, there is an option to set the Debug flag for additional file logging that can be enabled/disabled as needed. The default is unchecked (disabled).
Culture Information
The Culture Information setting determines how time-based data from this agent is presented in the Web Client/Web API.
Applications
There can be any number of Applications and these can be used to identify and group Resources:
Read more about the concept of Applications within Nodinite here:
Save
You must click on the Save button to persist values and take effect:
Note
The delay in presenting the new evaluated state depends on the synchronization interval set for the monitoring agent. Click the Sync Now button to force an immediate synchronization.
Save - Saves the current changes. The browser refreshes the content and stays on the current page.
Save and close - Saves the changes, then closes the dialogue returning the browser to the previous page.
Cancel, closes the dialogue without saving any changes.
Configure Web Services Monitoring Agent for first use
After the successful installation of the Nodinite Web Service Monitoring Agent, you must provide Nodinite with the connection details for the Monitoring Service to know there's a new guy in town.
No monitoring or other configuration of the Nodinite Web Service Monitoring Agent can be performed before the steps outlined below has been executed.
Configuration Steps
- Add and configure a new Monitoring Agent Configuration
Note
The Connection information is available in the
README.txt
file in the installation folder
- Use the Remote Configuration feature to configure the agent. Detailed at the beginning of this user guide.
- Create one or more self-service enabled Monitor Views that include the selected Resources provided by the Nodinite Web Service Monitoring Agent according to business needs.
- Fine-tune specific settings directly on Resources using Remote Actions.
Frequently asked questions
Additional solutions to common problems and the FAQ for the Nodinite Web Service Monitoring Agent exist in the Troubleshooting user guide.
Monitoring Web Services by example
The following user guides are good examples of Web Service Monitoring:
Next Step
Add or manage a Monitoring Agent Configuration
Add or manage Monitor View
Related
Install Web Service Monitoring Agent
Monitoring Agents
Applications