policy/frameworks/management/controller/config.zeek

Management::Controller

Configuration settings for the cluster controller.

Namespace

Management::Controller

Imports

policy/frameworks/management

Summary

Redefinable Options

Management::Controller::auto_assign_ports: bool &redef

Whether the controller should auto-assign listening ports to cluster nodes that need them and don’t have them explicitly specified in cluster configurations.

Management::Controller::auto_assign_start_port: port &redef

The TCP start port to use for auto-assigning cluster node listening ports, if Management::Controller::auto_assign_ports is enabled (the default) and the provided configurations don’t have ports assigned.

Management::Controller::default_port: port &redef

The fallback listen port if Management::Controller::listen_port remains empty.

Management::Controller::directory: string &redef

An optional custom output directory for stdout/stderr.

Management::Controller::listen_address: string &redef

The network address the controller listens on.

Management::Controller::listen_port: string &redef

The network port the controller listens on.

Management::Controller::name: string &redef

The name of this controller.

Management::Controller::stderr_file: string &redef

The controller’s stderr log name.

Management::Controller::stdout_file: string &redef

The controller’s stdout log name.

Management::Controller::topic: string &redef

The controller’s Broker topic.

Constants

Management::Controller::store_name: string

The name of the Broker store the controller uses to persist internal state to disk.

Functions

Management::Controller::endpoint_info: function

Returns a Broker::EndpointInfo record describing the controller.

Management::Controller::get_name: function

Returns the effective name of the controller.

Management::Controller::network_info: function

Returns a Broker::NetworkInfo record describing the controller.

Detailed Interface

Redefinable Options

Management::Controller::auto_assign_ports
Type

bool

Attributes

&redef

Default

T

Whether the controller should auto-assign listening ports to cluster nodes that need them and don’t have them explicitly specified in cluster configurations.

Management::Controller::auto_assign_start_port
Type

port

Attributes

&redef

Default

2200/tcp

The TCP start port to use for auto-assigning cluster node listening ports, if Management::Controller::auto_assign_ports is enabled (the default) and the provided configurations don’t have ports assigned.

Management::Controller::default_port
Type

port

Attributes

&redef

Default

2150/tcp

The fallback listen port if Management::Controller::listen_port remains empty.

Management::Controller::directory
Type

string

Attributes

&redef

Default

""

An optional custom output directory for stdout/stderr. Agent and controller currently only log locally, not via the Zeek cluster’s logger node. This means that if both write to the same log file, output gets garbled.

Management::Controller::listen_address
Type

string

Attributes

&redef

Default

""

The network address the controller listens on. By default this uses the value of the ZEEK_CONTROLLER_ADDR environment variable, but you may also redef to a specific value. When empty, the implementation falls back to Management::default_address.

Management::Controller::listen_port
Type

string

Attributes

&redef

Default

""

The network port the controller listens on. Counterpart to Management::Controller::listen_address, defaulting to the ZEEK_CONTROLLER_PORT environment variable.

Management::Controller::name
Type

string

Attributes

&redef

Default

""

The name of this controller. Defaults to the value of the ZEEK_CONTROLLER_NAME environment variable. When that is unset and the user doesn’t redef the value, the implementation defaults to “controller-<hostname>”.

Management::Controller::stderr_file
Type

string

Attributes

&redef

Default

"stderr"

The controller’s stderr log name. Like Management::Controller::stdout_file, but for the stderr stream.

Management::Controller::stdout_file
Type

string

Attributes

&redef

Default

"stdout"

The controller’s stdout log name. If the string is non-empty, Zeek will produce a free-form log (i.e., not one governed by Zeek’s logging framework) in the controller’s working directory. If left empty, no such log results.

Note that the controller also establishes a “proper” Zeek log via the Management::Log module.

Management::Controller::topic
Type

string

Attributes

&redef

Default

"zeek/management/controller"

The controller’s Broker topic. Clients send requests to this topic.

Constants

Management::Controller::store_name
Type

string

Default

"controller"

The name of the Broker store the controller uses to persist internal state to disk.

Functions

Management::Controller::endpoint_info
Type

function () : Broker::EndpointInfo

Returns a Broker::EndpointInfo record describing the controller.

Management::Controller::get_name
Type

function () : string

Returns the effective name of the controller.

Management::Controller::network_info
Type

function () : Broker::NetworkInfo

Returns a Broker::NetworkInfo record describing the controller.