Table of Contents |
---|
Status
Table of Contents |
---|
Summary
In this guide we will migrate the data from NMIS8 and OMK Applications to nmis9 and OMK Applications.
- Server: uburnto (ubuntu 18) → deb-n-burn (debian 10)
- nmis 8.7.2 → nmis 9.2.2
- opCharts 2.5.1 → opCharts 3
- opConfig 3.5.2 → opConfig 4
- opEvents 2.6.3 → opEvents 3
- opHA 2.2.2 → opHA 3
- opReports 3.4.2 → opReports 4
Status | ||||
---|---|---|---|---|
|
...
We can move all the files except the Table-tablename.nmis.
Configure
...
- Import the old nmis8 configuration and review important configuration options
Configure
We need to make some adjustments to the Config file.
...
Code Block |
---|
/usr/local/nmis9/bin/nmis-cli act=fixperms |
Import NMIS 8 configuration Items
More information here
Review important configuration Items
More information here
Configuration Files: Option 2
...
- Some node properties have been updated. This mean the event action rules should be updated regarding this document.
- Parser plugins also needs to be update.
...
Step 3. OMK Applications considerations
opCharts
opCharts uses the same database.
...
Status | ||||
---|---|---|---|---|
|
opEvents
Update database name in opCommon.json:
...
Code Block |
---|
/usr/local/omk/bin/opevents-cli.pl act=setup-db debug=1 |
opConfig
Update database name in opCommon.json:
...
Code Block |
---|
/usr/local/omk/bin/opconfig-cli.pl act=setup-db debug=1 |
opReports
NMIS8 opReports and NMIS9 opReports work the same way:
...
Code Block |
---|
rsync -r root@myserver.com:/usr/local/omk/var/reports var/ rsync -r root@myserver.com:/usr/local/omk/var/opreports var/ |
opHA
opHA 3 works different from opHA 2. The peers would need to be imported manually using the GUI or the cli, using nmis8/conf/Servers.nmis file.
...
Code Block |
---|
sudo service nmis9d start sudo service omkd start sudo service opeventsd start sudo service opchartsd start sudo service opconfigd start |
Upgrade process (II): Installing
...
TODO (If requested).
Notes
...
apps (NMIS9)
Prerequisites
- The destination server is a brand new server.
- We would need the last installers from all the products in the /tmp directory.
Step 1. sync nmis8 folder
We can use rsync for this:
Code Block |
---|
rsync -r root@myserver.com:/usr/local/nmis8 /usr/local |
Step 2. run the nmis 9 installer
We can follow the guide for this.
The installer will import the nodes from nmis8 automatically.
Step 3. stop nmis9d
When done, stop the nmis9 service. Let's do other changes before keeps running.
Code Block |
---|
sudo service nmis9d stop |
Step 4. Check imported nodes
Some of the nodes may not be imported, if you see that message in the logs:
Code Block |
---|
OUTPUT: Error saving node teide: given roleType 'BGP' is not a known type: 'default,core,distribution,access' |
Please make sure to copy all this configuration items from nmis8 to nmis9:
Code Block |
---|
"roletype_list"
"nettype_list"
"nodetype_list" |
And run the script again:
Code Block |
---|
/usr/local/nmis9/admin/node_admin.pl act=import_bulk nodes=/usr/local/nmis8/conf/Nodes.nmis info=true |
Step 5. Configuration
Configuration Files
Configure
We need to make some adjustments to the Config file.
- Review important parameters, as the number of workers (workers parameter in config). We can use this rule to get a starter number, but this will depend on the server resources, the amount of data collected by the node, etc. If the server is too slow we would need to decrease the number. If there are nodes with more than 3x late collects (Check the polling summary), the number should be increased:
Code Block |
---|
(Number of nodes x AVG Collect time) / 300 |
300 _ Default polling time.
- There is a script to use in opCommon (Just from the last software versions) that compares configuration items from a configuration file missing from another.
Code Block |
---|
/usr/local/omk/bin/opcommon-cli.pl act=compare_configs nmis8=/tmp/nmis8.nmis nmis9=/tmp/nmis9.nmis |
- This will compare the keys. But if we want to compare the values (To compare, the default configuration file and the customised, to see want has changed):
Code Block |
---|
/usr/local/omk/bin/opcommon-cli.pl act=compare_custom default=/usr/local/nmis9/conf-default/Config.nmis custom=/usr/local/nmis9/conf/Config.nmis |
- Then, fix file permissions:
Code Block |
---|
/usr/local/nmis9/bin/nmis-cli act=fixperms |
Model Files
We can move all the model customisations in the models-custom directory. We can use rsync for this again.
NOTE Some models may need to be adjusted. Specially if they are using nmis internal functions.
Plugins
We have moved the conf/plugins directory using rsync. But the custom plugins need to be adapted to NMIS9.
Here you can find further information.
Step 6. Copy RRDs
Link to Step 3 Copy RRDs above
Step 7: Verify
Upgrade process (II): Installing apps (OMK)
Prerequisites
- The destination server is a brand new server with nmis9 installed.
- nmis9 has been running for a couple of cycles to create the inventory. Then, it should be stopped.
- We would need the last installers from all the products in the /tmp directory.
Step 1. Installers running
Run the installers for each application. All the data should be automatically migrated.
Step 2. Customise configuration
Same steps as the other procedure.
Step 3. opConfig data
Run the migration script:
Code Block |
---|
/usr/local/omk/bin/opconfig-cli.pl act=migrate-nodes debug=9 |
Step 4. opReports data
Same steps as the other procedure.
Step 5. opCharts data
Run the migration script:
Code Block |
---|
/usr/local/omk/bin/opcharts-cli.exe act=migrate-monitored-services dir=/usr/local/nmis8/var/service_status debug=1 |
Notes
- It is important to update nmis 9 first and leave running for a couple of poll cycles so inventory is created. nmis9 will create its own inventory, as this is now saved in the db and has a specific format. These data will be used for other scripts from the apps to migrate some data.
- opconfig and opevents share the same database in the old version. This is because the products database name should be changed to "nmis", the old database name.
- nmis8 didn't use mongo. This is because opConfig has its own nodes database. We don't want to replicate information, so now opConfig will use nmisng database to get the nodes information. We would need to use the opConfig migration script to port some specific configurations from the internal database to nmis.