Step-by-step Installation Directions for Big Sister 0.97 under Windows 2000 with !ActiveState
perl and Apache
Rationale for using this setup
I'm biased. I come from a strong Solaris and Linux background. I have limited experience with using Windows systems as servers, partly because my last employer was a Solaris shop, and partly because I avoid pirating software and all my home services run Linux because I can't afford as many Windows licenses as I'd need to stay legal. Also, my experience with Windows in a high-load server environment was not good; NT showed extremely poor reliability, stability, and maintainability and while admittedly this is because the application developers were of questionable ilk, we did not see the same degree of OS-related performance problems once the application was migrated to Solaris (i.e. the application didn't crash Solaris near as often as it took down NT, necessitating a physical power-cycling of the box. Conversely, we had production Solaris servers that operated for two years straight without a reboot.)
So, before this turns into too much Microsoft-bashing, my intent in choosing this setup is to use mostly stock Windows tools where possible, rather than trying to make Windows look like Unix. This is why I chose !ActiveState
perl over the Cygwin environtment (see
http://www.cygwin.org/) However, I chose Apache over IIS for two reasons:
- In my experience, IIS has an extremely poor security and reliability track record
- While both webservers are somewhat difficult to configure and verify, it's much easier (for me) to set up a minimal Apache configuration.
Apache has no indexing service, no hidden, helpful Microsoft extensions, no strange and insecure dependencies, no byzantine access controls, just a somewhat confusing array of module activation, aliasing, rewriting, and other fiddly directives. Apache's configuration can be complex but it's simple enough to allow it to just serve web pages and CGI scripts. This may be my lack of IIS admin experience, but the anecdotal evidence from the spread of !CodeRed
shows that the default installation of IIS activates a number of non-intuitive, insecure, and unnecessary "features" which I consider to be an unacceptably grave security exposure. In short, the only software I trust less than IIS is Outlook, though en masse Sun's various RPC servers (ttdbserver, rpc.csmd, snmpXdmid, rwalld) take a close second. Ah, for the simple days of yore when our only worries were fingerd and sendmail... Regardless, one can probably run Big Sister under IIS but I'll assert that it's not trivial to do so reliably or securely.
Finally, since I'm installing Big Sister clients on production servers, I want to add as little additional software as possible and the software I do add should consume as little resources as possible. I don't need the huge expanse of the Cygwin environment and there's a security risk of leaving all those nice unix tools on a production IIS box. Now ideally the bsdisplay host will eventually migrate from Win2K to some flavor of Linux (or maybe Darwin/OS-X) for security, performance, reliability and TCO/licensing reasons, necessitating a change of configuration. But for the time being, the assumed platform is Win2K for the purpose of documenting the installation process for client installations.
Before you start
- Get the current stable binary distribution of Big Sister from
http://bigsister.graeff.com/, specifically
http://bigsister.graeff.com/download.html - Get the current stable binary distribution of !ActiveState
's perl from
http://www.activestate.com, specifically
http://www.activestate.com/Products/Download/Download.plex?id=ActivePerl - (bsdisplay host only) Get the current stable NT (binary) distribution of Tobi Oetiker's !RRDTool from
http://people.ee.ethz.ch/oetiker/webtools/rrdtool/pub/ - (bsdisplay host only) Get the current stable binary distribution of Apache 1.3.x from
http://www.apache.org/dist/httpd/ (please use a mirror listed at
http://www.apache.org/dyn/closer.cgi/httpd/) - Verify you have SRVANY.EXE and INSTSRV.EXE, Microsoft utilities used for turning arbitrary user-defined scripts into services. Found in NT and Win2000 Resource Kits - note that Microsoft's site is so poorly executed, I can't give you a canonical download location for these two utilities; you'll have to chase them down yourself. I suggest using
Google because Microsoft's site is an exercise in frustration. Perhaps this is to sell more copies of the Win2K Resource Kit on CD since it's impossible to find these 'freely-available' files for download on Microsoft's site. They exist - see
http://www.microsoft.com/windows2000/techinfo/reskit/tools/default.asp and
http://www.microsoft.com/windows2000/techinfo/reskit/rktour/server/S_tools.asp. Good luck finding the canonical distributions... Anyway, see
http://support.microsoft.com/default.aspx?scid=KB;EN-US;q137890 or
http://www.pyeung.com/userdefinedservice.html for more info (and non-canonical links to SRVANY.EXE and INSTSRV.EXE.) - Enable disk performance monitoring with 'diskperf -Y' (You need to reboot to commit this change; see below)
- Find or select the IP address or name of the client machine and the bsdisplay server.
- (Optional) Patch and reboot the system. You need to reboot at least once during this process so you might as well start with the system in a clean, patched state.
Installation Process
- Install SRVANY.EXE and INSTSRV.EXE in C:\WINNT (Q: Is there a better location for these?)
- (bsdisplay host only) Install apache_1.3.26-win32-x86-no_src.exe (current Apache distribution)
- Install !ActivePerl
-5.6.1.633-MSWin32-x86.zip (current perl distribution) under c:\bin\perl (Note: If you only plan on having one version of perl on you machine, you can use the default install location of c:\perl) - Manually set PATH to include c:\bin\perl\bin with 'path %PATH%;C:\bin\perl\bin' (Note: This does not globally set path for all further invocations of CMD; it's not persistent. Also, change the path depending on the installation directory for perl)
- Unpack big-sister-0.97-NTpre.zip_ (current Big Sister distribution) and move it under c:\bigsis (so .\adm, .\bin__ are under that directory)
- (bsdisplay host only) Unpack rrdtool-1.0.38.x86distr.zip (current RRDTool distribution) under c:\bigsis and ran 'ppm install rrds.ppm' per the RRDtool installation docs.
- Install Big Sister in c:\bigsis with 'perl .\bin\install32'
- (Optional - bsdisplay host only) Modify .\adm\bb-display.cfg to use the BB skin with:
- RAA %skin static_lamps structured_bg frames
%skin bigbro13 frames
- Modify \bigsis\adm\uxmon-net to remove unix-specific checks and set up bsdisplay as below1

- Set the !BigSuxmon
and !BigSbbd
services to start automatically in the Services control panel. For bsdisplay machines, also set the !BigSmon
service to start automatically. (Optional; bsdisplay host only) Change default CGIPATH from /cgi to /cgi-bs; change CGI script extensions from ".pl" to ".cgi". Use separate directory to hold CGI scripts without using symlinks.
- Create \bigsis\cgi-bin.
- Copy bshistory.pl, bswebadmin.pl, and bswebalarm.pl from \bigsis\bin to \bigsis\cgi-bin.
- Rename bswebadmin.pl to bswebadmin.cgi.
- Rename bswebalarm.pl to bswebalarm.cgi.
- Rename bsgraph.pl to bsgraph.cgi.
- Rename bshistory.pl to bshistory.cgi.
- In each script, adjust the "shebang" (#!) line to point at the proper version of perl, in this case #!/bin/per/bin/perl; in the default !ActiveState
installation case, #!/perl/bin/perl - Go to \bigsis\www\skins\default and edit ADMIN_PATH.inc, ALARM_PATH.inc, GRAPH_PATH.inc, and HISTORY_PATH.inc to change the path and file extensions.
- If any exist, delete every file named cache in every directory under \bigsis\www\skins
- (bsdisplay host only) Add the appropriate2
Alias, !ScriptAlias
, and Directory directives to C:\Program Files\Apache Group\Apache\conf\httpd.conf - Reboot the server to start Big Sister
--- start (comments stripped) --- DEFAULT community=public frequency=5 ALL DEFAULT version=1 proto=udp rpc
localhost load \
memory \ fs=all(6%-10%) \ diskfree \ dumpdates \ eventlog \ cpuload \ network
198.214.144.69 bsdisplay
localhost frequency=10 perfdata=etc/perf options=perf bsdisplay --- end ---
--- start --- TBD --- end ---
Verification
- Verify Apache is working by checking
http://localhost/ - this should give you the standard Test Page For Apache Installation page (note Seeing this instead of the website you expected? in large, friendly letters.) - Look for html files in \bigsis\www
- Look for host-specific status files in \bigsis\www\html
- Check the Application Log in Event Viewer for errors and startup messages
- Check the Services control panel and verify the !BigSuxmon
and !BigSbbd
services to are running. For bsdisplay machines, also verify !BigSmon
is running. - Review \bigsis\var\agent.log and \bigsis\var\status.log and look for errors and suspicious entries
- Check !
http://localhost/bs/ to verify Big Sister is running properly - Check the Apache error logs \Program Files\Apache Group\Apache\logs for errors.
- Click links and debug as necessary...
Original RFC
Hi,
I've recently taken a job administering a handful of Win32 and OS-X servers after five years of maintaining racks of Solaris and Linux servers so I'm in the strange situation of knowing more about Big Sister than the OS's I'm installing it on. I'm currently running Big Sister on my home network which is composed of a bunch of Linux boxes (SuSE 7.2, SuSE 8.0, RH7.1) so I'm already familiar with basic operation and configuration. I'm mired in the annoyances of the Win32 environment and just trying to get Big Sister running.
Specifically, I'm trying to run big-sister-0.97-NTpre under Win2K. I'm also familiar with the state of the documentation (I'm not complaining; I'll document whatever I learn if I can get my current installation woes resolved) I've read through the mailing list archive and didn't find what I was looking for so I figured I'd ask publically - hopefully I can find someone who's successfully set up BS under Win32 (2K, NT, whatever) and can remember how they made Windows cooperate.
Here's what I've done so far:
- Installed SRVANY.EXE and INSTSRV.EXE in C:\WINNT
- Installed !ActivePerl
-5.6.1.633-MSWin32-x86.zip under c:\bin\perl - Manually set PATH to include c:\bin\perl\bin with
'path %PATH%;C:\bin\perl\bin' (I don't think this is set globally for all invocations of CMD)
- Enabled disk performance monitoring with 'diskperf -Y' (I still need to reboot to commit this change; I'm not worried about this yet...)
- Unpacked big-sister-0.97-NTpre.zip and moved it under c:\bigsis (so .\adm, .\bin are under that directory)
- Unpacked rrdtool-1.0.38.x86distr.zip under c:\bigsis and ran
'ppm install rrds.ppm' per the RRDtool installation docs
- Installed BS in c:\bigsis with 'perl .\bin\install32'
- Modified .\adm\bb-display.cfg to use the BB skin with:
- RAA %skin static_lamps structured_bg frames
%skin bigbro13 frames
- Modified \bigsis\adm\uxmon-net to remove unix-specific checks and set up bsdisplay as:
--- start (comments stripped) --- DEFAULT community=public frequency=5 ALL DEFAULT version=1 proto=udp rpc
localhost load \
memory \ fs=all(6%-10%) \ diskfree \ dumpdates \ eventlog \ cpuload \ network
198.214.144.69 bsdisplay
localhost frequency=10 perfdata=etc/perf options=perf bsdisplay --- end ---
and finally started up BS with 'perl .\bin\bs_start32 start'.
I see two perl processes in the Task Manager matching .\adm\bbd.pid and .\adm\uxmon. Event Viewer shows startup messages and it looks like the code is at least running uneventfully.
I get interesting output in \bigsis\var\status.log and \bigsis\var\agent.log (below). Also I see services listed for !BigSuxmon
, !BigSmon
, !BigSbbd
, though trying to activate them from the Services panel doesn't work (I'm not sure if this is expected behavior.)
At this point I have one major problem. It appears that status pages are not being generated, at least not under .\www\html. I've searched the disk for new html files but it doesn't appear that any status pages have been generated. I changed the skin back to the default but that didn't seem to do anything.
- Do I need to change a setting to specify C:\bigsis\www\html as the html directory? Or does install32 guess at a likely location (I have both IIS5 and Apache installed on this box)?
- Is there a log file that would show failed attempts to write status pages (Event Viewer or a flat log file like status.log)?
Ideally, I'd like to draft a step-by-step process for installing and configuring Big Sister under Win32 and I'd like some input from people who have more experience running the code under on NT and 2K systems.
Bob
Fragment from \bigsis\var\status.log
1030049074 198.214.144.69: status+11 xylopodang.msgs green (1030049074) Thu Aug 22 15:44:34 2002 System looks fine|>Security looks fine 1030049074 198.214.144.69: status+11 xylopodang.cpu green (1030049074) Thu Aug 22 15:44:34 2002 CPU load = 0|>cpu OK: %idle (1 CPUs) = 97.3763621123219, mem OK: %free committed = 60|>mem OK: avail mem MB = 35 1030049074 198.214.144.69: status+11 xylopodang.net green (1030049074) Thu Aug 22 15:44:34 2002 |>net OK: %interface IntelR
PRO Adapter receive usage = 0|>net OK: %interface IntelR
PRO Adapter transmit usage = 0|>net OK: %interface MS TCP Loopback interface receive usage = 0|>net OK: %interface MS TCP Loopback interface transmit usage = 0 1030049074 198.214.144.69: status+11 xylopodang.disk green (1030049074) Thu Aug 22 15:44:34 2002 |>disk OK: 1304MB (2038%) of 64MB free|>
\bigsis\var\agent.log
xylopodang.msgs 198.214.144.69 (1030048773 Thu Aug 22 15:39:33 2002) xylopodang.cpu 198.214.144.69 (1030048773 Thu Aug 22 15:39:33 2002) xylopodang.net 198.214.144.69 (1030048773 Thu Aug 22 15:39:33 2002) xylopodang.disk 198.214.144.69 (1030048773 Thu Aug 22 15:39:33 2002)
Fragment from \bigsis\var\uxmon_variables
xylopodang:perflib.Memory.Instances = ARRAY(0x38cf328) xylopodang:perflib.!LogicalDisk
.0.%_Free_Space.fraction = 1304 xylopodang:perflib.Memory.0.Pool_Paged_Bytes = 23855104 ... xylopodang:perflib.Processor.2.Interrupts/sec = 175.293328628555 xylopodang:perflib.Network_Interface.1.Packets_Received_Errors = 0 xylopodang:perflib.Network_Interface.2.Packets_Received_Unknown = 0 xylopodang:perflib.Memory.0.Commit_Limit = 646815744




