Monitoring

your ArsDigita Community System installation by Tracy Adams and

The Big Picture

The ArsDigita Community System has an integrated set of monitoring tools.

Parameters

Monitoring parameters as centralized in the monitoring section of the .ini file. Add a new PersontoNotify for each person who should receive monitoring alerts.
[ns/server/yourservername/acs/monitoring]
; People to email for alerts
PersontoNotify=
;PersontoNotify=
; location of the watchdog perl script
WatchDogParser=/web/yourservicename/bin/aolserver-errors.pl
; watchdog frequency in minutes
WatchDogFrequency=15

Current page requests - monitor.tcl

The "current page request" section (linked from /admin/monitoring/) will produce a report like the following.

There are a total of 8 requests being served right now (to 8 distinct IP addresses). Note that this number seems to include only the larger requests. Smaller requests, e.g., for .html files and in-line images, seem to come and go too fast for this program to catch.
conn # client IP state method url n seconds bytes
17899 212.252.145.38 running GET /photo/pcd3255/chappy-store-31.4.jpg 59 158544
18185 38.27.213.213 running GET /wtr/thebook/html.html 21 0
18247 171.210.228.91 running GET /photo/nikon/nikon-reviews.html 15 0
18367 209.86.54.190 running GET /bboard/image.tcl 8 34228
18454 199.174.160.135 running GET /photo/pcd1669/treptower-big-view-51.4.jpg 1 34376
18464 207.100.29.220 running ? ? 1 0
18468 216.214.210.53 running GET /chat/js-refresh.tcl 0 0
18481 216.34.106.252 running GET /monitor.tcl 0 0

This report will inform you which users are waiting on pages from your server. In the report above, users asking for large images or pages are waiting. This is normal because some users have very slow connections.

If you see the same .tcl or .adp file often, especially with the longest wait times, it is likely that the script is extremely slow or is hogging database handles. You should

If you see a large number of requests from the same IP address, it is likely that a poorly-designed spider is attacking your web service. To stop it, ban that IP address from your system.

Cassandracle (Oracle)

Cassandracle is a Web-based monitor for an Oracle installation. The goal is that, at a glance, a novice Oracle DBA ought to be able to identify problems and find pointers to relevant reference materials.

To use Cassandracle in your installation, you will need to give the web service's database user read access to some core Oracle tables.

  1. Log into Oracle via sqlplus
  2. Execute:
    SQL> connect internal
  3. Run the commands in /sql/cassandracle.sql
  4. Execute
    SQL> grant ad_cassandracle to username;

    Configuration

    This is a simple section with information about the current machine and connection. The information provided is pretty sparse and should expand in the future.

    WatchDog (Error log)

    Every WatchDogFrequency seconds, the service's error logs will be scanned. If errors are found, they will be emailed to those configured as a PersontoNotify. The administration pages have a tool to search the error log for errors.

    Registered Filters and Schedule Procedures

    The ad_register_filter and ad_schedule_proc procs are wrappers around the corresponding ns_ calls, which allow us to more carefully track what's happening on the server and when. /admin/monitoring/filters.tcl shows which filters are called for which URLs and methods, and /admin/monitoring/scheduled-procs.tcl shows which procedures are scheduled to be called in the future.
    ,