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::default_port_websocket: port &redef

The fallback listen port if Management::Controller::listen_port_websocket 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 for Broker clients.

Management::Controller::listen_address_websocket: string &redef

The network address the controller listens on for websocket clients.

Management::Controller::listen_port: string &redef

The network port the controller listens on for Broker clients.

Management::Controller::listen_port_websocket: string &redef

The network port the controller listens on for websocket clients.

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’s Broker connectivity.

Management::Controller::endpoint_info_websocket: function

Returns a Broker::EndpointInfo record describing the controller’s websocket connectivity.

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’s Broker connectivity.

Management::Controller::network_info_websocket: function

Returns a Broker::NetworkInfo record describing the controller’s websocket connectivity.

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. When set to 0/unknown, the controller won’t listen for Broker connections. Don’t do this if your management agents connect to the controller (instead of the default other way around), as they require Broker connectivity.

Management::Controller::default_port_websocket
Type

port

Attributes

&redef

Default

2149/tcp

The fallback listen port if Management::Controller::listen_port_websocket remains empty. When set to 0/unknown, the controller won’t listen for websocket clients.

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 for Broker clients. By default this uses 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_address_websocket
Type

string

Attributes

&redef

Default

""

The network address the controller listens on for websocket clients. By default this uses the ZEEK_CONTROLLER_WEBSOCKET_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 for Broker clients. Defaults to the ZEEK_CONTROLLER_PORT environment variable. When that is not set, the implementation falls back to Management::Controller::default_port.

Management::Controller::listen_port_websocket
Type

string

Attributes

&redef

Default

""

The network port the controller listens on for websocket clients. Defaults to the ZEEK_CONTROLLER_WEBSOCKET_PORT environment variable. When that is not set, the implementation falls back to Management::Controller::default_port_websocket.

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’s Broker connectivity.

Management::Controller::endpoint_info_websocket
Type

function () : Broker::EndpointInfo

Returns a Broker::EndpointInfo record describing the controller’s websocket connectivity.

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’s Broker connectivity.

Management::Controller::network_info_websocket
Type

function () : Broker::NetworkInfo

Returns a Broker::NetworkInfo record describing the controller’s websocket connectivity.