June MAR

Peter Woods | AppHosting | Friday, June 29th, 2007

Web Migrations: The web migrations are complete.  The hard drives in helios, web-srv1, and web-srv2 have been wiped back to a blank state for proper disposal.  All unnecessary DNS entries have been removed, and IP addresses have been returned to the pool for re-use. 

Load Balancing: blogs.vanderbilt.edu has been load balanced using the CSM. Other servers are scheduled.

VUnetID Server Replacement: The server is built, and the vast majority of the system configuration is done.  The IDEV team is testing individual applications to verify that they are functional and operate within the Linux web server framework.

PBX Pager Phase II: I attended meetings as the AppHosting representative.  Architecturally, this project will not require any new hardware resources from AppHosting.

NetTracker Updates: I've updated the NetTracker configuration to accommodate some of the recent web servers changes.  The logs from the VICC server are now being imported into the VUCH/VICC profile.  

Operational Tasks: This month I did the following:

  • Weekly AppHosting Incident Report
  • Magic Tickets

Mental Note To Myself

Peter Woods | Notes To Myself | Thursday, June 28th, 2007

Since I don't do this very often, here's the quick notes on extending a logical volume:

fdisk /dev/sdb
partprobe
pvcreate /dev/sdb1
vgextend VolGroup00 /dev/sdb1
lvextend -l +3200 /dev/VolGroup00/LogVol04
ext2online -v /dev/VolGroup00/LogVol04

Log Reduction

Peter Woods | Web Services | Friday, June 22nd, 2007

I've removed the PHP notices from the Apache error logs.  This will greatly reduce the amount of log entires.  Unfortunately, web developers will need to do additional testing if something is awry with their site.

Looking At The Logs

Peter Woods | Web Services | Tuesday, June 19th, 2007

I've gone back and taken a peak that the Apache logs for the first whole 7 days (June 4-10) of the main Vanderbilt website.  The content on www.vanderbilt.edu created by 296 authors belonging to various VU departments and related organizations.  There's no need to say that the choice of tools and development styles varies greatly.  The main website receives about 1.8 million requests per day.  Since this data was from the first week after the migration, I was more interested in what was in there error log.  So what's in the error logs?

There were nearly 30 million lines in the error logs.  That means that for every request, there are 3 errors, which is incredibly high.  Here are the counts:


Total lines: 29562819
File does not exist: 363272
Directory index forbidden by rule: 4647
File permissions deny server access: 483
Premature end of script headers: 278
Htaccess options not allowed: 6335
PHP notice: 16544472
PHP warning: 12613195
ModSecurity: 27023
Miscellaneous: 3114

As you can see the vast majority of the errors (98.6%) are PHP notices and warnings. The old environment did have PHP, but it did not report these types of errors.  The notices are mostly scripting error relating to undefined indexes, variables, properties, and offsets.  The warnings hit a variety of issues like passing the wrong data types or incorrect numbers of arguments to PHP functions, MySQL errors, or use of deprecated functions.  The notices are usually harmless, but the warnings usually have an impact on the site rendering, especially the improper function calls and MySQL errors. These can be eliminated with proper variable declarations and error checking.

The "file does not exist" errors are the ever-popular 404 browser errors.  These are primarily related to the outdated/unclaimed content that was removed.  Approximately 25% of the original content was removed from the server, and the search engines are now discovering this.  Even though nearly 25% of the content was removed, these errors only account for 1.2% of the total.

The directory index errors are related to requests for directories that do not have a suitably named index file.  The accepted list of index names was carried over from the old Sun servers, but some people are not using them.  The  "file permissions" errors relatively obvious.  The "premature end" errors are generated by Perl scripts that exit in an error state.  These are probably from unused scripts that were not tested during the migration phase.  the htaccess errors are related to attempts to override the system configuration.  

The most interesting errors are related to ModSecurity.  These were a very small percentage (0.09%) of the total errors, but they are interesting because of the request behind them.  This Apache module was added to protect against vulnerabilities in web applications.  It also looks out for the unwanted requests like SQL and XSS injection attempts. 

The log files are available for review by the web developers.  We keep a full week on hand just in case.  They are located in /www.vanderbilt.edu/logs on the main server, and in similarly named directories on the other servers.

VICC Updates

Peter Woods | Web Services | Monday, June 18th, 2007

The VICC logs are now being imported into the VUCH/VICC NetTracker profile.

First Blog Post

Peter Woods | Web Services | Sunday, June 17th, 2007

This is the first blog post to the new load balanced blog servers .  This is the first of the new shared web servers to go behind the Cisco CSM.  Webmail has already been there for a bit.  This is a good step towards that "five 9s" uptime.

Bye Bye Web-srv2

Peter Woods | Projects, Web Services | Friday, June 15th, 2007

Web-srv2 is officially blank, and I've submitted the request to have it removed from the data center.  That's one more Ultra2 that has been taken care of.
Web-srv2’s Last Day

Timing Is Everything

Peter Woods | Projects, Web Services | Thursday, June 14th, 2007

I booted web-srv2 from the install CD to wipe the drives, and one of the drives does not power up.  Luckily this happened after the service was transferred to the new servers.  Otherwise, I'd be rebuilding this server from spare parts.

Bye Bye Web-srv1

Peter Woods | AppHosting, Projects, Web Services | Thursday, June 14th, 2007

I just submitted the request to remove web-srv1 from the data center.  Web-srv1 was the work horse that handled the majority of the requests for the shared web environment.  The Sun 220R handled roughly 2 million requests per day for the main Vanderbilt website.  The Apache configuration file was approximately 100 pages when printed. Here's a picture for those that are curious.

Web-srv1’s Last Day

Farewell To An Old Friend

Peter Woods | AppHosting, Projects, Web Services | Tuesday, June 12th, 2007

Today we say goodbye our old friend Helios. For those who do know know Helios, this was the machine where web developers in the Vanderbilt community uploaded their content. When I first started in ITS, Helios ran on a Sun SparcStation 10, a piece of hardware that was introduced in 1992.  It ran that way until it had a catastrophic hardware failure and would not boot. I rebuilt Helios on a slightly new SparcStation 20 (introduced by Sun in 1994).  It also got a serious upgrade that day- a 150 MHz processor and 256 MB memory.  Helios was an integral part of the web environment until June 3rd when the cutover to the new Linux servers occurred. Today I wiped the 1 GB and 4 GB drives, and submitted the request to remove the hardware from the Hill data center.

Helios’ Last Day

Helios will make a brief stop in storage before continuing its path to wherever surplus equipment goes.  It won't be alone for long though. Web-srv1 and Web-srv2 will soon be joining Helios in storage. 

Next Page »