Centralised Node Management
- New administration menu to manage nodes. The GUI will work differently based on the server role:
- standalone server: Can manage local nodes.
- poller: Just view nodes.
- master server: Can manage local and remote nodes. This means, the master server can replicate the information to the remote pollers.
Managing remote nodes
There are several tools and processes to work with remotes:
Tool | Access | Working mode | Notes |
---|---|---|---|
Admin GUI | Online | Will sync the nodes online | |
CLI Tool | /usr/local/omk/bin/opnode_admin | Background | See the documentation here |
CLI Tool | /usr/local/omk/bin/opha-cli act=sync-all-nodes | Online cron job - 5 minutes | Will review and sync all the nodes |
CLI Tool | /usr/local/omk/bin/opha-cli act=sync-node | Online | Will sync just one node |
CLI Tool | /usr/local/omk/bin/opha-cli act=sync-processed-nodes | Background cron job - 5 minutes | Will sync the nodes processed by opnode_admin |
Why different processes?
- sync-all-nodes: Is a more robust process. Will check what the remote nodes have and will review what needs to be updated based on the local database, with the master as a source of truth. That means, if the node does not exist in the poller, will create the node in the poller. If the node does not exist in the master, will be removed from the poller. If the information is not the same (based in the last updated field), will be updated in the poller. More robust, but less efficient. It has to do a remote call to get all nodes from the pollers, and check one by one all the nodes.
- sync-processed-nodes: This process will update all nodes in remote pollers based on the information updated by opnode_admin. This is a less robust process, as all the changes done outside opnode_admin won't be taken into account, but it is more effective, as it will sync just the data needed.
- opnode_admin: Will update the information to be processed in background - So, it is a non blocking operation.
Redundant Node Polling
With this new feature, opHA can set up a mirror server for a poller. The mirror server will be polling the same devices than the poller.
When poller 1 is offline, the master will collect all the data from the Mirror 1 automatically.
Is a requirement that the devices collected from the poller are the same than the mirror.