# Web Trace
This package monitors HTTP transactions.
This package uses a ServicePilot Agent and a pcap network capture library to capture HTTP traffic statistics seen on interfaces and ports listed.
HTTP statistics gathered include:
- Counts of HTTP response codes
- Counts of HTTP request types
- Counts of established and timed-out transactions
- Average response time
- Counts of transaction response times
Note that this web probe does not handle encrypted HTTPS traffic.
Also note that WinPcap cannot capture traffic on Windows loopback interfaces.
Network Flows - It is is necessary to ensure network connectivity between ServicePilot and the monitored device. In case of a network infrastructure using a firewall, all the ports below must be opened:
- TCP/HTTP: Between the source of the HTTP traffic and the machine on which the ServicePilot Agent resides. Usually a network tap or switch port mirror is put in place to capture HTTP traffic and send this to the machine on which the ServicePilot Agent resides.
- ServicePilot Manager Web server access (by default TCP/80 when using HTTP or TCP/443 when using HTTPS although this port is configurable): Between ServicePilot Agent and ServicePilot Manager
Third Party Configuration
- To capture HTTP traffic, the ServicePilot Agent needs the libpcap libraries for Linux or WinPcap for Windows installed on the same machine as the ServicePilot Agent
- ServicePilot Manager minimum version: 8.5
- ServicePilot Agent minimum version: 8.5 installed and configured
Before adding a resource to monitor, make certain that all pre-requisites are in place and if a ServicePilot Agent is required, that it is communicating correctly with the ServicePilot Manager.
Add resource using Views Configuration web interface
- As an administrative user of ServicePilot, open the ServicePilot web interface.
- Navigate to Administration. The Configuration > Views web page will open.
- Click on the view in which to place the new resource in the Views hierarchy on the left of the interface. The View editor section will show the existing view contents.
- From the Packages list on the right of the interface, click and drag the trace-webtrace package into the View editor and let go.
- The Package properties dialog box will open to allow resource configuration.
- Click OK to close the Package properties dialog box. Note that the dialog box will not close if required parameters are not set.
- Click Save to apply the new resource to ServicePilot configuration.
Key field notes
In the Monitoring Policies tab, specify the policy or policies to apply to the package
- Interface (preference order || separated): Specify the Ethernet interface names on which to capture HTTP traffic. * indicates the first network interface, any will capture on all non-loopback interfaces not traffic destined to other machine IP addresses.
- Port(s): Specify the destination TCP ports on which HTTP traffic is to be captured. Ports can be comma separated.
This web probe does not handle encrypted HTTPS traffic.
WinPcap cannot capture traffic on Windows loopback interfaces.
If capturing traffic from a network tap or port mirror that is not destined for the machine on which the ServicePilot Agent is placed, the network capture needs to be done in promiscuous mode. In this case the any network interface handle cannot be used as it does not put interfaces into promiscuous mode.
Interface names in Linux can be obtained using the ifconfig command as root.
Interface names in Windows can be obtained using the getmac /fo list /v command and noting the connection names. TThis package uses SELECT statements in the information_schema.GLOBAL_STATUS, information_schema.GLOBAL_VARIABLES and information_schema.TABLES tables. As these tables are virtual tables based on the privileges of the user used to access the MySQL instance, the user used by ServicePilot needs to have correct permissions.