eccluster.conf File

March 26, 2020 Contributors

The eccluster.conf file configures the behavior of the Momentum Cluster Manager eccmgr. Note that it does not configure the behavior of cluster nodes. This file is found in the /opt/msys/ecelerity/etc/conf/default/ directory.

The following is an example eccluster.conf file:

# Security stanza
Security {
  user = "ecuser"
  group = "ecuser"
}

# Logs stanza
Logs {
  logfile = "/var/log/eccluster/%Y/%m/%d/%{l}/%{s}/%{n}"
  file_mode = "0640"
  dir_mode = "0755"
}

# Control_Listener stanza
Control_Listener {
  AuthDigestMD5Parameters = [
    uri = "ecauth://"
  ]
  Enable_Authentication = "true"

  Enable_Authorization = "false"
  AuthorizationParameters = [
    uri = "ecauth://"
  ]

  Listen "/tmp/2025" {
    Enable_Authentication = "false"
  }
  Listen "127.0.0.1:2025" {
  }
}

# Cluster Manager event logging
# troubleshoot the eccmgr instance by looking for its logs
# in /var/log/eccluster/paniclog.ec
ec_logger "ec_logger"
{
  rejectlog = "/var/log/eccluster/rejectlog.ec"
  mainlog = "/var/log/eccluster/mainlog.ec"
  heartbeat = "0"
  paniclog = "/var/log/eccluster/paniclog.ec"
# acctlog = "/var/log/eccluster/acctlog.ec"
}

# Include auxillary information prepared by the installer; this must be the
# last thing in the top level eccluster.conf file
readonly_include "/opt/msys/etc/installer/eccmgr.d/ecdb.conf"

Using the console from the cluster manager, you can view the contents of the eccluster.conf file. For instance, if your configuration matches the example above, the output of config show Logs is as follows:

/tmp/2025> config show Logs
dir_mode = "0755"
logfile = "/var/log/eccluster/%Y/%m/%d/%{l}/%{s}/%{n}"
file_mode = "0640"

Since the eccluster.conf file is specific to the cluster manager, you cannot view the Logs scope from the console on a cluster node.

For a discussion of scopes and fallbacks, see “Configuration Scopes and Fallback”.

For a summary of all the non-module specific configuration options, refer to Configuration Options Summary .

Modules and their configuration options are discussed in the Modules Reference .

The following sections provide an overview of the configuration commonly defined in the eccluster.conf file.

Security

For a discussion of the Security stanza options, see security.

Control_Listener

The Control_Listener stanza, specifies the port on which eccmgr listens. On Unix systems, eccmgr listens at /tmp/2025 by default. For a discussion of the Control_Listener, see Configuring Momentum’s System Console .

Cluster Manager Event Logging

For a discussion of using the ec_logger module on the cluster manager, see “Configuration for the Cluster Manager”.

For a discussion of using the bounce_logger module on the cluster manager, see “Configuration for the Cluster Manager”.

Log Aggregation

The Logs scope must be configured in order to aggregate node logs on the log aggregator. The following is the default configuration in the eccluster.conf file:

Logs {
  logfile = "/var/log/eccluster/%Y/%m/%d/%{l}/%{s}/%{n}"
  file_mode = "0640"
  dir_mode = "0755"
}

The following options are valid in the Logs scope.

Control_Cache

Name of the cache file storing asynchronous responses to clusterwide Momentum inquiries

Dir_Mode

Octal representation of the file permissions of newly created log directories

File_Mode

Octal representation of the file permissions of newly created log files

Logfile

Defines the full pathname of the log file to be written.

As eccmgr is capable of writing log files into several distinct locations, a simple interpolation set is provided. All of the POSIX strftime macros are supported (see the POSIX strftime standard), as well as two special interpolations. %{n} will interpolate to the name of the cluster node that generated the log line in question. %{l} will interpolate to the name of the log as named in the logs section of the cluster configuration in the ecelerity.conf. For more information about the POSIX strftime macros, see strftime.

There is no restriction on the value assigned to this option as long as it creates a valid path after all the macros get expanded; it does not have to exist beforehand, eccmgr will create directories as needed, hence the Dir_Mode.

Max_Idle

Maximum number of seconds a log file may be left open without writing a new log entry to it

Max_Open

Maximum number of concurrently open log files

The example configuration, “Logs Stanza”, creates logs under /var/log/eccluster according to the logfile setting. This is processed by strftime expanding the macros as follows:

%Y

Four digit representation of the year

%m

Two digit representation of the month

%d

Two digit representation of the day of the month

Additional special place holders are as follows:

%{l}

Expands to the name of the log specified as the key in the logs dictionary configured within the cluster scope of the ecelerity-cluster.conf file. See logs

%{n}

Expands to the name of the node

%{s}

Expands to the name of the subcluster to which the node belongs

For example, the mainlog, being pulled from node1, where node1 is a member of the subcluster named mycluster, the data would be logged to: /var/log/eccluster*/year/month/day/*mainlog/mycluster/node1.

In addition to the place holders shown above, all of the POSIX strftime macros are supported. For more information, see strftime.

There are no requirements regarding the structure of the filenames, nor is there any expectation that you have configured centralized logging, so you are free to adjust the logfile parameter to suit your needs as long as logfile defines a valid path after all the macros get expanded. The path does not have to exist beforehand, eccmgr will create directories as needed.

Included Files

The /opt/msys/etc/installer/eccmgr.d/ecdb.conf file contains the definition of the ecdb datasource file.

as_logger Module

The as_logger module is specific to the cluster manager. It must be manually added to the eccluster.conf file, if needed.