Administration
Also available as:
PDF
loading table of contents...

Updating ZooKeeper

ZooKeeper configurations should be stored on disk in the following structure starting at $METRON_HOME/config/zookeeper:

global.json

The global config

sensors

The subdirectory containing sensor enrichment configuration JSON (for example, snort.json, bro.json)

By default, this directory as deployed by the ansible infrastructure is at $METRON_HOME/config/zookeeper.

While the configs are stored on disk, they must be loaded into ZooKeeper to be used. To this end, there is a utility program to assist in this called $METRON_HOME/bin/zk_load_config.sh.

This has the following options:

-f,--force

Force operation

-h,--help

Generate Help screen

-i,--input_dir <DIR>

The input directory containing the configuration files named like "$source.json"

-m,--mode <MODE>

The mode of operation: DUMP, PULL, PUSH

-o,--output_dir <DIR>

The output directory which will store the JSON configuration from ZooKeeper

-z,--zk_quorum <host:port,[host:port]*>

ZooKeeper Quorum URL (zk1:port,zk2:port,...)

Usage examples:

  • To dump the existing configs from ZooKeeper on the single node vagrant machine:

    $METRON_HOME/bin/zk_load_configs.sh -z node1:2181 -m DUMP

  • To push the configs into ZooKeeper on the single node vagrant machine:

    $METRON_HOME/bin/zk_load_configs.sh -z node1:2181 -m PUSH -i $METRON_HOME/config/zookeeper

  • To pull the configs from ZooKeeper to the single node vagrant machine disk:

    $METRON_HOME/bin/zk_load_configs.sh -z node1:2181 -m PULL -o $METRON_HOME/config/zookeeper -f