Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Code Block
#!/usr/bin/perl
use FindBin;
use lib "$FindBin::Bin/../lib";
use strict;
use func;

### This section sets domain wide NMIS properties.

my $auth_ldap_context = 'ou=example,dc=example.example,dc=com';
my $auth_ldap_server = '10.10.10.10';
my $auth_lockout_after = '3';
my $auth_method_1 = 'ldap';
my $auth_method_2 = 'htpasswd';
my $auth_method_3 = '';

my $company_logo = '/nmis8/ourLogo.jpg';

### This section sets domain wide OMK properties

### opCharts secion (OMK)
my $opcharts_gui_node_search_mode = 'prefetch';
my $opcharts_gui_refresh_time = '30';
### opConfig section (OMK)
my $opconfig_default_period = '10d';
my $opconfigd_update_delay = '1200';
my $opconfigd_update_rate = '30';
### opEvents section (OMK) 
my $opevents_dns_cache = '4800';
my $opevents_dns_retry = '200';

### This section is interactive and will prompt the user for server unique properties.

print "\nThis script will provision the NMIS/OMK server with serveral attributes.\nStatic attributes will be found at the top of the script.\nPlease open this script with a text editor and review them for accuracy.\n\nThis script will prompt the user for attrbitues that are unique to each server.\n\nPress Enter to continue.\n\n";
<>;
print "\nEnter the NMIS nmis_host value: ";
my $nmis_host = <>;
chomp $nmis_host;
print "Enter the NMIS server_name value: ";
my $server_name = <>;
chomp $server_name;
print "Enter the opEvents opevents_hostname value: ";
my $opevents_hostname = <>;
chomp $opevents_hostname;

### This section reads the current configuration files and loads them into their 
### respective hash's.

my $nmisConf = readFiletoHash(file=>'/usr/local/nmis8/conf/Config.nmis');
my $omkConf = readFiletoHash(file=>'/usr/local/omk/conf/opCommon.nmis');

### This section rewrites the properties we have set.

### NMIS Configuration 
$nmisConf->{'authentication'}{'auth_ldap_context'} = $auth_ldap_context;
$nmisConf->{'authentication'}{'auth_ldap_server'} = $auth_ldap_server;
$nmisConf->{'authentication'}{'auth_lockout_after'} = $auth_lockout_after;
$nmisConf->{'authentication'}{'auth_method_1'} = $auth_method_1;
$nmisConf->{'authentication'}{'auth_method_2'} = $auth_method_2;
$nmisConf->{'authentication'}{'auth_method_3'} = $auth_method_3;
$nmisConf->{'files'}{'company_logo'} = $company_logo;
$nmisConf->{'globals'}{'global_collect_Description'} = $global_collect_Description;
$nmisConf->{'system'}{'nmis_host'} = $nmis_host;
$nmisConf->{'system'}{'server_name'} = $server_name;

### OMK Configuration
$omkConf->{'authentication'}{'auth_ldap_context'} = $auth_ldap_context;
$omkConf->{'authentication'}{'auth_ldap_server'} = $auth_ldap_server;
$omkConf->{'authentication'}{'auth_lockout_after'} = $auth_lockout_after;
$omkConf->{'authentication'}{'auth_method_1'} = $auth_method_1;
$omkConf->{'authentication'}{'auth_method_3'} = $auth_method_3;
$omkConf->{'opcharts'}{'opcharts_gui_node_search_mode'} = $opcharts_gui_node_search_mode;
$omkConf->{'opcharts'}{'opcharts_gui_refresh_time'} = $opcharts_gui_refresh_time;
$omkConf->{'opconfig'}{'opconfig_default_period'} = $opconfig_default_period;
$omkConf->{'opconfig'}{'opconfigd_update_delay'} = $opconfigd_update_delay;
$omkConf->{'opconfig'}{'opconfigd_update_rate'} = $opconfigd_update_rate;
$omkConf->{'opevents'}{'opevents_hostname'} = $opevents_hostname;
$omkConf->{'opevents'}{'opevents_dns_cache'} = $opevents_dns_cache;
$omkConf->{'opevents'}{'opevents_dns_retry'} = $opevents_dns_retry;
$omkConf->{'opevents'}{'opevents_import_node_interfaces'} = $opevents_import_node_interfaces;

### This section writes the new configuration files with the updated properties.

#writeHashtoFilewriteHashtoFile(file=>'/usr/local/nmis8/conf/Config.nmis', data=>$nmisConf);
writeHashtoFile(file=>'/tmp/Config.nmis', data=>$nmisConf);
#writeHashtoFile(file=>'/usr/local/omk/conf/opCommon.nmis', data=>$omkConf);
writeHashtoFile(file=>'/tmp/opCommon.nmis', data=>$omkConf);

### This section asks the user if now is a good time to restart the OMK services.

print "\nConfiguration update is complete!\n";
print "\nIn order for the new OMK attributes to take affect the associated\n";
print "Daemons should be restarted.  Wold you like to restart the deamons now?\n";
print "yes or no?: ";
my $choice = <>;
chomp $choice;
if ( $choice eq "yes" ) {
    system("service opeventsd restart");
    system("service opconfigd restart");
    system("service omkd restart");
}
else {
    print "\nThe following Daemons will need to be restarted before these changes will take affect.\n";
    print "\t- opeventsd\n\t- opconfigd\n\t- omkd\n";
}
print "\nThis action is complete.\n\n";