Data Collection for the ITRS Webserver Dashboard Process
As part of the Operational Profile metrics data collection on all ITRS software component we must be able to gather data and see its performance profile over time in addition to further analysis at the very least. The ITRS Webserver Dashboard is one common component that needs to be monitored and commonly attributed performance issues. As an initial attempt to understand and benchmark, this operational profile is a start of that so we can see its behavior over a certain period of time given a collection of metrics. So that in time:
- We can start collecting data for specific software components, in given configurations in given environments.
- We could identify the effect on the software of any given change on the software binaries, configuration, load and so on.
- We could identify if the environment that they are running the software in is fit for purpose (I.E. has it got enough resources, or is it resource staved?)
The solution provided here is a template for the building of the Webserver Operating profile. Guidelines exist for understanding the content and recommendations for specific conditions (including alerts when known issues are likely to occur, or have occurred). While this may not solve the recommendation challenges, it should help identify the health of a component and start building a real world profile of our software components resource usage under specific conditions, and identify for anyone using the template the effect of any given change to the software (be it internal or external factors).
|
Getting the gateway operational Profile
The following allows you to measure the operating profile of a webserver process
Prerequisites
- Gateway and Netprobe versions must be within curren supported versions
- Have the ability to add samplers to at least one Physical and one Virtual Netprobe on the component host (for example the server that the gateway is running on)
- A working database logging for the target gateway.
- The ability to add an include file and modify the database logging on the target gateway.
- Must have installed the Standard Operating Profile for a gateway. See here.
Setup files
You will need the following file/s
Step-by-step installation instructions
- Open the target gateway in the GSE
- Install the Webserver Operating Profile Include file
To create an include file (doesn't require host access):
- In the gateway settings Include Section right-click and select "New Include"
- Name it "webserver_operating_profile.xml", and a priority higher than 1 to avoid conflict with the main file(e.g. 999)
- Click Load include file. If prompted to Create a new one, select yes
- In XML mode, copy and paste the contents of "webserver_operating_profile.xml" (See link above) to the new include
If you have access to the host command line:
- Copy the include xml to the host, in your desired path
- In the gateway settings, copy that file name and path in a new include file
- Edit Database Logging Connection details
- Go to the Database Logging section and tick the "Enabled" checkbox to enable Database Logging
- Fill in the appropriate database connection details
- Important: Replace the probe (your_probe_here) used by entity "Webserver Operating Profile" to a physical probe running in the gateway's host. You only need to do this once per webserver.
- In the Advanced Tab of the Webserver Operating Profile entity, replace the value "webserver_process_string" to the process identifier, see below:
- Save your changes
- Verify that the Webserver Operating Profile Entity appears on your State Tree (See below)
How the content will appear in the gateway?
Expected Data views
There shall appear one Managed Entity named "Webserver Operating Profile". See below for the expected dataview.
Figure 1.1 Expected View for Webserver Operating Profile Managed Entity
Definition of Terms
Spec |
Unit Value |
Originating Sampler |
Description |
User |
User id |
Webserver Operating Profile |
User ID used to run the webserver process |
Process ID |
Process id |
Webserver Operating Profile |
Process id of the webserver |
Number of Process Threads |
Number of threads |
Webserver Operating Profile |
Number of threads used by the webserver process |
Start Time |
Datetime |
Webserver Operating Profile |
Date and Time the webserver process was started |
Args |
Argument String |
Webserver Operating Profile |
Arguments passed to the webserver process to start it up |
CPU Utilisation |
Percentage |
Webserver Operating Profile |
Percentage of total CPU used up by the webserver as reported by the process sampler. |
Memory Utilisation |
Percentage |
Webserver Operating Profile |
Percentage of total Memory used up by the webserver as reported by the process sampler. |
Memory Resident Set Size |
Kilobytes |
Webserver Operating Profile |
Memory Resident set size used by the webserver process |
Virtual Memory Usage |
Kilobytes |
Webserver Operating Profile |
Virtual Memory used by the webserver process |
Viewing the data via a dashboard
When the operational profile data is displayed in the data views it will just be as values at that point in time. The primary motivation and benefit however is to see the profile of the gateway over time, from busy trading days to calmer weekends. Assuming you have not changed the names of the managed entities, samplers and data views then you can use the following to get that historical data quickly and easily.
- Download the dashboard adb file (Webserver Operating Profile.adb), and via the Active Console, use the file ?> import function (selecting either the default or target dashboard dockable of your choice).
- ENSURE YOU ARE CONNECTED ONLY to the gateway AND to the target WEBSERVER you want the stats for (See installation step #5 above). You may need to disconnect your other gateways while performing step 3, though can can reconnect after once you are looking at the data.
- On the imported dashboard right click and select 'Repopulate all charts with historic data --> Week' (or day etc based on your requirement). This will populate the all the charts with a common time period of data, An example of which is shown below
The scrollbars at the top of the charts can be manipulated to adjust the time period that you can see the data for (so you can zoom in on specific events).
|
Comments
0 comments
Please sign in to leave a comment.