Apache Cassandra database discovery
Summarize
Summary of Apache Cassandra database discovery
ServiceNow Discovery enables automated detection of Apache and DataStax Cassandra databases running on UNIX systems using the Cassandra Distributed DB pattern. This discovery helps populate the Configuration Management Database (CMDB) with detailed information about Cassandra clusters, nodes, instances, and keyspaces, providing a comprehensive view of your Cassandra deployment. To enable full functionality, certain Discovery and Service Mapping patterns must be installed from the ServiceNow Store.
Show less
Prerequisites
- Credentials: Provide appropriate credentials to discover hosts and perform horizontal discovery on Cassandra servers.
- CMDB CI Class Models: Ensure the CMDB CI Class Models store app, version 1.14.0 or later, is installed to support Cassandra CI classes.
- Permissions: Verify UNIX user permissions for Cassandra commands to allow privileged command execution during discovery.
- Read Access: Confirm read access to the
cassandra.yamlconfiguration file, typically located in standard directories or defined environment variables.
Data Collected by Discovery
The Discovery process populates the CMDB with detailed information about Cassandra components in various tables:
- Cassandra Cluster: Captures cluster name and display information.
- Cassandra Cluster Node: Includes cluster references, node IP, operational status, and host server relationships.
- Cassandra Instance: Captures detailed instance info such as cluster name, directories, data center, rack, installation path, process ID, TCP ports, vendor, and workload running.
- Cassandra Keyspace: Records keyspace names and cluster relationships.
These details enable a clear understanding of the cluster architecture and operational status.
CI Relationships
Discovery establishes important relationships to represent the Cassandra deployment topology, including:
- Instances running on servers
- Cluster nodes hosted on servers
- Clusters containing nodes and keyspaces
These relationships are crucial for accurate CMDB representation and impact analysis.
Service Mapping and Top-Down Discovery
Service Mapping enhances the discovery by performing a top-down approach, mapping Cassandra instances running on cluster nodes and integrating them into application service maps. This method supplements horizontal discovery data by identifying accessible keyspaces per instance and visualizing incoming connections.
Practical Benefits for ServiceNow Customers
- Automates comprehensive discovery of Apache Cassandra database components and their relationships.
- Ensures accurate and up-to-date CMDB data supporting change, incident, and configuration management processes.
- Enables visualization of Cassandra deployments in service maps for better operational insight.
- Supports proactive management and troubleshooting of distributed Cassandra environments within ServiceNow.
ServiceNow Discovery finds the Apache and the DataStax Cassandra database on UNIX using the Cassandra Distributed DB pattern. Discovering some of these resources requires installing the Discovery and Service Mapping Patterns from the ServiceNow® Store.
Request apps on the Store
Visit the ServiceNow Store website to view all the available apps and for information about submitting requests to the store. For cumulative release notes information for all released apps, see the ServiceNow Store version history release notes.
Prerequisites
- Provide credentials for discovering the host
- Identify the servers hosting a Cassandra database and provide credentials necessary for horizontal discovery of these servers. For more information, see Credentials required for host discovery.
- Verify CMDB CI Class Models store app is up to date
- Ensure that your instance supports the Cassandra CI class models by deploying the 1.14.0 version of the CMDB CI Class Models store app from the ServiceNow Store.
- Verify permissions for Cassandra commands for UNIX
- For the list of Cassandra commands, see the Cassandra (for UNIX) section in Service Mapping commands requiring a privileged user.
- Verify read access to cassandra.yaml
- Possible locations of the cassandra.yaml file:
$config_directory + "/cassandra.yaml"$process.environmentVariables.CASSANDRA_CONF.value + "/cassandra.yaml"$install_directory + "/conf/cassandra.yaml"
Data collected by Discovery for Cassandra database
Discovery populates the data in the CMDB when running the Cassandra Distributed DB pattern.
| Field | Description |
|---|---|
| Name [name] | Name of the cluster as well serves as a display name |
| Field | Description |
|---|---|
| Cluster [cluster] | Reference of the Cassandra cluster CI in which this node is part of. |
| Cluster Name [cluster_name] | Name of the cluster. |
| IP Address [ip_address] | IP Address of the cluster node (host machine). |
| Name [name] | Display name in the following format: cluster_name@hostname. |
| Operational status [operational_status] | Operational status of the cluster node. |
| Server [server] | Reference of server (host machine) CI |
| Field | Description |
|---|---|
| Cluster Name [cluster_name] | Name of the cluster. |
| Configuration directory [config_directory] | Directory path where configuration files are available. |
| Configuration file [config_file] | File path of base init configuration file where other configuration-related paths can be configured. |
| Data Center [data_center] | Data center in which the cluster node is part of a cluster. |
| Installation directory [install_directory] | The installation path. |
| IP Address [ip_address] | IP address of the host machine where the process is running. |
| Name [name] | Display name which is the same as the <uid>. |
| PID [pid] | Process ID running on the host machine. |
| Rack [rack] | The rack information in which the cluster node is part of. |
| Description [short_description] | The short description of the instance. |
| TCP port(s) [tcp_port] | List of TCP ports configured as in “cassandra.yaml” configuration file (Format: “:port1:port2:port3:”) |
| UID [uid] | The unique ID to identify the instance (Format: <cluster_name>__<data_center>__<rack>@hostname). |
| Vendor [vendor] | Vendor name for reference from “core_company” table if already available. If it is not available, a new entry is logically created with the name “Apache” or “DataStax”. |
| Workload Running [workload_running] | The name of the workload running on the instance. |
| Field | Description |
|---|---|
| Cluster [cluster] | The reference of Cassandra cluster CI in which the keyspace is part of. |
| Cluster Name [cluster_name] | Name of the cluster in which the keyspace is part of. |
| Keyspace Name [keyspace_name] | Name of the keyspace. |
| Name [name] | The display name in the following format: <keyspace_name>@<cluster_name>. |
CI relationships
| CI | Relationship | CI |
|---|---|---|
| Cassandra Instance [cmdb_ci_cassandra_instance] | Runs on::Runs | Server [cmdb_ci_server] |
| Cassandra Cluster Node [cmdb_ci_cassandra_cluster_node] | Hosted on::Hosts | Server [cmdb_ci_server] |
| Cluster of::Cluster | Cassandra Cluster [cmdb_ci_cassandra_cluster] | |
| Cassandra Keyspace [cmdb_ci_cassandra_keyspace] | Hosted on::Hosts | Cassandra Cluster [cmdb_ci_cassandra_cluster] |
Data discovered by Service Mapping during top-down discovery
Service Mapping performs the top-down discovery of Cassandra, which typically runs as a distributed database on a cluster of server nodes. During top-down discovery, Service Mapping discovers instances running on nodes and displays them on the application service map.
In addition to the tables and fields discovered during horizontal discovery, the top-down discovery also discovers the fields listed in the following table.
| Field | Description |
|---|---|
| Keyspaces [keyspaces] | Keyspace(s) the instance can access (populated only in top-down discovery). |
For incoming connections, the instance is discovered, as shown in the following image.