# webvis

## NAME



           **webvis** - visualize system-level Web server activity
    


## SYNOPSIS



           **webvis**[**-CVz**] [**-A** _align_] [**-a** _archive_] [**-b** _maxbusy_] [**-h** _host_] [**-i**
           _maxio_] [**-m** _max_] [**-n** _pmnsfile_] [**-O** _time_] [**-p** _port_] [**-r** _maxreq_] [**-S**
           _time_] [**-T** _time_] [**-t** _interval_] [**-x** _version_] [**-Z** _timezone_]
           [_interface_ ...]
    


## DESCRIPTION



           **webvis** displays an overview of system level Web server performance
           statistics collected from the Performance Co-Pilot (PCP)
           infrastructure.  The display is modulated by the values of the
           performance metrics retrieved from the target _host_ (which is
           running pmcd(1) and the pmdaweblog(1) Performance Metrics Domain
           Agent) or from the PCP archive log identified by _archive_.  The
           display is updated every _interval_ seconds (default 2 seconds).
    
           As in all pmview(1) scenes, when the mouse is moved over one of
           the bars, the current value and metric information for that bar
           will be shown in the text box near the top of the display.
    
           The height of the web request and network activity bars is
           proportional to the performance metric values relative to the
           maximum expected activity, as controlled by the **-m** and **-r** options
           (see below).  Similarly the **-b** and **-i** options control the scaling
           for disk activity bars.
    
           The bars in the **webvis** scene represent the following information;
    
           **Requests by Size**
               At the front of the scene, the "Requests by Size" row of bars
               shows the rate of requests for different size requests (the
               histograms are defined by the following byte counts: 0, 3
               Kbytes, 10 Kbytes, 30 Kbytes, 100 Kbytes, 300 Kbytes, 1 Mbyte,
               3 Mbytes and larger than 3 Mbytes).  Notice that the size
               divisions are not evenly distributed.  The "size" is the data
               portion of the response to each Web server request.  These
               rates are aggregated across all monitored Web servers.
    
           **Requests by Type**
               This row of bars shows the request rate for each type of HTTP
               request (get, post, head and other), aggregated across all
               monitored Web servers.  For a detailed display showing the
               break down of requests _per Web server_ , see weblogvis(1).
    
           **Network**
               For every network interface there are two stacked bars.  One
               of the bars shows the input traffic while the other bar shows
               the output traffic.  The stacks are composed of the number of
               errors (red), the number of drops (orange) and the number of
               packets (green).  In general, if there are any "dropped input
               packets" then the corresponding network interface is
               saturated, or there are insufficient network resources
               available in the kernel to adequately service the input
               request load.  If this is the case then the **Alarm Conditions**
               rows (see below) may provide more detail into the source of
               the problem.
    
           **Alarm Conditions**
               The red row of bars shows an assortment of TCP error
               conditions (aggregated for all network interfaces), the orange
               bars show critical kernel buffer allocation problems, and the
               yellow bar shows severe paging conditions.  If any of these
               bars have a non-zero height then the system being monitored
               may require kernel parameter tuning, software reconfiguration
               or more hardware resources.  The performance metrics behind
               the bars are:
    
               **network.tcp.drops**
                      - rate of dropped connections
    
               **network.tcp.conndrops**
                      - rate of embryonic connections dropped
    
               **network.tcp.timeoutdrop**
                      - rate of connections dropped by rexmit timeout
    
               **network.tcp.rcvbadsum**
                      - rate of packets discarded for bad checksums
    
               **network.tcp.rexmttimeo**
                      - rate of retransmit timeouts
    
               **network.tcp.sndrexmitpack**
                      - rate of data packets retransmitted
    
               **swap.pagesout**
                      - page swap out rate (indicating insufficient memory)
    
               **network.mbuf.failed**
                      - rate of incidents where the kernel failed to find
                      mbuf space
    
               **network.mbuf.waited**
                      - rate of incidents where the kernel waited to find
                      mbuf space
    
           **CPU** This column shows CPU utilization, aggregated over all CPUs.
               (CPU idle time is not included in the column).
    
           **Disk**
               There are two cylinders showing disk metrics.  The first
               cylinder shows the rate of read (yellow) and write (violet)
               operations, aggregated over all disk spindles.  The second
               cylinder shows the average (over all disks) percentage of time
               for which a disk is busy or active.  This metric is not
               available in PCP1.x versions, therefore if **webvis** is being
               used to monitor a host running PCP1.x this cylinder will not
               be displayed.
    
               To adjust the scaling of these objects, refer to the **-b** and **-i**
               options described below.
    
           **Mem** There are two bars showing memory metrics.  The first bar
               shows utilized memory, with different colors representing
               different types of utilization (kernel, user, etc), while the
               second bar shows the amount of free memory.  If **webvis** is
               being used to monitor a host running PCP1.x then only the bar
               showing free memory will be displayed.
    
           If any optional _interface_ arguments are specified in the command
           line, then just the network interfaces matching the _interface_
           arguments will appear in the **Network** section.  By default, **all**
           interfaces will be used.  The _interface_ arguments are used as
           patterns for **egrep**(1) matching against the interface names, so **ec**
           would select all external Ethernet interfaces for a Challenge S.
    
           **webvis** uses pmview(1), and so the user interface follows that
           described for pmview(1), which in turn displays the scene within
           an Inventor examiner viewer.
    
           **webvis** passes most command line options to pmview(1).  Therefore,
           the command line options **-A** , **-a** , **-C** , **-h** , **-n** , **-O** , **-p** , **-S** , **-t** , **-T** ,
           **-x** , **-Z** and **-z** , and the user interface are described in the
           pmview(1) man page.
    
           Options specific to **webvis** are:
    
           **-b** _maxbusy_
                  Controls the maximum (normalization) value for the average
                  percentage of the time active over all disks.  The default
                  value is 30% active.
    
           **-i** _maxio_
                  Controls the maximum (normalization) value for the sume of
                  the aggregate disk read and disk write rates.  The default
                  value is 100 I/Os per second.
    
           **-m** _max_ Controls the maximum (normalization) value for the packet
                  input and packet output rates.  The default value is 750
                  packets/second.
    
           **-r** _maxreq_
                  Controls the maximum Web request rate.  The default is 5%
                  of the maximum packet rate (i.e. 38 requests/second by
                  default).  The maximum Web error rate is fixed at 20% of
                  the maximum Web request rate (i.e. 7 errors/second by
                  default).
    
           **-V** The derived configuration file for pmview(1) is written on
                  standard output.  This may be saved and used directly with
                  **pmview** if the user wishes to customize the display, or
                  modify some of the normalization parameters.
    


## FILES



           _$PCP_VAR_DIR/pmns/_ *
                  default PMNS specification files
           _$PCP_VAR_DIR/config/pmlogger/config.web_
                  pmlogger(1) configuration file that can be used to create a
                  PCP archive suitable for display with **webvis**
    


## PCP ENVIRONMENT



           Environment variables with the prefix **PCP_** are used to
           parameterize the file and directory names used by PCP.  On each
           installation, the file _/etc/pcp.conf_ contains the local values for
           these variables.  The **$PCP_CONF** variable may be used to specify an
           alternative configuration file, as described in **pcp.conf**(4).
    


* * *