...
d. opHA-MB licenses to be installed.
e. Time should be properly synchronised (using chrony) on all the vms Primaries and Peers.
We will be using the below example host names throughout this guide.
...
The default value of opha_role in opCommon.json is Standalone
| Code Block | ||||
|---|---|---|---|---|
| ||||
shankarn@opha-dev7:~$ grep opha_role /usr/local/omk/conf/opCommon.json
"opha_role" : "Standalone", |
...
All the following setup commands in this setup should be run as the root user
| Code Block | ||||||
|---|---|---|---|---|---|---|
| ||||||
sudo sh ./<executable> |
e.g
| Code Block | ||||||
|---|---|---|---|---|---|---|
| ||||||
sudo sh ./opHA-MB-x86_64-5.01.0.run |
1.4 Install Message Bus Software
...
Edit Configuration: Update the
/etc/nats-server.conffile with the following settings:Change the server_name to the name of your Main Primary server.
Remove or comment out the
clustersection, so that this remains:
| Code Block | ||||||
|---|---|---|---|---|---|---|
| ||||||
server_name: "opha-primary1.opmantek.net" #The local server
http_port: 8222
listen: 4222
jetstream: enabled
#tls {
# cert_file: "<path>"
# key_file: "<path>"
# #ca_file: "<path>"
# verify: true
#}
log_file: "/var/log/nats-server.log"
accounts {
$SYS {
users: [
{ user: "admin",
pass: "password"
}
]
}
ophad: {
users: [
{ user: "omkadmin", password: "op42opha42" }
]
jetstream: enabled
}
}
jetstream {
store_dir: "/opt/nats/storage"
max_memory_store: 1028M
max_file_store: 1028M
}
|
...
Run the following command
| Code Block | ||||
|---|---|---|---|---|
| ||||
mongosh --username opUserRW --password op42flow42 admin |
...
Note:- On Poller and Mirror, if Mongo has automatically initiated and you see ‘rs0 [direct: primary] admin>’ at the Mongo shell prompt, you can skip the steps below and exit from Mongo Shell.
| Code Block | ||||
|---|---|---|---|---|
| ||||
rs.initiate() exit |
Restart mongod
| Code Block | ||||
|---|---|---|---|---|
| ||||
sudo systemctl restart mongod |
...
Start the NATS service on the Main Primary server ONLY:
| Code Block | ||||
|---|---|---|---|---|
| ||||
sudo systemctl start nats-server |
...
For example if you have NMIS9, opCharts, opEvents and opHA 5 installed you would execute as follows:
| Code Block | ||||
|---|---|---|---|---|
| ||||
sudo systemctl restart nmis9d opchartsd opeventsd omkd |
...
Proceed to next step after discovering all the Peers.
1.10
...
Synchronize the
...
Primary
...
collections with Poller
For all the opHA Peers, go to opHA Peers page click on “Sync all nodes” followed by “Pull Peer Data”
1.11 Restart opHA service on the Main Primary
| Code Block | ||||
|---|---|---|---|---|
| ||||
sudo systemctl restart ophad |
1.
...
12 Start the Poller and Mirrors
Execute the following command on the poller and mirror servers.
| Code Block | ||||
|---|---|---|---|---|
| ||||
sudo /usr/local/omk/bin/ophad cmd producer start |
1.
...
13 Final Steps
Accept EULAs: Make sure when you login to each server to confirm that all End User License Agreements (EULAs) are accepted.
...
The default value of opha_role in opCommon.json is Standalone
| Code Block | ||||
|---|---|---|---|---|
| ||||
shankarn@opha-dev7:~$ grep opha_role /usr/local/omk/conf/opCommon.json
"opha_role" : "Standalone", |
...
NMIS and opCharts data are synced from all poller/mirrors to the Main Primary using Message Bus. In replication mode, If the Main Primary were to go down the Secondary Primary will retain the NMIS and opCharts data.
...
opHA-MB for opEvents (This license is an add-on for opEvents).
With this add-on opEvents will use Message Bus to sync opEvents data from each poller/mirror to the Main Primary and in replication mode opEvents data is synced to the Secondary Primary. In replication mode, If the Main Primary were to go down the Secondary Primary will retain the opEvents data.
...
You need to enter a License Key in the Modules → opLicensing as below on the Main Primary.
...
2.2 Download Software
Download the opHA-MB 5 software onto each server.
...
All the following setup commands in this setup should be run as the root user
| Code Block | ||||||
|---|---|---|---|---|---|---|
| ||||||
sudo sh ./<executable> |
e.g
| Code Block | ||||||
|---|---|---|---|---|---|---|
| ||||||
sudo sh ./opHA-MB-Linux-x86_64-5.01.0.run |
2.4 Install Message Bus Software
...
Edit Configuration: Update the
/etc/nats-server.conffile with the following settings:Change the server_name to the name of your Main Primary server.
Remove or comment out the
clustersection, so that this remains:
| Code Block | ||||||
|---|---|---|---|---|---|---|
| ||||||
server_name: "opha-primary1.opmantek.net" #The local server
http_port: 8222
listen: 4222
jetstream: enabled
#tls {
# cert_file: "<path>"
# key_file: "<path>"
# #ca_file: "<path>"
# verify: true
#}
log_file: "/var/log/nats-server.log"
accounts {
$SYS {
users: [
{ user: "admin",
pass: "password"
}
]
}
ophad: {
users: [
{ user: "omkadmin", password: "op42opha42" }
]
jetstream: enabled
}
}
jetstream {
store_dir: "/opt/nats/storage"
max_memory_store: 1028M
max_file_store: 1028M
}
|
...
Run the following command
| Code Block | ||||
|---|---|---|---|---|
| ||||
mongosh --username opUserRW --password op42flow42 admin |
Then run the following commands, to initiate a MongoDB Replica Set for streaming database changes.
| Code Block | ||||
|---|---|---|---|---|
| ||||
rs.initiate() exit |
Restart mongod
| Code Block | ||||
|---|---|---|---|---|
| ||||
systemctl restart mongod |
2.8 Common Configuration for All Servers
...
Start the NATS service on the Main Primary server ONLY:
| Code Block | ||||
|---|---|---|---|---|
| ||||
sudo systemctl start nats-server |
...
After configuration changes, restart mongod on all Poller and Mirror servers ONLY:
| Code Block | ||||
|---|---|---|---|---|
| ||||
sudo systemctl restart mongod |
...
For example if you have NMIS9, opCharts, opEvents and opHA 5 installed you would execute as follows:
| Code Block | ||||
|---|---|---|---|---|
| ||||
sudo systemctl restart nmis9d opchartsd opeventsd omkd ophad |
...
2.9.4 Restart opHA service on the Main Primary
| Code Block | ||||
|---|---|---|---|---|
| ||||
sudo systemctl restart ophad |
2.10
...
Synchronize the Primary collections with Poller
...
...
For all the opHA Peers, go to opHA Peers page click on “Sync all nodes” followed by “Pull Peer Data”. Please refer to https://docs.community.firstwave.com/wiki/spaces/opHA/pages/3272605706/opHA-MB+5.0+User+Guide#Scenario-1-%3A-Using-opHA4-‘Pull’-on-Primary-to-synchronize-nmisng-collections for more details.
2.11 Start the Poller and Mirrors
Execute the following command on the poller and mirror servers.
| Code Block | ||||
|---|---|---|---|---|
| ||||
sudo /usr/local/omk/bin/ophad cmd producer start |
Please refer to opHA-MB 5.0 User Guide
2.
...
12 Final Steps
Accept EULAs: Make sure when you login to each server to confirm that all End User License Agreements (EULAs) are accepted.
Ensure that all servers are configured to use the same timezone by using chronyc tracking. Steps to sync time :
sudo timedatectl set-timezone Australia/Sydney
sudo apt update
sudo apt install chrony -y
chronyc tracking
...