Architect your solution, determine initial configuration/setup, create processes for deployment and rollback.

Identify Your Products and Solutions

System Architecture

Product Architecture

Opmantek's solutions are 3-tier applications comprised of a (shared) backend database, an application layer, and the presentation layer. While these can be decoupled and hosted on separate platforms, it is generally not necessary. In some rare situations, clients may benefit from hosting the Mongo DB on a separate server from the other applications.


Opmantek's solutions are designed to be deployed on a single server, as demonstrated by the Opmantek VM. However, how well this deployment will scale is dependant on several factors, including:

In most situations, the deciding factor limiting server scaling is the ability to read/write data to the storage device. Opmantek strongly recommends fast, local SSD over traditional hard drives.

Multiple Server, No High Availability

Opmantek's licensing is based on the total number of devices/interfaces being collected and not the number of servers deployed to do the collection. As a result, you can install Opmantek's products on multiple servers in order to spread the load. This results in lower resource requirements for each virtual machine (resulting in a lower probability of resource contention and oversubscription).

A common architecture for this is to split products onto separate servers by feature -

Multiple Server, w/High Availability

While this is the most flexible architectural option it does require a license of Opmantek's opHA module. This option provides the ability to scale collection horizontally across multiple Pollers, and then have those devices report up to one or more Master servers at the top-tier.

This architectural option should be considered in the following situations:

Document Architecture Decision

Now that you've selected your system architecture you should spend a moment to document your decision. You should include all relevant factors considered in making your decision, which subnets will be covered by each server, a generalized list of devices by manufacturer and model each server will monitor, and any network or device configurations required (i.e. SNMP/WMI credentials, network security changes, etc).

Server Sizing

Server sizing is both an art and a science. However, there is a good bit of math to throw in there when determining minimum storage requirements.

Server Resources (vCPU and RAM)

Open-AudIT (Windows or Linux installation)

NMIS8 (with no other modules on the server)

opCharts or opReports (with NMIS only)

opEvents (with NMIS only)

opConfig (with NMIS only)

opTrend (with NMIS only)


Single Server, All-In-One Deployment (Open-AudIT, NMIS, opCharts, opEvents, opConfig, opReports, opTrend)

Storage Requirements

The biggest limiting factor in server performance is disk IO. The system must be able to have unrestricted read/write access to the storage medium. Opmantek highly recommends the use of local SSD storage over traditional hard drives.



opCharts, opReports, opEvents, opConfig, and opTrend



Opmantek Virtual Machine

Polling Server vs Master Server

Planning Deployment


Common files and directory structures


Open-AudIT, all OMK Modules


Product Upgrades

Opmantek uses an Agile development methodology in product development and releases several product updates every quarter. It is up to you as to how often these updates are installed, but we recommend at least a semiannual, if not quarterly basis in order to obtain the most recent features and bug fixes.

If you have started with the Opmantek Virtual Machine (VM) you should check the vm's /omk page for upgrade availability.

Server Maintenance

Product Upgrades only affect Opmantek products, and any components directly required. It does NOT update or patch the server OS, or third party applications like Apache or Mongo DB. You should make arrangements with your IT or server support team to manage server patching in accordance with your company's guidelines and expectations.

Next Up

Implement - Execute your plan, test, and validate the deployment.