Skip to end of banner
Go to start of banner

Patching NMIS with 8.3.24G Update

Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 5 Next »

NMIS 8.3.24G is being released for general availability, This release provides many bug fixes and a few new features.

Install CPAN Modules

NMIS8 now requires Net::Syslog, see the 8.3.9G patch for info on SMTP::SSL

cpan
install Net::SMTP::SSL # (required for 8.3.9G)
install Net::Syslog 

Patch NMIS8 code with the NMIS8.3.18G update

#Backup current NMIS code and config including models
DATE=`date "+%Y-%m-%d-%H%M"`
cd /usr/local/nmis8
tar cvf ~/nmis8-backup-$DATE.tar ./admin ./bin ./cgi-bin ./conf ./install ./lib ./menu ./mibs ./models

#Make sure NMIS is working before you patch it.
/usr/local/nmis8/bin/nmis.pl type=collect debug=true node=<node to test>

#Get CP working right. (no prompts)
unalias cp

#Unarchive the NMIS tarball
cd ~
tar xvf nmis-8.3.24g.tar.gz

# Patch the Code Base
cp nmis8.3.24g/admin/* /usr/local/nmis8/admin
cp nmis8.3.24g/bin/* /usr/local/nmis8/bin
cp nmis8.3.24g/cgi-bin/* /usr/local/nmis8/cgi-bin
cp -r nmis8.3.24g/install/* /usr/local/nmis8/install
cp -r nmis8.3.24g/lib/* /usr/local/nmis8/lib
cp -r nmis8.3.24g/menu/* /usr/local/nmis8/menu
cp nmis8.3.24g/models-install/* /usr/local/nmis8/models-install

Checking Model Changes

NMIS 8.3.24g includes many device modelling enhancements, improved graphs and more, if you have made no changes to your models you can overwrite your existing models, otherwise you will need to merge the new models with the existing models, that requires consideration outside this document.  To overwrite your existing models:

cp /usr/local/nmis8/models-install /usr/local/nmis8/models

 

Patch NMIS8 Config

Your NMIS installation may have settings that you have changed from the default installation.  If you would like to keep these changes you will need to merge the additional fields that have been added into the stock configuration into your custom configuration.  NMIS provides a tool called updateconfig.pl to help you do this:

# merge changes for new NMIS Config options. 
/usr/local/nmis8/admin/updateconfig.pl /usr/local/nmis8/install/Config.nmis /usr/local/nmis8/conf/Config.nmis
/usr/local/nmis8/admin/updateconfig.pl /usr/local/nmis8/install/Access.nmis /usr/local/nmis8/conf/Access.nmis 

Most of the config files will likely be the same as the install version, for these you can just copy the new versions

# copy newer configuration files (check that you don't have local changes to these files before running) 
cp /usr/local/nmis8/install/Tables.nmis /usr/local/nmis8/conf 
cp /usr/local/nmis8/install/Table-*.nmis /usr/local/nmis8/conf 
cp /usr/local/nmis8/install/Logs.nmis /usr/local/nmis8/conf 
cp /usr/local/nmis8/install/Users.nmis /usr/local/nmis8/conf
cp /usr/local/nmis8/install/Services.nmis /usr/local/nmis8/conf
cp /usr/local/nmis8/install/License.nmis /usr/local/nmis8/conf
cp /usr/local/nmis8/install/Modules.nmis /usr/local/nmis8/conf
cp /usr/local/nmis8/install/Escalations.nmis /usr/local/nmis8/conf
cp /usr/local/nmis8/install/Portal.nmis /usr/local/nmis8/conf
cp /usr/local/nmis8/install/logrotate.conf /usr/local/nmis8/conf
cp /usr/local/nmis8/install/users.dat /usr/local/nmis8/conf

Update Server Configuration

Crontab 

The new crontab which you generate by running this command /usr/local/nmis8/bin/nmis.pl type=crontab

MAILTO=WhoeverYouAre@yourdomain.tld 
######################################################
# NMIS8 Config
######################################################
# Run Statistics Collection
*/5 * * * * /usr/local/nmis8/bin/nmis.pl type=collect mthread=true maxthreads=10
######################################################
# Run Summary Update every 2 minutes
*/2 * * * * /usr/local/nmis8/bin/nmis.pl type=summary
#####################################################
# Run the interfaces 4 times an hour with Thresholding on!!!
# if threshold_poll_cycle is set to false, then enable cron based thresholding
#*/15 * * * * nice /usr/local/nmis8/bin/nmis.pl type=threshold mthread=true maxthreads=10
######################################################
# Run the update once a day 
30 20 * * * nice /usr/local/nmis8/bin/nmis.pl type=update mthread=true maxthreads=10
######################################################
# Check to rotate the logs 4am every day UTC
5 20 * * * /usr/sbin/logrotate /usr/local/nmis8/conf/logrotate.conf
##################################################
# save this crontab every day
0 8 * * * crontab -l > /usr/local/nmis8/conf/crontab.root
########################################
# Run the Reports Weekly Monthly Daily
# daily
0 0 * * * /usr/local/nmis8/bin/run-reports.pl day health
0 0 * * * /usr/local/nmis8/bin/run-reports.pl day top10
0 0 * * * /usr/local/nmis8/bin/run-reports.pl day outage
0 0 * * * /usr/local/nmis8/bin/run-reports.pl day response
0 0 * * * /usr/local/nmis8/bin/run-reports.pl day avail
0 0 * * * /usr/local/nmis8/bin/run-reports.pl day port
# weekly
0 0 * * 0 /usr/local/nmis8/bin/run-reports.pl week health
0 0 * * 0 /usr/local/nmis8/bin/run-reports.pl week top10
0 0 * * 0 /usr/local/nmis8/bin/run-reports.pl week outage
0 0 * * 0 /usr/local/nmis8/bin/run-reports.pl week response
0 0 * * 0 /usr/local/nmis8/bin/run-reports.pl week avail
# monthly
0 0 1 * * /usr/local/nmis8/bin/run-reports.pl month health
0 0 1 * * /usr/local/nmis8/bin/run-reports.pl month top10
0 0 1 * * /usr/local/nmis8/bin/run-reports.pl month outage
0 0 1 * * /usr/local/nmis8/bin/run-reports.pl month response
0 0 1 * * /usr/local/nmis8/bin/run-reports.pl month avail
###########################################

NMIS Configuration

You will need to verify the following configuration options have been set correctly or removed.

nmis_summary_poll_cycle

There are some updates to improve UI and polling synchronisation.  Check the following configuration option for nmis_summary_poll_cycle, it should be set to false and the summary update added to the crontab.

 'nmis_summary_poll_cycle' => 'false', 

global_nocollect_noDescription

This needs to be set to blank unless you intentionally want it to be "true"

'global_nocollect_noDescription' => '',    

fastping_node_poll

We have found this is better set to a lower number, but if your experience has been otherwise, you do not need to change it.

'fastping_node_poll' => '200',

tables_case_sensitive_keys

This config setting "tables_case_sensitive_keys" is redundant, it is being done in the Tables.nmis file now.

File Permissions

Change Config.nmis to tell NMIS to use the new file permission scheme

%hash = (
--SNIP-- 
  'system' => {
  --SNIP--
    'os_execperm' => '0770',
    'os_fileperm' => '0660',

Authentication

We recommend updating the authentication system from apache to htpasswd (so NMIS does authentication instead of Apache). 3 steps need to be taken to change this.

  1. Change Config.nmis to tell NMIS to use htpasswd 

    %hash = (
    --SNIP-- 
     'authentication' => {
     --SNIP--
       'auth_method_1' => 'htpasswd',  # <= change this FROM apache TO htpasswd
  2. Backup old apache configGenerate new apache configuration (if you have customised yours edit it and remove the auth portions instead of generating a new one) 

    #backup old config
    cd /etc/httpd/conf.d/
    cp 00nmis.conf 00nmis.conf.pre-8.3.24G.bak
  3. Create new config to replace old config and restart apache 

    /usr/local/nmis8/bin/nmis.pl type=apache > /etc/httpd/conf.d/00nmis.conf
    service httpd restart

Fix Data Type for Some Counters

Fix Data Type on mib2ip Counters

Run this command to make all the DS's COUNTER instead of GAUGE

/usr/local/nmis8/admin/rrd_tune_mib2ip.pl run=true change=true

 Fix Data Type on TopChanges Counters

 Run this command to make TopChanges the DS's COUNTER instead of GAUGE

/usr/local/nmis8/admin/rrd_tune_topo.pl run=true change=true

Restart Daemons

/usr/local/nmis8/bin/fpingd.pl restart=true

Update the Font Cache

In order to make RRD run faster it really helps to update the font cache 

fc-cache -f -v

Clean up and Test

# optionally audit your config
/usr/local/nmis8/bin/nmis.pl type=audit
# fix your config
/usr/local/nmis8/bin/nmis.pl type=config
# fix permissions
/usr/local/nmis8/admin/fixperms.pl
# test polling
/usr/local/nmis8/bin/nmis.pl type=collect debug=true node=<node to test> 
  • No labels