Distributing Functionality

Details of the individual packages and process that make up functionality

Overview

One of the key advantages of distributed functionality is that load is taken away from the main Opsview Monitor system and is shared around other servers.

2116

It should not be necessary for the majority of organisations to do this as the Simple Automated Installation sets up all components onto one server but if you have:

  • a large numbers of devices to monitor,
  • high-demand monitoring requirements
  • a greater need for resiliency against failures

then you can easily move necessary components to other locations.

Opsview Monitor Packages

This is a list of all the available packages that comprise Opsview Monitor. For a server to perform specific functionality, only those required packages details on the sub-pages need to be installed.

Note: See also the numbers notes for some rows in this table.

Component Name (according to Watchdog)Alias (According to Web UI)Distributed StatusRequired
opsview-agentAgentDistributedYes
opsview-autodiscoverymanagerAutodiscovery ManagerOrchestrator onlyYes
opsview-bsmBSMDistributedYes 2
opsview-datastoreDataStoreDistributedYes 2
opsview-downtimemanagerDowntime ManagerDistributedYes 2
opsview-executorExecutorDistributedYes 2
opsview-filesyncFile SyncDistributedYes 3
opsview-freshnesscheckerFreshness CheckerDistributedYes 2
opsview-licensemanagerLicense ManagerOrchestrator onlyYes
opsview-loadbalancerLoad BalancerDistributedYes 5
opsview-machinestatsMachine StatsDistributedYes 4
opsview-messagequeueMessageQueueDistributedYes 2
opsview-notificationcenterNotification CenterDistributedYes
opsview-orchestratorOrchestratorOrchestrator onlyYes
opsview-registryRegistryDistributedYes 2
opsview-resultsdispatcherResults DispatcherDistributedYes 2
opsview-resultsforwarderResults ForwarderDistributedYes 3
opsview-resultsliveResults LiveDistributedYes 2

It is sharded (each resultslive node handles a specific subset of objects)
opsview-resultsperformanceResults PerformanceDistributedYes 2
opsview-resultsrecentResults RecentDistributedYes 2
opsview-resultssenderResults SenderDistributedYes 3
opsview-schedulerSchedulerDistributedYes 3
opsview-snmptrapsSnmp Traps DaemonDistributedNo
opsview-snmptrapscollectorSnmp Traps CollectorDistributedNo
opsview-statechangesState ChangesDistributedYes 2
opsview-timeseriesTimeSeriesDistributedYes 2

It is sharded (each timeseries node handles a specific subset of objects)
opsview-timeseriesenqueuerTimeSeries EnqueuerDistributedYes 2
opsview-timeseriesinfluxdbqueriesTimeSeries InfluxDB QueriesDistributedYes 1
opsview-timeseriesinfluxdbupdatesTimeSeries InfluxDB UpdatesDistributedYes 1
opsview-timeseriesrrdqueriesTimeSeries RRD QueriesDistributedYes 1
opsview-timeseriesrrdupdatesTimeSeries RRD UpdatesDistributedYes 1
opsview-watchdogWatchdogDistributedYes
opsview-webWebOrchestrator onlyYes
opsviewdDaemonOrchestrator onlyYes
Footnote 1

RRD and InfluxDB could be used as alternatives - so either RRD Updates/Queries or InfluxDB Updates/Queries

Footnote 2

Distributed components - can be installed and run on multiple servers but only one will be in use any any time

Footnote 3

Collector components. One set will be installed on Orchestrator server - any extras are proper Collector Servers. Only Scheduler is actually required on Collector - everything else could be remote.

Footnote 4

Components that is installed on every box that uses Watchdog (with the exception of SSH Tunnels to avoid dependency on Registry)

Footnote 5

Could be installed anywhere and on multiple servers

Components Servers

The below information is relevant if you are intending to run an advanced installation. Some example configuration files are provided with the opsview-deploy:

host1:~# cd /opt/opsview/deploy
 
host1:/opt/opsview/deploy# ls -l etc/examples
-rw-r--r--  1 root root 1 Sep 28 00:00 opsview_deploy-01-xsmall.yml
-rw-r--r--  1 root root 1 Sep 28 00:00 opsview_deploy-02-small.yml
-rw-r--r--  1 root root 1 Sep 28 00:00 opsview_deploy-03-medium.yml
-rw-r--r--  1 root root 1 Sep 28 00:00 opsview_deploy-04-large.yml
-rw-r--r--  1 root root 1 Sep 28 00:00 opsview_deploy-05-xlarge.yml

For more information, follow the instructions on Advanced Automated Installation

This is the list of Component servers:

Orchestrator Server

Purpose: Orchestrator Server manages configuration and provides UI

Load: High

Packages:

opsview-autodiscovery-manager
opsview-automonitor-manager
opsview-automonitor-scanner
opsview-core-utils
opsview-license-manager
opsview-orchestrator
opsview-web-app
opsview-web-app-server
opsview-webserver
includes Collector Server Components

Orchestator MessageQueue Server

Purpose: Message Bus for communication between Result Processing Components

Load: High

Documentation:

Migrating Orchestrator MessageQueue To Another Server - done

Connected Components:

opsview-results-live
opsview-results-recent
opsview-results-sender
opsview-results-performance
opsview-results-snmp
opsview-results-forwarder
opsview-results-flow
opsview-results-dispatcher
opsview-orchestrator
opsview-autodiscovery-manager
opsview-autodiscovery-scanner
opsview-state-changes
opsview-scheduler
opsview-executor
opsview-snmptraps-collector
opsview-results-dispatcher
opsview-notification-center
opsview-freshness-checker
opsview-downtime-manager
opsview-bsm

Packages:

opsview-messagequeue
opsview-messagequeue-proxy
opsview-loadbalancer

Orchestator Datastore Server

Purpose: Persistent Datastore

Load: High

Connected Components:

opsview-results-live
opsview-orchestrator
opsview-bsm
opsview-notification-center
opsview-downtime-manager

Packages:

opsview-datastore
opsview-datastore-proxy
opsview-loadbalancer

Orchestrator Database Server (remote)

Purpose: Configuration and results Database

Load: High

Connected Components:

opsview-results-live
opsview-results-recent
opsview-orchestrator
opsview-autodiscovery-manager
opsview-state-changes
opsview-results-dispatcher
opsview-results-flow
opsview-results-snmp
opsview-servicedesk-connector
opsview-freshness-checker
opsview-downtime-manager
opsview-bsm
opsview-core-utils

Packages:

mysql-server

Collector Cluster MessageQueue Server

Purpose: Collector Cluster-wide Message Bus

Load: Mid-High (depending on Cluster size and amount of monitored objects)

Connected Components:

opsview-results-sender
opsview-scheduler
opsview-executor
opsview-results-forwarder

Packages:

opsview-messagequeue
opsview-registry-proxy
opsview-loadbalancer

Collector Cluster DataStore Server

Purpose: Persistent DataStore

Load: High

Connected Components:

opsview-scheduler

Packages:

opsview-datastore
opsview-registry-proxy
opsview-loadbalancer

Results-Live Server

Purpose: Live objects status processing

Load: High

Packages:

opsview-results-live
opsview messagequeue-proxy
opsview-datastore-proxy
opsview-registry-proxy
opsview-loadbalancer

Results-Recent Server

Purpose: Gathering results for objects

Load: High

Packages:

opsview-results-recent
opsview-registry-proxy
opsview-messagequeue-proxy
opsview-loadbalancer

Results-Performance Server

Purpose: Preparing performance metrics to be send to TimeSeries

Load: Medium

Packages:

opsview-results-performance
ospview-messagequeue-proxy
opsview-registry-proxy
opsview-loadbalancer

Results-Dispatcher Server

Purpose: Routing passive results to Collectors

Load: Varies (depends on the amount of passive results)

Packages:

opsview-results-dispatcher
opsview-messagequeue-proxy
opsview-registry-proxy
opsview-loadbalancer

State-Changes Server

Purpose: Tracking state changes and notifying Notification Centre

Load: Medium/High

Packages:

opsview-state-changes
opsview-messagequeue-proxy
opsview-registry-proxy
opsview-loadbalancer

Periodic Components Server

Purpose: Periodic checks

Load: Medium

Packages:

opsview-downtime-manager
opsview-messagequeue-proxy
opsview-bsm
opsview-freshness-checker

Registry Server

Purpose: Service Discovery

Load: High

Packages:

opsview-registry

TimeSeries Server

Purpose: Processing and storing performance metrics

Load: High

Packages:

opsview-timeseries
opsview-timeseries-enqueuer
opsview-timeseries-rrd | opsview-timeseries-influxdb

Collector Server

Purpose: Hosts and services monitoring

Load: High

Packages:

opsview-agent
opsview-autodiscovery-scanner
opsview-datastore-proxy
opsview-executor
opsview-machine-stats
opsview-messagequeue-proxy
opsview-monitoring-scripts
opsview-monitoring-scripts-base
opsview-registry-proxy
opsview-results-forwarder
opsview-results-sender
opsview-scheduler
opsview-snmptraps-collector
opsview-watchdog