Configure a separate storage cluster for monitored clusters. Store collection data on
a separate DataStax Enterprise cluster as an alternative to OpsCenter storing data in an
OpsCenter keyspace on the same DataStax Enterprise cluster being monitored. Storing
collection data in a separate storage cluster from the monitored cluster is an
enterprise-only feature.
cluster_name.conf
The location of the cluster_name.conf file depends on the type of installation:
- Installer-Services or package installations:
/etc/opscenter/clusters/cluster_name.conf
- Installer-No Services or tarball installations:
install_location/conf/clusters/cluster_name.conf
- Windows installations: Program Files (x86)\DataStax
Community\opscenter\conf\clusters\cluster_name.conf
address.yaml
The location of the address.yaml file
depends on the type of installation:
- Installer-Services or package installations:
/var/lib/datastax-agent/conf/address.yaml
- Installer-No Services or tarball installations:
install_location/conf/address.yaml
If you do not want OpsCenter to store data in an OpsCenter
keyspace on the DataStax Enterprise cluster being monitored, you can store the data
on a separate DataStax Enterprise cluster. Storing collection data in a separate
storage cluster from the monitored cluster is an enterprise-only feature. OpsCenter
supports connecting to a DataStax Enterprise storage cluster when SSL is enabled.
There are two
different cluster connections in the agent. When monitored and storage clusters are
separate, the agent monitors the health of the monitored cluster on one of those
connections, and writes metrics to the storage cluster on the other connection. If
there is not a separate storage cluster, both connection pools point to the same
Cassandra (DataStax Enterprise) cluster instance.
Note: In versions earlier than OpsCenter 5.2.2, the authentication mechanism and
credentials must be identical between the storage cluster and the monitored
clusters. As of OpsCenter 5.2.2, OpsCenter supports distinct SSL or
authentication connection settings between a monitored cluster and its
corresponding storage cluster.
Version availability for configuration options:
- The SSL configuration options are applicable to OpsCenter versions 5.1.1+
only.
- The monitored_* and storage_ssl_ keystore* settings are applicable to OpsCenter
versions 5.2.2+ only.
Procedure
-
Open the storage cluster configuration file
for editing. The cluster_name.conf represents the named configuration
file for a particular cluster. Replace
cluster_name
with your
actual cluster name.
-
Add a
[storage_cassandra]
section with the applicable storage
configuration options for your environment.
The following example configuration assumes similar authentication between
the monitored and storage cluster:
[storage_cassandra]
username = opsusr
password = opscenter
seed_hosts = host1, host2
api_port = 9160
cql_port = 9042
keyspace = OpsCenter_Cluster1
Available cluster configuration options for monitored and storage
clusters:
- [agents] ssl_keystore
- The SSL keystore location for agents to use to connect to CQL on the monitored
cluster.
- [agents] ssl_keystore_password
- The SSL truststore password for agents to use to connect to CQL on the
monitored cluster.
- [agents] storage_ssl_keystore
- The SSL keystore location for agents to use to connect to CQL on the storage
cluster.
- [agents] storage_ssl_keystore_password
- The SSL truststore password for agents to use to connect to CQL on the
storage cluster.
- [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. The default
value is localhost.
- [storage_cassandra] seed_hosts
- Configure when using a different cluster for OpsCenter storage. 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 DataStax
Enterprise cluster by the seeds property in the
cassandra.yaml configuration file.
- [storage_cassandra] api_port
- Configure when using a different cluster for OpsCenter storage. 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.
- [storage_cassandra] cql_port
- Configure when using a different cluster for OpsCenter storage. The CQL port
configured for your cluster, the default port is 9042.
- [storage_cassandra] local_dc_pref
- Configure when using a different cluster for OpsCenter storage. When
specified OpsCenter will prefer using connections to the specified data
center.
- [storage_cassandra] used_hosts_per_remote_dc
- Configure when using a different cluster for OpsCenter storage. If using
local_dc_pref, this option specified how many remote dc connections may be
used as a fallback, the default value is 1.
- [storage_cassandra] connect_timeout
- Configure when using a different cluster for OpsCenter storage. Sets the
timeout, in seconds, of a thrift connection from OpsCenter to Cassandra. The
default value is 6.0.
- [storage_cassandra] bind_interface
- Configure when using a different cluster for OpsCenter storage. The
interface used for thrift connections.
- [storage_cassandra] connection_pool_size
- Configure when using a different cluster for OpsCenter storage. The number
of connections to thrift to build for the connection pool. The default value
is 5.
- [storage_cassandra] username
- Configure when using a different cluster for OpsCenter storage. The username
used to connect to Cassandra if authentication is enabled.
- [storage_cassandra] password
- Configure when using a different cluster for OpsCenter storage. The password
used to connect to Cassandra if authentication is enabled.
- [storage_cassandra] send_rpc
- Configure when using a different cluster for OpsCenter storage. Specifies
whether to send the Cassandra RPC IP to agents. The default value is
True.
- [storage_cassandra] keyspace
- The name of the keyspace used for OpsCenter data. The keyspace name must be unique for each managed cluster.
- [storage_cassandra] ssl_ca_certs
- Configure when using a different cluster for OpsCenter storage. The server
certificate to use to validate SSL for thrift connections.
- [storage_cassandra] ssl_validate
- Configure when using a different cluster for OpsCenter storage. Specifies
whether the SSL thrift connection should be validated. The default value is
True.
- [storage_cassandra] ssl_client_pem
- Configure when using a different cluster for OpsCenter storage. Specifies
the client-side SSL PEM file to use if using two-way auth
- [storage_cassandra] ssl_client_key
- Configure when using a different cluster for OpsCenter storage. Specifies
the client-side SSL key file to use if using two-way auth
- [storage_cassandra] retry_delay
- The number of seconds to wait between retry attempts when initially
connecting to cassandra
- [storage_cassandra] max_schema_agreement_wait
- The maximum period of time in seconds to wait for schema agreement after a schema change. Default: 30 seconds.
-
If
your storage and monitored clusters require different authentication or ssl
settings, open for editing
and add the settings in an
[agents]
,
[storage_cassandra]
, and[cassandra]
(monitored) sections as applicable for your environment:
[agents]
ssl_keystore = /etc/dse/keystore
ssl_keystore_password = example
storage_ssl_keystore = /etc/dse/keystore_storage
storage_ssl_keystore_password = example2
[storage_cassandra]
username = foo
password = bar
[cassandra] #monitored
username = baz
password = test
Note: If only the cassandra_user
settings were configured for a
storage cluster prior to 5.2.2, with no differentiation in authentication,
opscenterd
sets both the
cassandra_user
for storage and the
monitored_cassandra_user
settings on your behalf when
upgrading to 5.2.2.
-
If your environment requires setting options in
for reasons such as integration
with third-party CMS applications, set the storage configuration options (sans
the
monitored_
prefix) and corresponding
monitored_
configuration options as appropriate for your
environment. If you set these agent options in
address.yaml, you must do so for every node, whereas
setting the options in cluster_name.conf
automatically propagates the settings to all agents.
Available configuration options for storage and monitored clusters in
address.yaml:
- cassandra_port
- Port used to connect to the storage cassandra node. The native transport port.
- thrift_port
- Port used to connect to storage thrift server. The default setting is 9160. This
information will be sent by opscenterd for convenience, but can be configured locally as
needed.
- cassandra_user
- The username used to connect to storage cassandra when authentication is enabled.
- cassandra_pass
- The password used to connect to storage cassandra when authentication is enabled.
- ssl_keystore
- The SSL keystore location for the storage cluster that agents to use to connect to
CQL.
- ssl_keystore_password
- The SSL keystore password for the storage cluster that agents to use to connect to
CQL.
- monitored_cassandra_port
- Port used to connect to the monitored cassandra node. The native transport port.
- monitored_thrift_port
- Port used to connect to monitored thrift server. The default setting is 9160. This
information will be sent by opscenterd for convenience, but can be configured locally as
needed.
- monitored_cassandra_user
- The username used to connect to monitored cassandra when authentication is
enabled.
- monitored_cassandra_pass
- The password used to connect to monitored cassandra when authentication is
enabled.
- monitored_ssl_keystore_password
- The SSL keystore password for the monitored cluster that agents to use to connect to
CQL.
- monitored_ssl_keystore
- The SSL keystore location for the monitored cluster that agents to use to connect to
CQL.
-
Restart OpsCenter for the changes to
take effect.