INSTALL
上传用户:wxp200602
上传日期:2007-10-30
资源大小:4028k
文件大小:7k
- REQUIREMENTS
- A knowledgeable user. This system is *not* entirely user friendly
- yet. You have been warned. Use at your own risk. yada yada yada.
- Get and install:
-
- the mysql (http://www.mysql.com) database
- it may work with other databases, but I haven't tried.
- Apache (http://www.apache.org)
- The following perl modules (http://www.cpan.org):
- mod_perl
- SNMP (from the net-snmp source tree: SRCTREE/perl/SNMP)
- CGI
- DBI
- DBD::mSQL
- GD::Graph
- You may need more modules depending on your perl version, so sorry
- in advance if I missed some.
- Building and setting up mysql (a summary of what is needed. See the
- mysql documentation for further details):
- ./configure
- make
- make install
- scripts/mysql_install_db
-
- start it by running 'safe_mysqld'.
- To run the sql commands listed in the following text, run
- 'mysql'.
- SQL REQUIREMENTS
- The scripts used by this project automatically create, edit, delete,
- insert, update, etc everything necessary. Because of this, you'll
- need to set up a SQL user with the ability to modify the heck out of
- a database called "snmp" on your mysql server. We'll call this user
- SQLUSER below, and its password SQLPASSWORD. Replace these with
- your appropriate information anytime you see them listed below.
- INSTALLING THE PERL MODULES
- perl Makefile.PL
- make
- make install
- Copy the red.gif, and green.gif graphics files to your apache
- HTML-ROOT/graphics/.
- SETTING UP APACHE
- (assumes you have mod_perl installed properly from above)
- Idealy, it should be put behind a user/password database in your web
- server (something that sets the REMOTE_USER environmental for CGI
- scripts). This will greatly enhance its operation so that different
- users can be users of different groups of hosts, etc... If this is
- not done, everyone will use the user name "guest".
- At the bottom of your httpd.conf file or in an apporpriate
- VirtualHost directive put the following lines, appropriately
- configuring the sql username, etc. I strongly recommend turning on
- SSL support for this as well.:
- PerlModule netsnmp::manager
- <Location /manage>
- # put apache protection stuff here, like a password database etc!!!
- SetHandler perl-script
- PerlHandler ucdsnmp::manager
- PerlSetVar hostname SQLHOST
- PerlSetVar dbname snmp
- PerlSetVar user SQLUSER
- PerlSetVar pass SQLPASSWORD
- # turn on password protection. see apache htpasswd documentation.
- # comment these out for unauthenticated access (generally a bad idea)
- AuthType Basic
- AuthName "SNMP manager access"
- AuthUserFile /etc/httpd/conf/manager-passwd
- require valid-user
- </Location>
- Restart apache after you've done the above.
- SETTING UP THE MYSQL UCD-SNMP DATABASES
- Use the following perl script to set up the mysql database tables
- required:
- ./setupdb -u SQLUSER -p SQLPASSWORD -h SQLHOST
- To display what this will do before you run it:
- ./setupdb -v -n
- SETTING UP USERS OF THE SYSTEM
- Now you need to add yourself as a user. You'll want to use a
- username that you configured for your apache password file (or
- whatever), or the user "guest" if you didn't configure apache for
- authenticated access. The -a in this case grants "administrative"
- rights to the group of hosts, and thus allows the user to add new
- hosts to the group, delete hosts, etc. Non-administrative users are
- mostly "read-only" type users.
- The interface groups hosts together in "groups", and you put users
- in these groups to assign responsiblity for them. Groups are
- created when a user gets assigned to one, so just pick a groupname
- for now and use it below. Maybe later you can add yourself to a new
- group using a similar command, and the web interface will change to
- reflect that you are now in more than one group. Use the same group
- name for multiple users that all belong to a single "group".
- If you add an email address to the argument list the system will
- mail that user every time it finds a problem or finds a problem that
- has been fixed.
- *** DO NOT PICK A GROUP WITH THE NAME "default" ***
- ./setupuser -u SQLUSER -p SQLPASSWORD -h SQLHOST -a GROUPNAME USERNAME [EMAILADDRESS]
- SETTING UP SNMP AUTHORIZATION INFORMATION
- Now, you need to add in your default authorization information for
- how to make SNMP requests to your host. The parameter names you can
- pick come straight from the SNMP perl module, so see "perldoc SNMP"
- for all the parameter names you can pick from.
- Examples:
- ./setupauth -u SQLUSER -p SQLPASSWORD -h SQLHOST Version 1 Community public
- ./setupauth -u SQLUSER -p SQLPASSWORD -h SQLHOST Version 3 SecName 'v3user' AuthPass 'myv3passphrase' SecLevel authNoPriv
- I also recommend adding a large default timeout (30 secs):
- ./setupauth -u SQLUSER -p SQLPASSWORD -h SQLHOST Timeout 30000000
-
- If you want different parameters for a group, it'll inherit
- everything from the default parameters specified above plus any more
- that you set or override:
- ./setupauth -u SQLUSER -p SQLPASSWORD -h SQLHOST -g agroup Community private
- Further, hosts can be given specific parameters as well if they're
- really special:
- ./setupauth -u SQLUSER -p SQLPASSWORD -h SQLHOST -m host Timeout 60000000
- COLLECTING THE DATA
- The command you need to run to collect data is snmptosql, which will
- use the information defined above to fill your data base with all
- sorts of useful information that you've asked it to collect.
- Something like:
- snmptosql -H SQLHOST -u SQLUSER -p SQLPASSWORD
- should be put in cron to update a regular intervals. I run mine
- every 10 minutes. Note that it will *not* scale to a large number
- of hosts easily at the moment. Start with no more than 20 or so to
- begin with.
- USING THE SYSTEM
- Most of the things you'll need to do can be done from the web
- interface that you've just set up as /manager on some system in the
- step above. Go to this web page to see what you can do.
- MONITORING HOSTS WITH IT (finally)
- It's *not* entirely intuitive yet. So, lets give you an example. In
- your snmpd.conf file, put a line that says "proc sendmail". This will
- check to see if sendmail is running on your system. Also put "disk /
- 10%" which will require the disk has at least 10% of free space.
- Restart the snmpd (or kill -HUP). See the snmpd.conf manual page
- for some details.
- Then, go to the above URL and click on the group name you want to
- add a host to and enter the host name in the dialog box near the
- bottom of the page (assuming you're logged in as an administrator
- user setup using the -a flag to setupuser above). Click on the
- "setup group XXX" link at the bottom of the group's page and click
- on all the check buttons (you can turn them all on even if you're
- not really using them all) and hit the submit button.
- Come back 10 minutes later, reload the group and click on the host
- name. You should see pretty red/green lights if there is or isn't a
- problem. It'll show you a few tables with the various bits of data
- it collected (including how many sendmail processes are running, an
- how much disk space is actually being used), etc.
- GRAPHING
- To be written.