policy/frameworks/cluster/controller/config.zeek

ClusterController

Configuration settings for the cluster controller.

Namespace

ClusterController

Imports

policy/frameworks/cluster/agent/config.zeek

Summary

Redefinable Options

ClusterController::connect_retry: interval &redef

The controller’s connect retry interval.

ClusterController::default_address: string &redef

The fallback listen address if ClusterController::listen_address remains empty.

ClusterController::default_port: port &redef

The fallback listen port if ClusterController::listen_port remains empty.

ClusterController::directory: string &redef

An optional custom output directory for the controller’s stdout and stderr logs.

ClusterController::listen_address: string &redef

The network address the controller listens on.

ClusterController::listen_port: string &redef

The network port the controller listens on.

ClusterController::name: string &redef

The name of this controller.

ClusterController::request_timeout: interval &redef

The timeout for request state.

ClusterController::role: ClusterController::Types::Role &redef

The role of this process in cluster management.

ClusterController::stderr_file: string &redef

The controller’s stderr log name.

ClusterController::stdout_file: string &redef

The controller’s stdout log name.

ClusterController::topic: string &redef

The controller’s Broker topic.

Functions

ClusterController::endpoint_info: function

Returns a Broker::EndpointInfo record describing the controller.

ClusterController::network_info: function

Returns a Broker::NetworkInfo record describing the controller.

Detailed Interface

Redefinable Options

ClusterController::connect_retry
Type

interval

Attributes

&redef

Default

1.0 sec

The controller’s connect retry interval. Defaults to a more aggressive value compared to Broker’s 30s.

ClusterController::default_address
Type

string

Attributes

&redef

Default

""

The fallback listen address if ClusterController::listen_address remains empty. Unless redefined, this uses Broker’s own default listen address.

ClusterController::default_port
Type

port

Attributes

&redef

Default

2150/tcp

The fallback listen port if ClusterController::listen_port remains empty.

ClusterController::directory
Type

string

Attributes

&redef

Default

""

An optional custom output directory for the controller’s stdout and stderr logs. Agent and controller currently only log locally, not via the data cluster’s logger node. (This might change in the future.) This means that if both write to the same log file, the output gets garbled.

ClusterController::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 ClusterController::default_address.

ClusterController::listen_port
Type

string

Attributes

&redef

Default

""

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

ClusterController::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>”.

ClusterController::request_timeout
Type

interval

Attributes

&redef

Default

10.0 secs

The timeout for request state. Such state (see the ClusterController::Request module) ties together request and response event pairs. The timeout causes its cleanup in the absence of a timely response. It applies both to state kept for client requests, as well as state in the agents for requests to the supervisor.

ClusterController::role
Type

ClusterController::Types::Role

Attributes

&redef

Default

ClusterController::Types::NONE

Redefinition

from policy/frameworks/cluster/agent/main.zeek

=:

ClusterController::Types::AGENT
Redefinition

from policy/frameworks/cluster/controller/main.zeek

=:

ClusterController::Types::CONTROLLER

The role of this process in cluster management. Agent and controller both redefine this. Used during logging.

ClusterController::stderr_file
Type

string

Attributes

&redef

Default

"controller.stderr"

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

ClusterController::stdout_file
Type

string

Attributes

&redef

Default

"controller.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 Zeek’s working directory. If left empty, no such log results.

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

ClusterController::topic
Type

string

Attributes

&redef

Default

"zeek/cluster-control/controller"

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

Functions

ClusterController::endpoint_info
Type

function () : Broker::EndpointInfo

Returns a Broker::EndpointInfo record describing the controller.

ClusterController::network_info
Type

function () : Broker::NetworkInfo

Returns a Broker::NetworkInfo record describing the controller.