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#
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#
Note
docker repository
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