Apache Cassandra database discovery

  • Release version: Xanadu
  • Updated August 1, 2024
  • 3 minutes to read
  • Summarize
    Summarized using AI
    This content was generated using new OpenAI-powered functionality. Results are provided on an as is basis and are not guaranteed to be accurate or complete.

    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 full answer 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.yaml configuration 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.

    Table 1. Cassandra Cluster [cmdb_ci_cassandra_cluster]
    Field Description
    Name [name] Name of the cluster as well serves as a display name
    Table 2. Cassandra Cluster Node [cmdb_ci_cassandra_cluster_node]
    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
    Table 3. Cassandra Instance [cmdb_ci_cassandra_instance]
    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.
    Table 4. Cassandra Keyspace [cmdb_ci_cassandra_keyspace]
    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>.
    Figure 1. Dependency Views showing discovered Apache Cassandra deployment

    Dependency Views showing discovered Apache Cassandra deployment.

    CI relationships

    Discovery creates these relationships to support the Apache Cassandra database discovery.
    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.

    Table 5. Cassandra Instance [cmdb_ci_cassandra_instance]
    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.

    Figure 2. Cassandra discovery top-down service map

    Cassandra discovery top-down service map