DataStax OpsCenter Documentation

Advanced configuration

Using the OpsCenter console is the most convenient way to configure basic OpsCenter settings. To configure advanced capabilities, you modify configuration files.

The main configuration files for OpsCenter are:

  • opscenterd.conf - Configures the properties for the OpsCenter daemon.
  • <cluster_specific>.conf - Configures properties for each cluster monitored by OpsCenter. This file is created when you add a cluster to the Opscenter.

OpsCenter configuration properties

The location of the opscenterd.conf file depends on the type of installation:

  • Packaged installations: /etc/opscenter/opscenterd.conf
  • Binary tarball installations (Linux and Mac OSX): <install_location>/conf/opscenterd.conf
  • Windows installations: Program Files (x86)\DataStax Community\opscenter\conf\opscenterd.conf

Note

After changing properties in this file, restart OpsCenter for the changes to take effect.

You configure the following properties in opscenterd.conf:

[agents] ssh_port

The Secure Shell (SSH) port that listens for agent-OpsCenter communications. Add an [agents] section, if one doesn't already exist, to the opscenterd.conf. In this section, add the ssh_port option and a value for the port number:

[agents]
ssh_port = 2222

[webserver] port

  • The HTTP port used for client connections to the OpsCenter web server. Default is 8888.

  • Optional HTTPS support.

    To enable HTTPS, remove the comment markers (#) in front of properties prefixed with ssl in the opscenterd.conf file, as described in Configuring HTTPS.

[webserver] interface

The interface that the web server uses to listen for client connections. The interface must be an externally accessible IP address or host name.

[logging] level

The logging level for OpsCenter. Available levels are (from most to least verbose): TRACE, DEBUG, INFO, WARN, or ERROR. The OpsCenter log file is located in /var/log/opscenter/opscenterd.log.

[stat_reporter] interval

By default, OpsCenter periodically sends usage metrics about the cluster to DataStax. This data is collected and reported when Opscenter starts up, and then every 24 hours afterwards. The goal is for this data to be completely anonymous. This includes not tracking or logging the ips that this data is sent from. You can turn this functionality completely off by adding the following lines to your opscenterd.conf file:

[stat_reporter]
interval = 0

Here is a complete breakdown of the data OpsCenter will communicate back to DataStax. The data is sent in a key/value JSON format.

The following information is recorded about the OpsCenter install:

  • 'install_id': This is a random uuid generated when OpsCenter starts for the first time. This is used for associating reports from the same install.
  • 'is_paid': This is a flag indicating wether or not this is the free or enterprise version of OpsCenter.
  • 'opscenter_version': The version of OpsCenter in use.
  • 'opscenter_ram': The amount of RAM on the OpsCenter machine.
  • 'opscenter_cores': The number of cores on the OpsCenter machine.
  • 'opscenter_os': The generic name of the operating system of the OpsCenter machine. For example, linux/windows/mac.
  • 'opscenter_os_sub': The specific name of the operating system of the OpsCenter machine. For example CentOS/Ubuntu/Debian.
  • 'opscenter_os_version': The operating system version of the OpsCenter machine.
  • 'opscenter_arch': The architecture of the OpsCenter machine.
  • 'python_version': The version of python running on the OpsCenter machine.
  • 'opscenter_instance_type': The instance type the OpsCenter machine, if OpsCenter is running in EC2.
  • 'separate_storage': A flag indicating if OpsCenter is storing metrics in the cluster it is monitoring.
  • 'config_diff': A list of the OpsCenter config options that were modified to be different than the defaults. This includes the names of the options that were changed but not the values of those options.

These stats are collected about each cluster OpsCenter is monitoring:

  • 'cluster_id': An md5 hash of the cluster name. Used for identifying unique clusters while maintaining anonymity
  • 'conf_id': An md5 hash of the file name the config for the cluster is stored in. Used for the same purposes as 'cluster_id'.
  • 'partitioner': The partitioner the cluster is using.
  • 'snitch': The snitch the cluster is using.
  • 'keyspace_count': The number of keyspaces in the cluster.
  • 'columnfamily_count': The number of column families in the cluster.
  • 'strategy_options': A list of the replication options used for each keyspace in the cluster.
  • 'cql3_cf_count': The number of column families created with CQL3 in the cluster.
  • 'node_count': The number of nodes in the cluster.
  • 'avg_token_count': The average number of tokens per node.
  • 'cassandra_versions': A list of the different Cassandra versions in the cluster.
  • 'bdp_version': A list of the different DataStax Enterprise versions in the cluster.
  • 'rack_map': A map of each rack in the cluster and how many nodes are in that rack.
  • 'dc_count': The number of datacenters in the cluster
  • 'free_space': The amount of free disk space across the cluster.
  • 'used_space': The amount of used disk space across the cluster.
  • 'cluster_os': A list of the different operating systems used across the cluster.
  • 'cluster_ram': The average amount of ram per node in the cluster.
  • 'cluster_cores': The average number of cores per node in the cluster.
  • 'cluster_instance_types': A list of the EC2 instance types in the cluster, if EC2 is being used.

[authentication] passwd_file

Full path to the file for configuring password authentication for OpsCenter. If this file does not exist, OpsCenter does not verify passwords. To enable password authentication, use the set_passwd.py utility to create users and set their password and role. OpsCenter currently has two available roles: admin or user.

Cluster configuration properties

You set OpsCenter configuration properties in the <cluster_specific.conf> file. The location of this file depends on the type of installation:

  • Package installations: /etc/opscenter/clusters/<cluster_specific>.conf
  • Binary tarball installations (Linux and Mac OSX): <install_location>/conf/clusters/<cluster_specific>.conf
  • Windows installations: Program Files (x86)\DataStax Community\opscenter\conf\clusters\<cluster_specific>.conf

Note

After changing properties in this file, restart OpsCenter for the changes to take effect.

Cassandra connection properties

The following properties inform OpsCenter about the Real-time (Cassandra), Analytics (Hadoop), and Search (Solr) nodes that it is monitoring:

[jmx] port

The JMX (Java Management Extensions) port of your cluster. In Cassandra versions 0.8 and higher, the JMX port is 7199.

[cassandra] seed_hosts

A Cassandra seed node is used to determine the ring topology and obtain gossip information about the nodes in the cluster. This should be the same comma-delimited list of seed nodes as the one configured for your Cassandra or DataStax Enterprise cluster by the seeds property in the cassandra.yaml configuration file.

[cassandra] api_port

The Thrift remote procedure call port configured for your cluster. Same as the rpc_port property in the cassandra.yaml configuration file. Default is 9160.

[cassandra] install_location

The directory in which Cassandra is installed. If install_location is not specified, OpsCenter looks in the package-specific installation locations.

For a tarball installation of DataStax Enterprise, the install_location is <dse_install_location>/resources/cassandra.

[cassandra] conf_location

The location of the cassandra.yaml configuration file.

If install_location is specified, but conf_location is not, then conf_location is assumed to be <install_location>/conf/cassandra.yaml.

If conf_location is specified, it must be the absolute path to the Cassandra configuration file on all nodes. These settings are cluster-wide and require that the specified locations be correct for every node.

Metrics Collection Properties

The following properties are used to limit the keyspaces and column families for which you collect metrics.

[cassandra_metrics] ignored_keyspaces

A comma-delimited list of Cassandra keyspaces for which you do not want to collect performance metrics. By default, the system and OpsCenter keyspaces are excluded.

[cassandra_metrics] ignored_column_families

A comma-delimited list of Cassandra column families for which you do not want to collect performance metrics. Entries should be in the form of keyspace_name.*columnfamily_name*.

Performance Data Expiration Properties

These properties set the expiration time for data stored in the OpsCenter keyspace. Each time period for rolling up data points into summary views has a separate expiration threshold, or time-to-live (ttl) value expressed in seconds. By default, shorter time periods have lower values that result in more efficient expiration and compaction of the relatively larger volumes of data.

Uncomment these properties to change the default expiration periods for performance data. Properties and default values are:

1min_ttl = 604800

One-minute rollups expire after after one week, or 604800 seconds.

5min_ttl = 2419200

Five-minute rollups expire after four weeks, or 2419200 seconds.

2hr_ttl = 31536000

Two-hour rollups expire after one year, or 31536000 seconds.