Resource and hardware requirements

Make sure that you meet the following resource and hardware requirements for your configuration size before installing Obcerv.

Obcerv’s required size depends mainly on the message rate it needs to handle.

T-shirt sizing Message rate Obcerv entities Indicative server range
Large 100,000 250,000 3,000-9,000
Medium 50,000 125,000 900-3,000
Small 10,000 25,000 300-900
Micro 3,000 10,000 Up to 300

For current Geneos customers, you can find the message rate generated by any Gateway (version 5.14.0 and later) by configuring Obcerv publishing in statistics-only mode. To determine the total required message rate, add up the message rates from all Gateways that share an Obcerv instance.

If you do not have these statistics, you can initially reference the sizing guidelines provided. The estimated range of the number of servers that Obcerv can handle are based on certain assumptions (see below) and an analysis of existing customer Gateways.

Indicative server range Computation
Lower estimate The following conservative assumptions were used:
  • 20-second sampling
  • 2 managed entities per server
  • 7 dataviews per managed entity
  • 10 columns and 10 rows per dataview
  • 50% of values changing every sample period
Upper estimate Actual message rates from various customer Gateways were used. Most of these Gateways use 20-second sampling and a wide range of plugins.

You may use these estimates as a starting point, but validate it with actual statistics from your Gateways as soon as possible, since message rates can vary significantly between different plugins.

T-shirt sizing for HA-enabled Copied

Large Copied

Specification Requirement
Obcerv entities 250,000
Messages per second limit 100,000
Messages per second target range 50-100K
Indicative server range 3,000-9,000
Operating system Linux
CPU
  • Timescale: 48 cores
  • Workloads: 61 cores
RAM
  • Timescale: 360 GiB memory
  • Workloads: 142 GiB memory
Throughput
  • WAL disk: 5000 IOPs / 200 Mbps
  • Timescale: 3000 IOPs / 125Mbps
  • Apps: 3000 IOPs / 125Mbps
Disks (total estimate) See Sample configuration for AWS EC2 handling 100k metrics/sec (large).

Medium Copied

Specification Requirement
Obcerv entities 125,000
Messages per second limit 50,000
Messages per second target range 10-50K
Indicative server range 900 - 3,000
Operating system Linux
CPU
  • Timescale: 24 cores
  • Workloads: 44 cores
RAM
  • Timescale: 283 GiB memory
  • Workloads: 98 GiB memory
Throughput
  • WAL disk: 3000 IOPs / 200 Mbps
  • Timescale: 3000 IOPs / 125Mbps
  • Apps: 3000 IOPs / 125Mbps
Disks (total estimate) See Sample configuration for AWS EC2 handling 50k metrics/sec (medium).

Small Copied

Specification Requirement
Obcerv entities 25,000
Messages per second limit 10,000
Messages per second target range 0-10K
Indicative server range 300-900
Operating system Linux
CPU 34 cores
RAM 80 GiB memory
Throughput 3000 IOPs / 125Mbps
Disks (total estimate) See Sample configuration for AWS EC2 handling 10k metrics/sec (small).

T-shirt sizing for Non-HA Copied

Small Copied

Specification Requirement
Obcerv entities 25,000
Messages per second limit 10,000
Messages per second target range 0-10K
Indicative server range 300-900
Operating system Linux
CPU 34 cores
RAM 80 GiB memory
Throughput 3000 IOPs / 125Mbps

Micro Copied

Specification Requirement
Obcerv entities 10,000
Messages per second limit 3,000
Messages per second target range 0-3K
Indicative server range Up to 300
Operating system Linux
CPU 16 cores
RAM 64 GiB memory
Disks (total estimate)

500 GB (SSD)

See Sample configuration for AWS EC2 with ALB Ingress controller (micro).

Storage considerations for embedded cluster installations Copied

Relocate directories with bind mounts Copied

When installing on an embedded cluster with limited space, you can relocate directories by running:

sudo mount --bind /source/directory /target/directory

For example:

sudo mkdir -p /mnt/openebs /mnt/embedded-cluster /mnt/k0s /mnt/tmp
sudo mount --bind /mnt/openebs /var/openebs
sudo mount --bind /mnt/k0s /var/lib/k0s
sudo mount --bind /mnt/embedded-cluster /var/lib/embedded-cluster
sudo mount --bind /mnt/tmp /tmp

If /tmp is insufficient for all components, you can instead set the environment variable TMPDIR to a larger directory without needing to bind mount. To do this, run:

sudo TMPDIR=/mnt/new-tmp ./obcerv-bobcat install ...
["Obcerv"] ["User Guide", "Technical Reference"]

Was this topic helpful?