2. Metrics Message Bus#

2.1. Network Metrics Message Bus Tooling#

  • Tool Name: ontp-mbus
    • Message bus for ontp-wire capture agents to send metrics to the metric storage database.

    • Execute an instance per X number of collector nodes.

    • Pushes the metrics to the metric storage database [ontp-tsdb]

    • SSL/TLS communication channel

2.1.1. Select the method on how to write data to the metric database.#

  • Single table mode
    • All metrics are stored into one table space

  • Multi table mode
    • Metrics are stored into table spaces based on the OSI model L[1-7]

2.1.2. Request a license#

  • Request ONTP Licenses

  • You will require a license to properly start the component, such that it can be used by ontp-wire agents to relay information.

2.1.3. Launch With Docker#

2.1.4. Example docker run command#

sudo docker -d --restart unless-stopped \
       -p 2558:2558 \
       --name ontp-mbus \
       -v /etc/localtime:/etc/localtime:ro \
       -v "$PWD/certs/your_cert.crt:/var/ontp-mbus/tls/client.crt:ro" \
       -v "$PWD/certs/your_cert.key:/var/ontp-mbus/tls/client.key:ro" \
       -v "$PWD/etc/mbus.json:/var/ontp-mbus/etc/mbus.json:ro" \
       -v "$PWD/etc/ontp_license.data:/run/secrets/ontp_license.data:ro" \
       ontp-mbus:2.0.1
  • Required For Docker run command
    • Path to configuration file
      • -v “$PWD/etc/mbus.json:/var/ontp-mbus/etc/mbus.json:ro”

    • SSL Client Certificates
      • -v “$PWD/certs/your_cert.crt:/var/ontp-mbus/tls/client.crt:ro”

      • -v “$PWD/certs/your_cert.key:/var/ontp-mbus/tls/client.key:ro”

    • Ontp license file
      • -v “$PWD/etc/ontp_license.data:/run/secrets/ontp_license.data:ro”

2.1.5. Deployment Options#

Single Deployment

Load Balanced

1 collection bus for many metric decoders

Many [X] collection bus for many metric decoders

Note

  • We recommend the load balanced approach so that your collection bus is not a single point of failure.

  • Where you run multiple ontp-mbus instances to fit the size of your env.

2.1.6. Configuration File Example#

Sample configuration file with env variables defined - suitable for use in a redis store and still accept command line env variables.

 1{
 2 "listen_address": "0.0.0.0:2558",
 3 "cert_file": "/var/ontp-mbus/tls/client.crt",
 4 "key_file": "/var/ontp-mbus/tls/client.key",
 5 "allowed_cert_thumbprints": ["xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
 6                              "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"],
 7 "host_by_thumbprint": false,
 8 "host_by_cert": true,
 9 "lic_host": "lc08.ontp.dev:2568",
10 "db_host": "ip address",
11 "db_port": 5432,
12 "db_user": "db_user_id",
13 "db_pass": "dd_pass_word",
14 "db_name": "ontp_netmetrics",
15 "db_conn_timeout": 10,
16 "app_name": "netmetx",
17 "active": false,
18 "runtime_worker_threads": 8,
19 "runtime_worker_blocking_threads": 1024,
20 "max_metric_length": 2700,
21 "db_write_mode": "single_table",
22 "db_write_threads_per_client": 2,
23 "db_bulk_write": true,
24 "db_raw_write": "bulk",
25 "db_bulk_write_threshold": 50,
26 "l2_types": ["frame","eth","arp","igmp","revarp"],
27 "l3_types": ["ip","ipv6","icmp","icmpv6"],
28 "l4_types": ["tcp","udp"],
29 "l5_types": ["rpc","rtcp","scp","pap","socks","zip","dsp","l2f","h.245","appletalk","iso-sp"],
30 "max_nodes": 0,
31 "pgp_data": "",
32 "destination_sinks": ["db","kafka"],
33 "sink_db_active": 0,
34 "sink_kafka_active": 0,
35 "kafka_config": {  .. }
36 "proc_uuid": "...",
37 "debug": false
38}

2.1.7. Notes::#

Warning

  • You should use the ontp writer userid ontp_writer to connect the message bus to the ontp-tsdb[ml] instance.

  • Configuration Details - ontp-mbus config

2.1.8. Misc:#