NEW PRODUCT!
Ed Barlow's Sybase Tools

ED BARLOW's SERVER DOCUMENTER

Eds System Documenter is a free utility that completely documents your server environment, provides extensive morning review reports, and allows customization so you can get site specific reports.

The way this tool works is that you run a batch in the middle of the night that collects error logs and interogates your servers and systems. The data is stored on your server in the directory system_information_data. The batch then creates a set of web pages in the server_documenter_data directory. Finally, this set of web pages will be ftp'ed to your web server so you can view them in the morning.

Package Goals

The tool has three goals:
  1. To provide a set of cross server reports on system configuration that can be useful for auditing, disaster recovery, and for simply understanding how your environment is set up.
  2. To provide a set of morning review reports that should allow you to completely understand the state of your servers within a few minutes of arrival in the morning. You can then be proactive to fix problems (misconfigurations, space problems, and whatever).
  3. To provide a simple interface to allow you to add your own site specific reporting. You want to see something in the morning, just add the query or command to the configuration file and it will automatically run the query on one specific system/server or on a set of systems/servers.

This package needs to be installed through the master configuration utility of eds sybase tools. It is not supported as a standalone utility.

Implemtation Details

The package comes in the server_documenter subdirectory of the eds sybase tools installation. It comes with a variety of commands, but essentially you will need to know:
  1. nightly_sybase_batch.pl
    The nightly data collecter. Gets files via ftp (passwords are found in the password file you created when you installed the toolkit). Logs into your servers and checks em out. Information saved to disk files.
  2. custom_reports.dat
    A list of custom reports for your environment. The comments indicate syntax.
  3. document_all.pl
    Builds the documentation from information allready collected. It may collect some information during the process. Try running document_all.pl -? for syntax. You can build only a subset of the reports if you choose.
  4. ftp_to_website.pl
    Copys the files to your web site. This is a modified version of ftp_to_website.dist which is changed during the configuration process to include your server information.
  5. weekly_sybase_batch.pl
    Run once a week - recalculates everything - rebuilding the dbm database from scratch. Fully discovers everything about your environment. This is what is run during the toolkit configuration process.

The database

I built a cusstom perl library for this tool. It is called Sybase::SybAdminDb and contains the api for a dbm database that contains all kinds of configuration information about your environment. This seemed a much superior approach to creating flat files for everything or to the approach of discovering all configuration informaton in real time. The main program that loads this database is called discover.pl. The database is contained in two files in the root of the tool installation (pass_db.dir pass_db.pag) and are in standard perl dbm format.

Information Collected

The tool kind of gets everything i could think of. It collects:
  1. Sybase Error Logs
  2. Sybase Backup Server Logs
  3. Sybase Run Files
  4. Sybase Configuration Information From the server
The specific set of files collected is governed by the toolkit configuration files ( sybase_passwords.dat and unix_passwords.dat ) which identify the sybase directories on your remote systems, the servers you own, etc...

Cron

You will need to set up a cron job for the nightly and weekly batches.

License

As with all my software, i retain copyright. For right to use information, please read the file LICENSE.txt

Enhancements

If i find a corporate sponsor, i will enhance this tool to perform intra day monitoring. Other than that im not sure what else i could do here. The package identifies all kinds of potential problems - a MUCH better set of rules than i have seen on *ANY* monitoring package. Of course, the reason this is true is cause every time i see a problem i just add it to the rules base... So ... If you find a problem that can be checked for, send me the rule/code and i can add.