Skip to content
Visit booth 3171 at Google Cloud Next to see how to unlock real-time decisions at scaleMore info

Live cluster mode commands

This page describes the asadm commands that are available in live cluster mode. Live cluster mode is the default mode for asadm, used for viewing and managing a running Aerospike cluster.

asinfo

The asinfo command provides raw access to the Aerospike info protocol for changing live configurations and viewing a wide array of technical data for the cluster. asinfo commands are only available in privileged mode. For more information, see enable.

For a comprehensive list of commands, see the Info Command Reference. With asinfo, you can execute commands across the entire cluster.

When running asinfo commands with asadm:

  • Use the with modifier to select specific nodes.
  • Use the like modifier to filter results.
Example: Retrieve configuration from all nodes and filter results on 'batch'
Admin> enable
Admin+> asinfo -v get-config like batch
172.16.245.231 (172.16.245.231) returned:
batch-max-requests=5000;query-batch-size=100
172.16.245.232 (172.16.245.232) returned:
batch-max-requests=5000;query-batch-size=100
172.16.245.233 (172.16.245.233) returned:
batch-max-requests=5000;query-batch-size=100
172.16.245.234 (172.16.245.234) returned:
batch-max-requests=5000;query-batch-size=100

collectinfo

Use collectinfo to gather snapshots of cluster information such as statistics and configurations, and the Aerospike configuration file for the local node it is run from. By default, it collects system statistics for the local node. If you provide remote server credentials, it collects system statistics of all nodes. Aerospike support uses the results of collectinfo to help with your support case.

To collect more than one snapshot use -n to specify the number of snapshots and -s to specify the sleep time between snapshots.

By default collectinfo collects Aerospike data from all nodes but system statistics only from localhost (if it is a node of connected cluster). To collect remote system statistics, use the —-enable-ssh option. For more information, see Configuring SSH

See help collectinfo for more details.

Aerospike Tools 7.1.1 or later is required to use asadm’s integration with the UDA

For a more accurate picture of data usage, you can collect license data usage with the --agent-host and --agent-port options if the cluster has a UDA running on the network. To collect the UDA’s store file, use the --agent-store flag.

collectlogs

The collectlogs command gathers cluster logs from local clusters and remote logs of all nodes if remote server SSH credentials are configured. Aerospike support can use the results of collectlogs to help with your support case.

To collect remote host logs, you must configure SFTP on the remote host. Call collectlogs with the —-enable-ssh option. For more information, see Configuring SSH. Run help collectinfo to see all options.

Access logs without root privileges

If Aerospike is running with root privileges, as it does by default, a non-root user on the same system cannot access the logs generated by collectlogs, even if that non-root user has sudo privileges.

Use one of the following methods to access logs if Aerospike is not running with root privileges:

  • Run collectlogs as a user with root user privileges to access server logs.
  • Configure asd, the Aerospike Daemon, to run as a non-root user.
  • Change the Aerospike Service:
    • Set the Aerospike configuration parameter os-group-perms to true and add the non-root Linux user to the root user group with the terminal command usermod -aG root NON-ROOT USERNAME.

disable

The disable command exits privileged mode. We recommend that you only enter privileged mode when needed to avoid inadvertently executing commands that could alter the cluster in undesirable ways.

enable

The enable command enters privileged mode, which is required for executing manage and asinfo commands. If you use the --warn flag, asadm displays a warning before executing your command, and you must enter the provided hexadecimal string to confirm that you want to proceed.

Example: Overwrite a UDF module with the '--warn' flag
Admin>
Admin> enable --warn
Admin+> manage udf add test.lua path path/to/test.lua
You are about to write over an existing UDF module.
Confirm that you want to proceed by typing 48b015, or anything else to cancel.
48b015
Successfully added UDF test.lua
Admin+> disable
Admin>
Example: Overwrite a UDF module without the '--warn' flag
Admin> enable
Admin+>
Admin+> manage udf add test.lua path path/to/test.lua
Successfully added UDF test.lua
Admin+> disable

features

The features command displays features used in cluster. It supports like and with modifiers.

Example: features command output
Admin> features
~~~~~~~~~~~Features (2020-12-18 02:09:28 UTC)~~~~~~~~~~~~
Node |10.0.0.1:3000|10.0.0.2:3000|10.0.0.3:3000
AGGREGATION |NO |NO |NO
BATCH |NO |NO |NO
INDEX-ON-DEVICE|NO |NO |NO
INDEX-ON-PMEM |NO |NO |NO
KVS |YES |YES |YES
LDT |NO |NO |NO
QUERY |NO |NO |NO
RACK-AWARE |NO |NO |NO
SC |NO |NO |NO
SCAN |NO |NO |NO
SECURITY |NO |NO |NO
SINDEX |NO |NO |NO
TLS (FABRIC) |NO |NO |NO
TLS (HEARTBEAT)|NO |NO |NO
TLS (SERVICE) |NO |NO |NO
UDF |NO |NO |NO
XDR DESTINATION|NO |NO |NO
XDR SOURCE |NO |NO |NO
Number of rows: 19

info

info commands display diagnostic information in a concise, tabular format. When issued without additional arguments, info executes network, namespace, and xdr sub-commands. Output from info commands alert you to potential cluster issues by coloring suspicious text red.

For namespace and set subcommands, extra rows are shown in blue and display the sum of statistics per namespace and set.

namespace

The info namespace command displays a summary of important namespace statistics for each namespace defined on each node ordered by Namespace and Node. It displays an extra row, which is an aggregate of some of the statistics. When the primary index or secondary index is stored on device (not shmem), extra usage statistics are displayed, similar to the “Memory” columns in the following table.

The info namespace command displays information in two tables:

  • Namespace Usage Information: Namespace usage-related details.
  • Namespace Object Information: Namespace object-related details.
Example: info namespace command output
Admin> info namespace
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~Namespace Usage Information (2023-03-21 23:44:05 UTC)~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Namespace| Node|Evictions| Stop|~Device~|~~~~~~~~~~~~Memory~~~~~~~~~~~|~Primary Index~~|~Secondary Index~
| | |Writes| HWM%| Used| Used%| HWM%| Stop%| Type| Used| Type| Used
bar |172.17.0.3:3000| 0.000 |False | 0.0 %| 0.000 B | 0.0 %|0.0 %|90.0 %|shmem| 0.000 B |shmem | 0.000 B
bar |172.17.0.4:3000| 0.000 |False | 0.0 %| 0.000 B | 0.0 %|0.0 %|90.0 %|shmem| 0.000 B |shmem | 0.000 B
bar |172.17.0.5:3000| 0.000 |False | 0.0 %| 0.000 B | 0.0 %|0.0 %|90.0 %|shmem| 0.000 B |shmem | 0.000 B
bar | | 0.000 | | | 0.000 B | 0.0 %| | | | 0.000 B | | 0.000 B
test |172.17.0.3:3000| 0.000 |False | 0.0 %|16.169 MB|0.39 %|0.0 %|90.0 %|shmem|103.125 KB|shmem | 16.000 MB
test |172.17.0.4:3000| 0.000 |False | 0.0 %|16.164 MB|0.39 %|0.0 %|90.0 %|shmem| 99.625 KB|shmem | 16.000 MB
test |172.17.0.5:3000| 0.000 |False | 0.0 %|16.179 MB|0.39 %|0.0 %|90.0 %|shmem|108.812 KB|shmem | 16.000 MB
test | | 0.000 | | |48.511 MB|0.39 %| | | |311.562 KB| | 48.000 MB
Number of rows: 6
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~Namespace Object Information (2023-03-21 23:44:05 UTC)~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Namespace| Node|Rack| Repl|Expirations| Total|~~~~~~~~~~Objects~~~~~~~~~~|~~~~~~~~~Tombstones~~~~~~~~|~~~~Pending~~~~
| | ID|Factor| |Records| Master| Prole|Non-Replica| Master| Prole|Non-Replica|~~~~Migrates~~~
| | | | | | | | | | | | Tx| Rx
bar |172.17.0.3:3000| 0| 2| 0.000 |0.000 |0.000 |0.000 | 0.000 |0.000 |0.000 | 0.000 |0.000 |0.000
bar |172.17.0.4:3000| 0| 2| 0.000 |0.000 |0.000 |0.000 | 0.000 |0.000 |0.000 | 0.000 |0.000 |0.000
bar |172.17.0.5:3000| 0| 2| 0.000 |0.000 |0.000 |0.000 | 0.000 |0.000 |0.000 | 0.000 |0.000 |0.000
bar | | | | 0.000 |0.000 |0.000 |0.000 | 0.000 |0.000 |0.000 | 0.000 |0.000 |0.000
test |172.17.0.3:3000| 0| 1| 0.000 |1.650 K|1.650 K|0.000 | 0.000 |0.000 |0.000 | 0.000 |0.000 |0.000
test |172.17.0.4:3000| 0| 1| 0.000 |1.594 K|1.594 K|0.000 | 0.000 |0.000 |0.000 | 0.000 |0.000 |0.000
test |172.17.0.5:3000| 0| 1| 0.000 |1.741 K|1.741 K|0.000 | 0.000 |0.000 |0.000 | 0.000 |0.000 |0.000
test | | | | 0.000 |4.985 K|4.985 K|0.000 | 0.000 |0.000 |0.000 | 0.000 |0.000 |0.000
Number of rows: 6

Optionally, use the info namespace usage or info namespace object commands to display namespace usage-related or object-related details only.

network

The info network command displays the name, ID, and IP of each node and provides statistics such as cluster size, cluster key, number of client connections, and uptime for each server.

Under the Node ID column, an asterisk indicates the node that is expected to be the Paxos Principal node.

Example: info network command output
Admin> info network
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~Network Information (2020-12-16 21:45:32 UTC)~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Node| Node ID| IP| Build|Migrations|~~~~~~~~~~~~~~~~~~Cluster~~~~~~~~~~~~~~~~~~|Client| Uptime
| | | | |Size| Key|Integrity| Principal| Conns|
10.0.0.1:3000| BB9010016AE4202| 10.0.0.1:3000|C-5.3.0.1| 0.000 | 5|92DCF600367B|True |BB9050016AE4202| 2|00:07:48
10.0.0.2:3000| BB9020016AE4202| 10.0.0.2:3000|C-5.3.0.1| 0.000 | 5|92DCF600367B|True |BB9050016AE4202| 2|00:07:47
10.0.0.3:3000| BB9030016AE4202| 10.0.0.3:3000|C-5.3.0.1| 0.000 | 5|92DCF600367B|True |BB9050016AE4202| 2|00:07:46
10.0.0.4:3000| BB9040016AE4202| 10.0.0.4:3000|C-5.3.0.1| 0.000 | 5|92DCF600367B|True |BB9050016AE4202| 3|00:07:46
10.0.0.5:3000|*BB9050016AE4202| 10.0.0.5:3000|C-5.3.0.1| 0.000 | 5|92DCF600367B|True |BB9050016AE4202| 3|00:07:45
Number of rows: 5

set

The info set command displays a summary of important set statistics for each set defined on each namespace on all nodes ordered by Set and Namespace. If configured, it displays details about your storage quotas. It includes an extra row that displays an aggregate of grouped rows.

Example: info set command output
Admin+> info set
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~Set Information (2023-03-21 23:18:54 UTC)~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Namespace| Set| Node| Memory| Disk|~~~~~~Quota~~~~~~~| Objects| Stop| Disable| Set
| | | Used| Used| Total| Used%| |Writes|Eviction|Index
| | | | | | | | Count| |
test |testset|172.17.0.3:3000| 37.534 KB|0.000 B | 48.828 KB|76.87 %|882.000 | 0|False |No
test |testset|172.17.0.4:3000| 37.326 KB|0.000 B | 48.828 KB|76.44 %|877.000 | 0|False |No
test |testset|172.17.0.5:3000| 38.353 KB|0.000 B | 48.828 KB|78.55 %|901.000 | 0|False |No
test |testset| |113.213 KB|0.000 B |146.484 KB|77.29 %| 2.660 K| | |
test |ufodata|172.17.0.3:3000| 32.640 KB|0.000 B | 0.000 B | --|768.000 | 0|False |No
test |ufodata|172.17.0.4:3000| 30.479 KB|0.000 B | 0.000 B | --|717.000 | 0|False |No
test |ufodata|172.17.0.5:3000| 35.700 KB|0.000 B | 0.000 B | --|840.000 | 0|False |No
test |ufodata| | 98.818 KB|0.000 B | 0.000 B | 0.0 %| 2.325 K| | |
Number of rows: 6

Run the show statistics command to display further statistics for specific sets.

Admin> show statistics sets for NAMESPACE SET

sindex

The info sindex command displays a summary of important secondary index (sindex) statistics for each sindex defined on each namespace, on all nodes, ordered by Sindex and Node.

Example: info sindex command output
Admin> info sindex
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~Secondary Index Information (2020-12-16 23:10:06 UTC)~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Index Name|Namespace| Set| Node| Bins| Bin|State|Keys|~~~~~~~~~~Entries~~~~~~~~~~|~~~~Storage~~~~~|~~~~Queries~~~~~|~~~~Updates~~~~~| Context
| | | | | Type| | | Total| Avg Per| Avg Per| Type| Used|Requests|Avg Num| Writes|Deletes|
| | | | | | | | | Rec| Bin Val| | | Recs| | | |
name-sindex|bar |testset|10.0.0.1:3000| name|STRING|RW | 2| 1.000 K | 1.000 | 0.500 K |shmem| 16.000 MB| 0.000 |0.000 | 5.000 |0.000 |--
name-sindex|bar |testset|10.0.0.3:3000| name|STRING|RW | 2| 1.000 K | 1.000 | 0.500 K |shmem| 16.000 MB| 0.000 |0.000 | 5.000 |0.000 |--
name-sindex|bar |testset|10.0.0.4:3000| name|STRING|RW | 2| 1.000 K | 1.000 | 0.500 K |shmem| 16.000 MB| 0.000 |0.000 | 3.000 |0.000 |--
name-sindex|bar |testset|10.0.0.5:3000| name|STRING|RW | 2| 1.000 K | 1.000 | 0.500 K |shmem| 16.000 MB| 0.000 |0.000 | 4.000 |0.000 |--
name-sindex|bar |testset|10.0.0.6:3000| name|STRING|RW | 2| 1.000 K | 1.000 | 0.500 K |shmem| 16.000 MB| 0.000 |0.000 | 3.000 |0.000 |--
|bar |testset| | | | | | 5.000 K | | 2.500 K |shmem| 80.000 MB| 0.000 |0.000 |20.000 |0.000 |--
age-sindex |test |testset|10.0.0.3:3000| age|STRING|RW | 0| 0.000 | 1.000 | 0.000 |shmem| 16.000 MB| 0.000 |0.000 | 0.000 |0.000 |[list_index(-1), map_key(<string#11>)]
age-sindex |test |testset|10.0.0.1:3000| age|STRING|RW | 0| 0.000 | 1.000 | 0.000 |shmem| 16.000 MB| 0.000 |0.000 | 0.000 |0.000 |[list_index(-1), map_key(<string#11>)]
age-sindex |test |testset|10.0.0.4:3000| age|STRING|RW | 0| 0.000 | 1.000 | 0.000 |shmem| 16.000 MB| 0.000 |0.000 | 0.000 |0.000 |[list_index(-1), map_key(<string#11>)]
age-sindex |test |testset|10.0.0.5:3000| age|STRING|RW | 0| 0.000 | 1.000 | 0.000 |shmem| 16.000 MB| 0.000 |0.000 | 0.000 |0.000 |[list_index(-1), map_key(<string#11>)]
age-sindex |test |testset|10.0.0.6:3000| age|STRING|RW | 0| 0.000 | 1.000 | 0.000 |shmem| 16.000 MB| 0.000 |0.000 | 0.000 |0.000 |[list_index(-1), map_key(<string#11>)]
|test |testset| | | | | | 0.000 | 1.000 | 0.000 |shmem| 80.000 MB| 0.000 |0.000 | 0.000 |0.000 |[list_index(-1), map_key(<string#11>)]
Number of rows: 10

Use the show statistics command to show more statistics for a specific secondary index.

Admin> show statistics sindex for NAMESPACE test_str_idx

xdr

The info xdr command shows the current performance characteristics of XDR on each node. The info xdr command supports filtering by datacenter using the for modifier.

Example: info xdr command output
Admin> info xdr for DC1
~~~~~~~~~~~~~~~~~~~~XDR Information DC1 (2020-12-17 00:11:48 UTC)~~~~~~~~~~~~~~~~~~~~
Node|Success|~~~~~~~~Retry~~~~~~~~~|Recoveries| Lag| Avg|Throughput
| |Connection|Destination| Pending|(hh:mm:ss)|Latency| (rec/s)
| | Reset| | | | (ms)|
10.0.0.3:3000| 224| 0| 0| 0| 00:00:00| 0| 1078
10.0.0.5:3000| 206| 0| 0| 0| 00:00:00| 0| 970
| | | | 0| | 0|
Number of rows: 2

manage

The manage commands provide a convenient way to administer your access control list (acl), add and remove user defined functions (udfs), create and delete secondary indexes (sindex), and dynamically configure your cluster. To access the manage commands the user must enter a privileged mode by typing enable [--warn]. For more information, see enable. Unlike most other commands, manage commands require one or more arguments. Additionally, each manage command requires specific access rights. See Configuring Access Control and descriptions of the following manage commands.

acl

The manage acl commands allows for user and role management in an access control list. User and role management follow a similar syntax for many of the commands. The general syntax is manage acl OPERATION user|role USERNAME|ROLE-NAME . . ..

For example, the command to create a user is manage acl create user USERNAME. The command to create a role is manage acl create role ROLE-NAME.

Use the show users and show roles commands in conjunction with manage acl commands.

create user

Access Control Permissions: user-admin

The manage acl create user USERNAME [password PASSWORD] [roles ROLE1 ROLE2 ...]command creates new users and assigns them roles. To keep a password out of command history, asadm prompts for a password when the password argument is not provided. See Local to Aerospike Passwords for the rules regarding valid passwords. Assigning roles is done using the roles keyword however, assigning roles to a new user is not required.

In this example, you create a user “Mr-Rogers” with role “Good-Neighbor”, and because a password is not provided, a prompt is provided:

Admin+> manage acl create user Mr-Rogers roles Good-Neighbor
Enter password for new user Mr-Rogers:
Successfully created user Mr-Rogers

delete user

Access Control Permissions: user-admin

Use the command manage acl delete user USERNAME to remove a user.

Admin+> manage acl delete user Thanos
Successfully deleted user Thanos

set-password

Access Control Permissions: user-admin

The manage acl set-password user USERNAME [password PASSWORD] command allows a user-admin to change the password of any user without knowing that user’s current password. Passwords that contain whitespace must be quoted. Double and single quotes must either be escaped or be different from the enclosing quote. To keep a password out of command history, asadm prompts for a password when the password argument is not provided.

Admin+> manage acl set-password user jesse
Enter new password for user jesse:
Successfully set password for user jesse

change-password

Access Control Permissions: None

The manage acl change-password user USERNAME [old OLD-PASSWORD] [new NEW-PASSWORD] command allows a user to change the password of any other user as long as the user’s current password is provided. To keep both the old and new password out of command history, asadm prompts for them when not provided.

Admin+> manage acl change-password user Kelly
Enter old password:
Enter new password:
Successfully changed password for user Kelly

grant user

Access Control Permissions: user-admin

The manage acl grant user USERNAME roles ROLE1 [ROLE2 [...]] command uses the roles keyword to add one or more roles to an existing user.

Admin+> manage acl grant user Kelly roles data-admin
Successfully granted roles to user Kelly

revoke user

Access Control Permissions: user-admin

The manage acl revoke user USERNAME roles ROLE1 [ROLE2 [...]] command uses the roles keyword to remove one or more roles from an existing user.

Admin+> manage acl revoke user Kelly roles data-admin
Successfully revoked roles from user Kelly

create role

Access Control Permissions: user-admin

The following command creates new roles and assigns them a privilege and allowlist.

create role ROLE-NAME priv PRIVILEGE [ns NAMESPACE [set SET]] [allow ADDR1 [ADDR2 [...]]] [read READ-QUOTA] [write WRITE-QUOTA]

You must assign a privilege with the priv keyword followed by a privilege. Some privileges can also have namespace or set scopes, which you can define with the ns and setkeywords. To assign an allowlist, use the allow keyword followed by one or more addresses. To assign a read quota and/or write quota use the read and write keywords.

For more information, see Configuring access control in EE and FE.

Example: Create role with assigned privilege, namespace, scope, allowlist, and read and write quotas
Admin+> manage acl create role devops priv read-write ns test set testset allow 10.0.0.1 read 3000 write 4000
Successfully created role devops

delete role

Access Control Permissions: user-admin

The manage acl delete role ROLE-NAME command allows for the removal of a role.

Admin+> manage acl delete role devops
Successfully deleted role devops

grant role

Access Control Permissions: user-admin

The manage acl grant role ROLE-NAME priv PRIVILEGE [ns NAMESPACE [set SET]]> command adds one or more privileges to a existing role. Some privileges can also have namespace or set scopes which can be defined with the ns and set keywords. For more information, see Configuring access control in EE and FE.

Admin+> manage acl grant role superwoman priv write ns bar set testset
Successfully granted privilege to role superwoman

revoke role

Access Control Permissions: user-admin

The manage acl revoke role ROLE-NAME priv PRIVILEGE [ns NAMESPACE [set SET]]> command removes a single privilege from a role. If the privilege has a namespace scope, the ns argument is required. If the privilege has a set scope, the ns and set arguments are required.

Admin+> manage acl revoke role superwoman priv data-admin ns test set testset
Successfully revoked privilege from role superwoman

acl allowlist role

Access Control Permissions: user-admin

The allowlist command has two functions. It can overwrite the allowlist for a role or it can clear an allowlist for a role.

To overwrite the allowlist, usemanage acl allowlist role ROLE-NAME allow adde1 [addr2 [...]].

Admin+> manage acl allowlist role superwoman allow 10.0.0.1 10.1.2.3
Successfully updated allowlist for role superwoman

To clear an allowlist, use manage acl allowlist role ROLE-NAME clear.

Admin+> manage acl allowlist role superwoman clear
Successfully cleared allowlist from role superwoman

acl quotas role

The manage acl quotas role ROLE-NAME [read READ-QUOTA]|[write WRITE-QUOTA] command changes the read and/or write quota for a role using the read and write keywords. Either the read or write keyword must be provided. If either the read or write keyword is not provided the respective quota will not be changed. To remove a quota from a role, set the value to 0.

Admin+> manage acl quotas role superwoman read 6000 write 9000
Successfully set quotas for role superwoman.

config

The manage config commands are used to edit configuration, create XDR datacenters, add and remove XDR nodes, and add and remove XDR namespaces in the Aerospike cluster. manage config commands match the structure of the aerospike.conf file. Make sure that you understand the context of a configuration parameter before running a manage config command.

By default, manage config commands affect all nodes in the Aerospike cluster. To run a command against only a subset of nodes, use the with modifier. To see which nodes a command affects, run privileged mode with the --warn flag. manage config commands support robust tab completion for contexts, sub-contexts, parameters, and values for Aerospike Database 4.0 and later. For tab completion in the latest version of the Aerospike database, use the latest version of asadm. Use the show config command in conjunction with manage config commands.

config CONTEXT

To change the value of a configuration parameter, use the manage config CONTEXT [SUB-CONTEXT1 [NAME1] [SUB-CONTEXT2 [NAME2] [...]]] param PARAMETER to VALUE command. If a context or sub-context in aerospike.conf is followed by a name, such as a namespace, set, dc, or something else, then the CONTEXT or SUBCONTEXT must also be followed by a name.

You can change the following configurations:

  • logging: Change the logging context’s dynamic runtime configuration.
  • namespace: Change a namespace context’s dynamic runtime configuration.
  • network: Change the network context’s dynamic runtime configuration.
  • security Change the security context’s dynamic runtime configuration.
  • service: Change the service context’s dynamic runtime configuration.
  • xdr: A collection of commands to add/remove xdr nodes, namespace, and change dynamic runtime configuration.

To change the service configuration:

manage config service param PARAMETER to VALUE [with node1 [node2 [...]]]

Admin+> manage config service param proto-fd-max to 1500 with 10*
~Set Service Param proto-fd-max to 1500~
Node|Response
10.0.0.1:3000|ok
10.0.0.2:3000|ok
10.0.0.3:3000|ok
10.0.0.4:3000|ok
10.0.0.5:3000|ok
Number of rows: 5

To change the logging configuration for aerospike.log file:

manage config logging file LOG-FILE-NAME param PARAMETER to VALUE [with node1 [node2 [...]]]

The param keyword specifies the logging context to change, while the to keyword specifies the desired severity level.

Admin+> manage config logging file /var/log/aerospike/aerospike.log param aggr to info with 10.0.0.1 10.0.0.2 10.0.0.3
~Set Logging Param aggr to info~
Node|Response
10.0.0.1:3000|ok
10.0.0.2:3000|ok
10.0.0.3:3000|ok
Number of rows: 3

To change the network heartbeat configuration:

manage config network SUBCONTEXT param PARAMETER to VALUE

Admin+> manage config network heartbeat param interval to 1500 with 10.0.0.1*
~Set Network Param interval to 1500~
Node|Response
10.0.0.1:3000|ok
Number of rows: 1

To change the security configuration:

manage config security [SUBCONTEXT] param PARAMETER to VALUE

Admin+> manage config security param privilege-refresh-period to 4500 with 10.0.0.1*
~Set Security Param privilege-refresh-period to 4500~
Node|Response
10.0.0.1:3000|ok
10.0.0.1:3001|ok
10.0.0.1:3002|ok
10.0.0.1:3003|ok
10.0.0.1:3004|ok
Number of rows: 5

To change configuration for namespace test:

manage config namespace NS param PARAMETER to VALUE

Admin+> manage config namespace test param allow-ttl-without-nsup to false
~Set Namespace Param allow-ttl-without-nsup to false~
Node|Response
10.0.0.1:3000|ok
10.0.0.2:3000|ok
10.0.0.3:3000|ok
10.0.0.4:3000|ok
10.0.0.5:3000|ok
Number of rows: 5

To change configuration for namespace test and set testset:

manage config namespace NS set SET param PARAMETER to VALUE

Admin+> manage config namespace test set testset param disable-eviction to true
~Set Namespace Param disable-eviction to true~
Node|Response
10.0.0.1:3000|ok
10.0.0.2:3000|ok
10.0.0.3:3000|ok
10.0.0.4:3000|ok
10.0.0.5:3000|ok
Number of rows: 5

To change configuration for namespace test and subcontext storage-engine:

manage config namespace NS SUBCONTEXT param PARAMETER to VALUE

Admin+> manage config namespace test storage-engine param min-avail-pct to 0 with 10.0.0.1:3000
~Set Namespace Param min-avail-pct to 0~
Node|Response
10.0.0.1:3000|ok
Number of rows: 1

To change XDR configuration:

manage config xdr param PARAMETER to VALUE

Admin+> manage config xdr param src-id to 1 with 10.0.0.5*
~Set XDR Param src-id to 1~
Node|Response
10.0.0.5:3000|ok
Number of rows: 1

To change configuration for XDR datacenter DC1:

manage config xdr dc DATACENTER param PARAMETER to VALUE

Admin+> manage config xdr dc DC1 param period-ms to 5 with 10.0.0.2 10.0.0.3
~Set XDR DC param period-ms to 5~
Node|Response
10.0.0.2:3000|ok
10.0.0.3:3000|ok
Number of rows: 2

To change namespace test configuration for XDR datacenter DC1’s:

manage config xdr dc DATACENTER namespace NS param PARAMETER to VALUE

Admin+> manage config xdr dc DC1 namespace test param ignore-bin to age
~Set XDR Namespace Param ignore-bin to age~
Node|Response
10.0.0.1:3000|ok
10.0.0.2:3000|ok
10.0.0.3:3000|ok
10.0.0.4:3000|ok
10.0.0.5:3000|ok
Number of rows: 5

xdr create dc

The manage config xdr create dc DC command dynamically creates a new XDR datacenter.

Admin+> manage config xdr create dc DC3
~~~Create XDR DC DC3~~
Node|Response
10.0.0.4:3000|ok
Number of rows: 1

xdr delete dc

The manage config xdr delete dc DC command dynamically deletes an XDR datacenter.

Admin+> manage config xdr delete dc DC3
~~~Delete XDR DC DC3~~
Node|Response
10.0.0.4:3000|ok
Number of rows: 1

xdr dc add node

The manage config xdr dc DC add node NODE:PORT command adds a node dynamically to an XDR datacenter.

Admin+> manage config xdr dc DC3 add node 1.1.1.1:3000
~Add XDR Node 1.1.1.1:3000 to DC DC3~
Node|Response
10.0.0.4:3000|ok
Number of rows: 1

xdr dc remove node

The manage config xdr dc DC remove node NODE:PORT command removes a node dynamically from an XDR datacenter.

Admin+> manage config xdr dc DC3 remove node 1.1.1.1:3000
~Remove XDR Node 1.1.1.1:3000 from DC DC3~
Node|Response
10.0.0.4:3000|ok
Number of rows: 1

xdr dc add namespace

The manage config xdr dc DC add namespace NODE:PORT command adds a namespace dynamically to an XDR datacenter.

Admin+> manage config xdr dc DC3 add namespace test
~Add XDR namespace test to DC DC3~
Node|Response
10.0.0.4:3000|ok
Number of rows: 1

xdr dc remove namespace

The manage config xdr dc DC remove namespace NS command removes a namespace dynamically from an XDR datacenter.

Admin+> manage config xdr dc DC3 remove namespace test
~Remove XDR Namespace test from DC DC3~
Node|Response
10.0.0.4:3000|ok
Number of rows: 1

jobs

The manage jobs kill command aborts jobs running on the Aerospike cluster. Use show jobs commands in conjunction with manage jobs commands.

jobs kill trids

Access Control Permissions: data-admin

The manage jobs kill trids TRID1 [TRID2 [...]] command kills jobs matching the provided transaction IDs. The command finds the appropriate node and module before sending the request.

Example: kill jobs command output
Admin+> manage jobs kill trids 1343444200604843206 9156474088110606100
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~Kill Jobs (2021-10-20 23:57:22 UTC)~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Node| Transaction ID|Namespace|Module| Type| Response
10.0.0.1:3000|9156474088110606100| bar|scan |basic|ok
10.0.0.2:3000|1343444200604843206| bar|query |basic|Failed to kill job : job not active.
Number of rows: 1

The first is a scan on node 10.0.0.1 and the second is a query on node 10.0.0.2.

jobs kill all

The manage jobs kill all command kills all jobs from the specified module.

jobs kill all queries

Access Control Permissions: data-admin

The manage jobs kill all queries command kills all query jobs.

Admin+> manage jobs kill all queries
~~~~~~~~~~~~~~~~~~Kill Jobs~~~~~~~~~~~~~~~~~~~
Node| Response
10.0.0.1:3000|ok - number of queries killed: 4
10.0.0.2:3000|ok - number of queries killed: 4
10.0.0.3:3000|ok - number of queries killed: 3
Number of rows: 3

jobs kill all scans

Access Control Permissions: data-admin

The manage jobs kill all scans command kills all scan jobs.

Admin+> manage jobs kill all scans
~~~~~~~~~~~~~~~~~Kill Jobs~~~~~~~~~~~~~~~~~~
Node| Response
10.0.0.1:3000|ok - number of scans killed: 4
10.0.0.2:3000|ok - number of scans killed: 4
Number of rows: 2

quiesce

The manage quiesce command quiesces and revert the effects of a quiesce for a node in the Aerospike cluster.

quiesce with

Access Control Permissions: sys-admin

The manage quiesce with node1 [node2 [...]] command stops a node from participating as a replica after the next recluster event. For more information, see quiesce.

Admin+> manage quiesce with 192.168.173.203
~~~~~~~~Quiesce Nodes~~~~~~~~
Node|Response
192.168.173.203:3000|ok
Number of rows: 1
Run "manage recluster" for your changes to take affect.

quiesce undo with

Access Control Permissions: sys-admin

The manage quiesce undo with node1 [node2 [...]] command reverts the effect of a quiesce on the next recluster event. For more information, see quiesce-undo.

Admin+> manage quiesce undo with 192.168.173.203
~~~~Undo Quiesce for Nodes~~~
Node|Response
192.168.173.203:3000|ok
Number of rows: 1
Run "manage recluster" for your changes to take affect.

recluster

Access Control Permissions: sys-admin

The manage recluster command forces the cluster to advance and rebalance. For more information, see recluster.

Admin+> manage recluster
Successfully started recluster

revive

Access Control Permissions: sys-admin

The manage revive command revives dead partitions in a namespace running in strong consistency mode.

Admin+> manage revive ns test
~Revive Namespace Partitions~
Node|Response
localhost:3000|ok
Number of rows: 1
Run "manage recluster" for your changes to take affect.

roster

The manage roster commands are used to modify the pending roster. To commit the pending roster to the current roster, a recluster event must occur. To manually trigger a recluster event, use the manage recluster command. Commands that modify the roster are only sent to the principal node. Use the show roster command in conjunction with manage roster commands.

roster stage observed ns

Access Control Permissions: sys-admin

The manage roster stage observed ns NS command assigns the observed nodes and configured rack-ids to the pending roster. This helps you quickly initialize a strong consistency cluster.

Admin+> manage roster stage observed ns test
You are about to set the pending-roster for namespace test to: BB9040016AE4202@1, BB9020016AE4202@2, BB9010016AE4202@3
Confirm that you want to proceed by typing x5e360, or cancel by typing anything else.
x5e360
Pending roster now contains observed nodes.
Run "manage recluster" for your changes to take affect.

roster stage nodes

Access Control Permissions: sys-admin

The manage roster stage nodes NODE1[@RACK1] [NODE2[@RACK2] [...]] ns NS command overwrites the pending roster with any list of nodes. The --warn flag is on by default because of the importance of this command. To disable the warning, use the --no-warn flag.

Admin+> manage roster stage nodes BB9040016AE4202@1, BB9020016AE4202@2, BB9010016AE4202@3 ns bar
WARNING: The following node(s) are not found in the observed list or have a
different configured rack-You are about to set the pending-roster for namespace bar to: BB9040016AE4202@1, BB9020016AE4202@2, BB9010016AE4202@3
Confirm that you want to proceed by typing 5de1f4, or cancel by typing anything else.
5de1f4
Pending roster successfully set.
Run "manage recluster" for your changes to take affect.

roster add nodes

Access Control Permissions: sys-admin

The manage roster add nodes NODE1[@RACK1] [NODE2[@RACK2] [...]] ns NS command adds nodes to the pending roster. The --warn flag is on by default because of the importance of this command. To disable the warning, use the --no-warn flag.

Admin+> manage roster add nodes BB9040016AE4202@1, BB9020016AE4202@2, BB9010016AE4202@3 ns bar --no-warn
Node(s) successfully added to pending-roster.
Run "manage recluster" for your changes to take affect.

roster remove nodes

Access Control Permissions: sys-admin

The manage roster remove nodes NODE1[@RACK1] [NODE2[@RACK2] [...]] ns NS command removes nodes from the pending roster. The --warn flag is on by default because of the importance of this command. To disable the warning, use the --no-warn flag.

Admin+> manage roster remove nodes BB9040016AE4202@1, BB9020016AE4202@2, BB9010016AE4202@3 ns bar --no-warn
Node(s) successfully removed from pending-roster.
Run "manage recluster" for your changes to take affect.

sindex

The manage sindex commands are used to create and delete secondary indexes (sindex) from an Aerospike cluster. The show sindex command is used in conjunction with manage sindex commands.

sindex create

Access Control Permissions: user-admin

The manage sindex create BIN-TYPE INDEX-NAME ns NS [set SET] bin BIN-NAME [in INDEX-TYPE] [ctx CONTEXT] command is used for creating secondary indexes (sindex). The BIN-TYPE is the bin type of the provided BIN-NAME and is one of the following values:

  • numeric
  • string
  • geo2dsphere
  • blob

The NS argument defines the namespace to create the sindex on. Optionally, SET defines the set to create the secondary index on.

The BIN-NAME defines the bin to create the secondary index on.
The INDEX-TYPE defines how a bin’s value is used to create a secondary index. Possible values are:

  • list to use the elements of a list as keys
  • mapkeys to use the keys of a map as keys
  • mapvalues to use the values of a map as keys.

The default specifies to use the contents of a bin as keys.

In Aerospike Database 6.1 and Tools 7.2 and later, you can create sindexes on CDTs. CDTs are referenced using a context. The CONTEXT is a space-separated list.
Possible elements of the list are as follows:

  • list_index(INDEX)
  • list_rank(RANK)
  • list_value(VALUE)
  • map_index(INDEX)
  • map_rank(RANK)
  • map_key(KEY)
  • map_value(VALUE)

Where INDEX and RANK are integers, KEY is an integer, string, or base64 encoded byte string, and VALUE includes the values of KEY with the addition of booleans and floats. By default, if you provide a value for KEY or VALUE, they will be interpreted as a string unless the following specifiers are used: int(INT), bytes(BASE64), bool(TRUE|FALSE), or float(FLOAT).

For example: int(1), bytes(YWVyb3NwaWtlCg==), bool(true), or float(3.14159).

This is an example of how to create a sindex on records in namespace StarWars and set BountyHunters with a bin age:

Example: Create sindex on records in namespace StarWars and set BountyHunters with a bin age
{
name-bin: "Bobafet",
age-bin: 57
}

Run the following command:

Admin+> manage sindex create numeric age-index ns StarWars set BountyHunters bin age-bin
Use 'show sindex' to confirm 'age-index' was created successfully

In Aerospike Database 6.1 and later, you can create sindexes on bins containing CDTs. For example, if a bin has a List CDT containing people sorted from youngest to oldest:

{
people-bin: [
{
first-name: "Timmy",
age: 12
},
{
first-name: "Sally",
age: 15
},
{
first-name: "Jesse",
age: 27
}
]
}

To create a sindex on the people-bin eldest persons ‘first-name’, run the following command:

Admin+> manage sindex create string eldest-name ns test bin people-bin ctx list_index(-1) map_key(first-name)
Use 'show sindex' to confirm 'eldest-name' was created successfully

sindex delete

Access Control Permissions: data-admin or sys-admin

The manage sindex delete INDEX-NAME ns NS [set SET] command is used for deleting secondary indexes (sindex). The ns argument is the namespace the sindex was created on. If the sindex was also created on a set then the set argument is required.

Admin+> manage sindex delete age-index ns test
Successfully deleted sindex age-index

truncate

The manage truncate command truncates or reverses truncations for a namespace or namespace set in the Aerospike cluster. The command only sends requests to the principal node.

truncate ns

Access Control Permissions: data-admin, write

The manage truncate ns NS [set SET] [before <iso-8601-or-unix-epoch> iso-8601|unix-epoch] command deletes records in the given namespace or namespace set. The deletes are durable and preserve record deletions in the Enterprise Edition only. For more information, see truncate-namespace and truncate.

If the before modifier is provided, the command deletes every record in the given namespace or namespace set where the last update time (LUT) is older than the given time. If the before modifier is not provided, the current time is used. The before modifier accepts iso-8601 formatted or unix-epoch datetime followed by the literal iso-8601 or unix-epoch respectively. A unix-epoch can be in seconds (1622054620), milliseconds (1622054620.mmm), microseconds (1622054620.mmmuuu), or nanoseconds (1622054620.mmmuuunnn).

The --warn flag is on by default because of the importance of this command. Use the --no-warn flag to disable the warning.

The following example truncates records in the namespace test with LUT earlier than May 5th 2021 at 6:43:40 PM UTC.

Example: Truncate records
Admin> info namespace object
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~Namespace Object Information (2021-05-26 20:25:52 UTC)~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Namespace| Node|Rack| Repl| Total|~~~~~~~~~~Objects~~~~~~~~~~~|~~~~~~~~~Tombstones~~~~~~~~|~~~~Pending~~~~
| | ID|Factor| Records| Master| Prole|Non-Replica| Master| Prole|Non-Replica|~~~~Migrates~~~
| | | | | | | | | | | Tx| Rx
bar |ubuntu:3000| 0| 1| 0.000 | 0.000 |0.000 | 0.000 |0.000 |0.000 | 0.000 |0.000 |0.000
bar | | | | 0.000 | 0.000 |0.000 | 0.000 |0.000 |0.000 | 0.000 |0.000 |0.000
test |ubuntu:3000| 0| 1|98.297 K|98.297 K|0.000 | 0.000 |0.000 |0.000 | 0.000 |0.000 |0.000
test | | | |98.297 K|98.297 K|0.000 | 0.000 |0.000 |0.000 | 0.000 |0.000 |0.000
Number of rows: 2
Admin> enable --warn
Admin+> manage truncate ns test before 2021-05-26T13:24:40-07:00 iso-8601
You are about to truncate up to 98297 records from namespace test with LUT before 13:24:40.000000 UTC-07:00 on May 26, 2021
Confirm that you want to proceed by typing x927c0, or cancel by typing anything else.
x927c0
Successfully started truncation for namespace test
Admin+> info namespace object
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~Namespace Object Information (2021-05-26 20:26:35 UTC)~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Namespace| Node|Rack| Repl| Total|~~~~~~~~~~Objects~~~~~~~~~~|~~~~~~~~~Tombstones~~~~~~~~|~~~~Pending~~~~
| | ID|Factor|Records| Master| Prole|Non-Replica| Master| Prole|Non-Replica|~~~~Migrates~~~
| | | | | | | | | | | Tx| Rx
bar |ubuntu:3000| 0| 1|0.000 |0.000 |0.000 | 0.000 |0.000 |0.000 | 0.000 |0.000 |0.000
bar | | | |0.000 |0.000 |0.000 | 0.000 |0.000 |0.000 | 0.000 |0.000 |0.000
test |ubuntu:3000| 0| 1|0.000 |0.000 |0.000 | 0.000 |0.000 |0.000 | 0.000 |0.000 |0.000
test | | | |0.000 |0.000 |0.000 | 0.000 |0.000 |0.000 | 0.000 |0.000 |0.000
Number of rows: 2

truncate undo ns

Access Control Permissions: data-admin, write

The manage truncate undo ns NS [set SET] command undoes a previous truncate event by removing the associated System Meta Data (SMD) file entry and allowing some previously truncated records to be resurrected on the next cold restart. This only works for records that have not had their persisted storage block overwritten. For more information, see truncate-namespace-undo and truncate-undo.

Admin+> manage truncate ns test undo
Successfully triggered undoing truncation for namespace test on next cold restart

udfs

The manage udfs commands are used to add and remove UDF module from an Aerospike cluster. The show udfs command is used in conjunction with manage udfs commands.

udfs add

Access Control Permissions: data-admin or sys-admin

The manage udfs add MODULE-NAME path MODULE-PATH command allows a user to register a UDF module. The MODULE-NAME must include a file extension. The path argument can be a relative or absolute path and are checked in that order. This command can also be used to update an existing module.

Admin+> manage udfs add test.lua path path/to/test.lua
Successfully added UDF test.lua

udfs remove

Access Control Permissions: data-admin or sys-admin

The manage udfs remove MODULE-NAME command allows a user to un-register an existing UDF module.

Admin+> manage udfs remove test.lua
Successfully removed UDF test.lua

pager

The pager command enables scrollable output tables. This command gives an option to scroll each output table vertically or horizontally.

Use the following subcommands with pager:

  • off: Disable paging and prints output normally.
  • on: Enable output paging; similar to linux ‘less’.
  • scroll: Display output in scrolling mode.

show

The show commands generally provide a very verbose output about the requested component. Most commands support the likemodifier. All commands support the withmodifier with the exceptions of show users, show roles, show udfs, and show sindex which only make requests to the principal node.

best-practices

The show best-practices command displays violations of Aerospike’s Best Practices.

In the following example, node BB9010016AE4202 is violating two best practices, swappiness and thp-enabled. Node BB9030016AE4202 and BB9040016AE4202 are not violating any best practices and return ok.

Example: show best practices command output
Admin> show best-practices
~Best Practices (2021-09-21 23:55:09 UTC)~
Node|Response
BB9010016AE4202|swappiness, thp-enabled
BB9030016AE4202|ok
BB9040016AE4202|ok
Number of rows: 3
Following Aerospike's best-practices are required for optimal stability and performance.

config

The show config command displays Aerospike configuration settings. By default the command lists all server configuration parameters for security (added in Aerospike Tools 7.0, otherwise joined with service), service, network, namespace, and XDR. You can add one of the following sub-commands to limit the output to just those contexts:

  • namespace
  • network
  • security
  • service
  • xdr

To generate an aerospike.conf file from a running cluster, see the generate command for Aerospike Configuration (asconfig).

The following example requests all network configuration parameters containing the words heartbeat or mesh:

Example: show config network
Admin> show config network like heartbeat mesh
~~~~~~~~~~~~~~~~~~~~~~~~~Network Configuration (2020-12-17 01:07:36 UTC)~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Node |10.0.0.1:3000|10.0.0.2:3000|10.0.0.4:3000|10.0.0.5:3000|10.0.0.6:3000
heartbeat.connect-timeout-ms|500 |500 |500 |500 |500
heartbeat.interval |150 |150 |150 |150 |150
heartbeat.mode |multicast |multicast |multicast |multicast |multicast
heartbeat.mtu |1500 |1500 |1500 |1500 |1500
heartbeat.multicast-group |239.1.99.200 |239.1.99.200 |239.1.99.200 |239.1.99.200 |239.1.99.200
heartbeat.port |9918 |9918 |9918 |9918 |9918
heartbeat.protocol |v3 |v3 |v3 |v3 |v3
heartbeat.timeout |10 |10 |10 |10 |10
Number of rows: 9

We can use the diff modifier with show config commands to show differences between node configurations.

Example: show config command output
Admin> show config diff
~~~~~~~~~~~~~~~~~~~~~~Service Configuration (2020-12-17 01:09:07 UTC)~~~~~~~~~~~~~~~~~~~~~~
Node | 10.0.0.1:3000| 10.0.0.2:3000| 10.0.0.4:3000
pidfile|/var/run/aerospike/asd0.pid|/var/run/aerospike/asd1.pid|/var/run/aerospike/asd2.pid
Number of rows: 2
~~~~~~~~~Network Configuration (2020-12-17 01:09:07 UTC)~~~~~~~~~
Node | 10.0.0.1:3000| 10.0.0.2:3000| 10.0.0.4:3000
heartbeat-address|192.168.120.110|192.168.120.112|192.168.120.113
Number of rows: 2
~~~~~~~~test Namespace Configuration (2020-12-17 01:09:07 UTC)~~~~~~~~~
Node |10.0.0.1:3000|10.0.0.2:3000|10.0.0.4:3000
migrate-rx-partitions-initial|4036 |3904 |3614
migrate-tx-partitions-initial|3362 |4096 |4096
Number of rows: 3
~bar Namespace Configuration (2020-12-17 01:09:07 UT~
Node|10.0.0.1:3000|10.0.0.2:3000|10.0.0.4:3000
Number of rows: 1

For large clusters, use the -flip option to flip output table for simplicity and ease of understanding.

Example: show config command output
Admin> show config namespace like partition -flip
~test Namespace Configuration (2020-12-17 01:19:14 UTC)~~
Node|partition-tree-sprigs|sindex.num-partitions
10.0.0.1:3000| 256| 32
10.0.0.2:3000| 256| 32
10.0.0.4:3000| 256| 32
10.0.0.5:3000| 256| 32
10.0.0.6:3000| 256| 32
Number of rows: 5
~~bar Namespace Configuration (2020-12-17 01:19:14 UTC)~~
Node|partition-tree-sprigs|sindex.num-partitions
10.0.0.1:3000| 256| 32
10.0.0.2:3000| 256| 32
10.0.0.4:3000| 256| 32
10.0.0.5:3000| 256| 32
10.0.0.6:3000| 256| 32
Number of rows: 5

config xdr

The show config xdr command displays all the available configuration information related to XDR. By default, this command displays XDR configuration, XDR datacenter configuration, and XDR namespace configuration. You may also provide one of the sub-commands: dc, namespace, and filter, to limit the output to a specific context. For example, to see configuration parameters for only namespace, use show config xdr namespace. All of the commands support the use of the for, like, and diff modifier.

The show config xdr dc command displays a new table for each configured datacenter. The command also supports the for modifier to filter by datacenter.

Example: XDR datacenter configuration with modifier
Admin> show config xdr dc for dc2 like max
~~~~~~~~~XDR dc2 DC Configuration (2023-02-16 22:37:00 UTC)~~~~~~~~~
Node |10.0.0.4:3000|10.0.0.5:3000|10.0.0.6:3000
max-recoveries-interleaved|0 |0 |0
max-used-service-threads |0 |0 |0
Number of rows: 3

The show config xdr namespace command displays a new table for each configured XDR namespace. The command also supports the for modifier to filter first by namespace and then by datacenter.

Example: show config xdr namespace command output
Admin> show config xdr namespace for test dc2 like sets
~~~~XDR test Namespace Configuration (2023-02-16 22:41:12 UTC)~~~~
Datacenter |dc2 |dc2 |dc2
Node |10.0.0.4:3000|10.0.0.5:3000|10.0.0.6:3000
ignored-sets |testset |testset |testset
ship-only-specified-sets|false |false |false
shipped-sets | | |
Number of rows: 5

The show config xdr filter command displays the XDR filters that are set for a given namespace and datacenter. The command also supports the for modifier to filter first by datacenter and then by namespace.

Example: show config xdr filter command for namespace and datacenter
Admin> show config xdr filter
~~~~~~~~~~~~~~~~~~~~~~~XDR Filters (2023-02-16 22:55:02 UTC)~~~~~~~~~~~~~~~~~~~~~~~
Namespace|Datacenter| Base64 Expression| Expression
bar |dc2 |null |null
test |dc2 |kxGRSJMEk1ECo2FnZRU|or(is_tombstone(), ge(bin_int("age"), 21))
Number of rows: 2

distribution

The show distribution command displays histograms. It supports object_size and time_to_live histograms.

For object_size, use -b to get bytewise distribution. For Aerospike Database 4.1.0.1 and earlier, the -k option helps to set the maximum number of buckets to show.

In the following example, 10 percent of our objects in test and bar are set to expire in 427100 and 425500 seconds, respectively.

Example: show distribution command with time_to_live histogram
Admin> show distribution time_to_live
~~~~~~~~~~~~test - TTL Distribution in Seconds (2020-12-18 02:14:24 UTC)~~~~~~~~~~~
Percentage of records having ttl less than or equal to value measured in Seconds
Node| 10%| 20%| 30%| 40%| 50%| 60%| 70%| 80%| 90%| 100%
10.0.0.1:3000|427100|427100|427100|427100|427100|427100|427100|427100|427100|427100
10.0.0.2:3000|427100|427100|427100|427100|427100|427100|427100|427100|427100|427100
10.0.0.3:3000|427100|427100|427100|427100|427100|427100|427100|427100|427100|427100
10.0.0.4:3000|427100|427100|427100|427100|427100|427100|427100|427100|427100|427100
10.0.0.6:3000|427100|427100|427100|427100|427100|427100|427100|427100|427100|427100
Number of rows: 5
~~~~~~~~~~~~bar - TTL Distribution in Seconds (2020-12-18 02:14:24 UTC)~~~~~~~~~~~~
Percentage of records having ttl less than or equal to value measured in Seconds
Node| 10%| 20%| 30%| 40%| 50%| 60%| 70%| 80%| 90%| 100%
10.0.0.1:3000|425500|425500|425500|425500|425500|425500|425500|425500|425500|425500
10.0.0.2:3000|425500|425500|425500|425500|425500|425500|425500|425500|425500|425500
10.0.0.3:3000|425500|425500|425500|425500|425500|425500|425500|425500|425500|425500
10.0.0.4:3000|425500|425500|425500|425500|425500|425500|425500|425500|425500|425500
10.0.0.6:3000|425500|425500|425500|425500|425500|425500|425500|425500|425500|425500
Number of rows: 5

jobs

Access Control Permissions: data-admin

The show jobs [scan|query|sindex-builder] command displays current and past jobs running on the aerospike cluster and are used in conjunction with the manage jobs controller. To make viewing easier, run the pager on command first.

By default it returns all job modules. Each module table is organized in a number of ways for easier viewing. It groups the jobs by their Namespace and Type. Groups are separated by horizontal dashes. Jobs are further organized left to right by their Progress % and Time Since Done.

Scan jobs are displayed until evicted by another scan job. You can configure the maximum number of scan jobs stored per node with query-max-done. In contrast, query jobs are only displayed while they are running.

Admin+> show jobs
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~Scan Jobs (2021-10-20 23:08:14 UTC)~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Node |10.0.0.3:3000 |10.0.0.2:3000 |10.0.0.1:3000
Namespace |bar |bar |bar
Module |scan |scan |scan
Type |basic |basic |basic
Progress % |100.0 |100.0 |100.0
Transaction ID |1583278212325152813 |1554763604191518487 |1554763604191518487
Time Since Done |00:33:26 |00:34:42 |00:34:43
active-threads |0 |0 |0
from |10.0.22.1+52252 |10.0.22.1+34048 |10.0.22.1+40340
n-pids-requested |1.366 K |1.365 K |1.365 K
net-io-bytes |37.940 MB |8.505 MB |8.048 MB
priority |0 |0 |0
recs-failed |0.000 |0.000 |0.000
recs-filtered-bins|0.000 |0.000 |0.000
recs-filtered-meta|0.000 |0.000 |0.000
recs-succeeded |333.874 K |75.826 K |71.779 K
recs-throttled |333.874 K |75.826 K |71.779 K
rps |0.000 |0.000 |0.000
run-time |00:00:05 |00:00:01 |00:00:01
socket-timeout |00:00:30 |00:00:30 |00:00:30
status |done(ok) |done(abandoned-response-timeout)|done(abandoned-response-timeout)
-------------------------------------------------------------------------------------------------------------------
Node |10.0.0.3:3000 |10.0.0.2:3000 |10.0.0.1:3000
Namespace |test |test |test
Module |scan |scan |scan
Type |basic |basic |basic
Progress % |100.0 |100.0 |100.0
Transaction ID |17709699727074092152|17709699727074092152 |17709699727074092152
Time Since Done |00:47:59 |00:47:59 |00:47:59
active-threads |0 |0 |0
from |10.0.22.1+51868 |10.0.22.1+33716 |174.22.22.1+40008
n-pids-requested |1.366 K |1.365 K |1.365 K
net-io-bytes |438.377 KB |443.145 KB |442.441 KB
priority |0 |0 |0
recs-failed |0.000 |0.000 |0.000
recs-filtered-bins|0.000 |0.000 |0.000
recs-filtered-meta|0.000 |0.000 |0.000
recs-succeeded |3.308 K |3.349 K |3.343 K
recs-throttled |3.308 K |3.349 K |3.343 K
rps |0.000 |0.000 |0.000
run-time |00:00:00 |00:00:00 |00:00:00
socket-timeout |00:00:30 |00:00:30 |00:00:30
status |done(ok) |done(ok) |done(ok)
Number of rows: 42
~~~~~~~~~~~~~~~~~~~~~Query Jobs (2021-10-20 23:08:14 UTC)~~~~~~~~~~~~~~~~~~~~~
Node |10.0.0.1:3000 |10.0.0.3:3000 |10.0.0.2:3000
Namespace |bar |bar |bar
Module |query |query |query
Progress % |0.0 |0.0 |0.0
Transaction ID |2143237531128163351|2143237531128163351|2143237531128163351
Time Since Done |00:00:00 |00:00:00 |00:00:00
active-threads |0 |0 |0
net-io-bytes |2.400 MB |2.087 MB |2.681 MB
priority |10 |10 |10
recs-failed |0.000 |0.000 |0.000
recs-filtered-bins|0.000 |0.000 |0.000
recs-filtered-meta|0.000 |0.000 |0.000
recs-succeeded |32.558 K |29.274 K |36.467 K
recs-throttled |0.000 |0.000 |0.000
rps |0.000 |0.000 |0.000
run-time |00:00:07 |00:00:07 |00:00:07
set |testset |testset |testset
sindex-name |a-bar-index |a-bar-index |a-bar-index
socket-timeout |00:00:00 |00:00:00 |00:00:00
status |active |active |active
Number of rows: 20

latencies

The show latencies command displays latency characteristics of reads, writes, queries, replication, and UDFs.

Change the number of latency buckets shown using the -b flag. Use the -e flag to set the exponential increment used to calculate the value assigned to each latency bucket. If configuration-enabled-benchmarks are enabled, you can view them with the -v flag.

Example: Verbose read latency with eight buckets and with latency increment of 2
Admin> show latencies -v -b 8 -e 2 like read
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~Latency (2020-12-17 19:18:25 UTC)~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Namespace|Histogram| Node|ops/sec|>1ms|>4ms|>16ms|>64ms|>256ms|>1024ms|>4096ms|>16384ms
bar |read |10.0.0.1:3000|455.4 |1.36|0.07|0.02 |0.0 |0.0 |0.0 |0.0 |0.0
bar |read |10.0.0.2:3000|1047.1 |3.5 |0.16|0.02 |0.0 |0.0 |0.0 |0.0 |0.0
bar |read |10.0.0.4:3000|1203.3 |1.51|0.13|0.02 |0.0 |0.0 |0.0 |0.0 |0.0
bar |read |10.0.0.5:3000|1241.3 |3.25|0.15|0.0 |0.0 |0.0 |0.0 |0.0 |0.0
bar |read |10.0.0.6:3000|946.2 |0.42|0.0 |0.0 |0.0 |0.0 |0.0 |0.0 |0.0
| | |1241.3 |3.5 |0.16|0.02 |0.0 |0.0 |0.0 |0.0 |0.0
test |read |10.0.0.1:3000|1280.8 |1.52|0.11|0.01 |0.0 |0.0 |0.0 |0.0 |0.0
test |read |10.0.0.2:3000|841.6 |3.94|0.15|0.0 |0.0 |0.0 |0.0 |0.0 |0.0
test |read |10.0.0.4:3000|517.1 |0.19|0.0 |0.0 |0.0 |0.0 |0.0 |0.0 |0.0
test |read |10.0.0.5:3000|523.7 |0.31|0.0 |0.0 |0.0 |0.0 |0.0 |0.0 |0.0
test |read |10.0.0.6:3000|733.1 |0.45|0.05|0.0 |0.0 |0.0 |0.0 |0.0 |0.0
| | |1280.8 |3.94|0.15|0.01 |0.0 |0.0 |0.0 |0.0 |0.0
Number of rows: 10

The following example looks at the latency of writes-master with the -v option if they have been enabled. For more information, see Write transaction analysis:

Example: latency command with -v option
Admin> show latencies -v like write-master
~~~~~~~~~~~~~~Latency (2020-12-17 02:07:41 UTC)~~~~~~~~~~~~
Namespace| Histogram| Node|ops/sec|>1ms|>8ms|>64ms
test |write-master|10.0.0.1:3000|0.0 |0.0 |0.0 |0.0
test |write-master|10.0.0.2:3000|0.0 |0.0 |0.0 |0.0
test |write-master|10.0.0.4:3000|0.0 |0.0 |0.0 |0.0
test |write-master|10.0.0.5:3000|0.0 |0.0 |0.0 |0.0
test |write-master|10.0.0.6:3000|0.0 |0.0 |0.0 |0.0
| | |0.0 |0.0 |0.0 |0.0
Number of rows: 5

The show latencies command supports for modifier to display namespace wise latency. It also shows aggregate latency for input namespaces filtered by for.

Example: show latencies command with filter
Admin> show latencies for te b like write
~~~~~~~~~~~~Latency (2020-12-17 02:43:52 UTC)~~~~~~~~~~~~
Namespace|Histogram| Node|ops/sec| >1ms|>8ms|>64ms
bar |write |10.0.0.1:3000|2314.0 |4.78 |0.06|0.0
bar |write |10.0.0.2:3000|2203.2 |26.16|0.31|0.0
bar |write |10.0.0.4:3000|1767.5 |4.43 |0.04|0.0
bar |write |10.0.0.5:3000|1525.3 |11.84|0.09|0.0
bar |write |10.0.0.6:3000|1484.8 |4.26 |0.05|0.0
| | |2314.0 |26.18|0.31|0.0
test |write |10.0.0.1:3000|0.0 |0.0 |0.0 |0.0
test |write |10.0.0.2:3000|0.0 |0.0 |0.0 |0.0
test |write |10.0.0.4:3000|126.7 |6.55 |0.32|0.0
test |write |10.0.0.5:3000|363.1 |13.99|0.11|0.0
test |write |10.0.0.6:3000|319.4 |9.89 |0.19|0.0
| | |363.1 |13.99|0.32|0.0
Number of rows: 10

The rows without namespace name or histogram show aggregate latency. Though not visible here, these rows are displayed with blue font.

latency

Removed from asadm 0.7.0.

The show latency command displays latency characteristics of reads, writes, and proxies.

We can get latency for specific time range in intervals by using parameters -f, -d and -t. You can also set -m to display latency output machine wise. Default display is histogram name wise.

Example: Latency of writes_master
Admin> show latency like writes_master
~~~~~~~~~~~~~~~writes_master Latency (2018-03-02 08:28:09 UTC)~~~~~~~~~~~~~~~~
Node Time Ops/Sec %>1Ms %>8Ms %>64Ms
. Span . . . .
u10.aerospike.local:3000 08:27:58->08:28:08 2044.7 1.09 0.0 0.0
u12.aerospike.local:3000 08:27:58->08:28:08 2012.6 0.77 0.0 0.0
u13.aerospike.local:3000 08:27:58->08:28:08 1968.9 1.03 0.0 0.0
Number of rows: 3

The show latency command supports the for modifier to display namespace-wise latency. It also shows aggregate latency for input namespaces (filtered by for).

Example: show latency with modifier
Admin> show latency for te b like query
~~~~~~~~~~~~~~~~~~~~~~~~~~query Latency (2018-03-02 08:28:09 UTC)~~~~~~~~~~~~~~~~~~~~~~~~~~~
Node Namespace Time Ops/Sec %>1Ms %>8Ms %>64Ms
. . Span . . . .
1.0.0.127.in-addr.arpa:3000 bar 08:27:58->08:28:08 295.2 2.0 0.0 0.0
1.0.0.127.in-addr.arpa:3000 test 08:27:58->08:28:08 100.0 2.7 0.0 0.0
1.0.0.127.in-addr.arpa:3000 08:27:58->08:28:08 395.2 2.18 0.0 0.0
Number of rows: 3

The third row without namespace name is aggregate latency for test and bar namespace.

mapping

The show mapping command displays mapping from IP to Node-ID and Node-ID to IPs. By default it displays both maps, but sub-commands ip, and node will confine the output to a single map. You can also use like modifier to input substring of expected IP or Node-ID.

Example: IP to Node-ID mapping
Admin> show mapping ip like 231 233
~IP to NODE-ID Mappings (2020-12-18 00:49:14 UTC)~
IP| Node ID
172.16.245.231:3000|BB9010016AE4202
172.16.245.233:3000|BB9020016AE4202
Number of rows: 2
Example: Node-ID to IP mapping
Admin> show mapping node like BB
~NODE-ID to IPs Mappings (2020-12-18 00:50:43 UTC)~
Node ID| IP
BB9010016AE4202| 10.0.0.1:3000
Number of rows: 1

The output displays all available endpoints for Node.

pmap

The show pmap command displays partition map analysis of the Aerospike cluster.

Example: show pmap command output
Admin> show pmap
~~~~~~~~~~~~Partition Map Analysis (2020-12-18 01:12:36 UTC)~~~~~~~~~~~
Namespace| Node| Cluster Key|~~~~~~~~~~~~Partitions~~~~~~~~~~~~
| | |Primary|Secondary|Unavailable|Dead
bar |10.0.0.1:3000|33718FC58CD6| 791| 799| 0| 0
bar |10.0.0.2:3000|33718FC58CD6| 868| 822| 0| 0
bar |10.0.0.3:3000|33718FC58CD6| 839| 862| 0| 0
bar |10.0.0.4:3000|33718FC58CD6| 800| 780| 0| 0
bar |10.0.0.6:3000|33718FC58CD6| 798| 833| 0| 0
bar | | | 4096| 4096| 0| 0
test |10.0.0.1:3000|33718FC58CD6| 791| 799| 0| 0
test |10.0.0.2:3000|33718FC58CD6| 868| 822| 0| 0
test |10.0.0.3:3000|33718FC58CD6| 839| 862| 0| 0
test |10.0.0.4:3000|33718FC58CD6| 800| 780| 0| 0
test |10.0.0.6:3000|33718FC58CD6| 798| 833| 0| 0
test | | | 4096| 4096| 0| 0
Number of rows: 10
  • Primary Partitions: Total number of primary partitions for a specific namespace on that node.
  • Secondary Partitions: Total number of secondary partitions for a specific namespace on that node.
  • Unavailable Partitions: The number of partitions that are unavailable when roster nodes are missing.
  • Dead Partitions: The number of partitions that are unavailable when all roster nodes are present.

racks

The show racks command displays a namespaces’ rack-ids and the nodes assigned to each. This is particularly useful in rack-aware configurations.

Admin> show racks
~~~~~~~~~~~~~~~~Racks (2021-10-21 20:33:28 UTC)~~~~~~~~~~~~~~~~~
Namespace|Rack| Nodes
| ID|
bar |4 |BB9040016AE4202, BB9020016AE4202, BB9010016AE4202
test |2 |BB9040016AE4202, BB9010016AE4202
Number of rows: 2

roles

Access Control Permissions: user-admin

The show roles command displays roles along with associated privileges, allowlists, and quotas as returned by the principal node. show roles can be used in conjunction with manage acl roles to perform role administration.

Admin+> show roles
~~~~~~~~~~~~~~~~~~~~~~~~~~~Roles (2021-04-21 22:28:01 UTC)~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Role| Privileges|Allowlist|~~~Quotas~~
| | | Read|Write
read | read| --|-- |--
read-write | read-write| --|-- |--
read-write-udf| read-write-udf| --|-- |--
reader | read| 1.1.1.1|10000|1
root | user-admin, sys-admin, data-admin, read-write| --|-- |--
superuser |user-admin, sys-admin, data-admin, read-write-udf| --|-- |--
sys-admin | sys-admin| --|-- |--
user-admin | user-admin| --|-- |--
write | write| --|-- |--
writer | read-write| 2.2.2.2|1 |10000
Number of rows: 10

roster

The show roster command displays the current and pending roster as well as the observed nodes. To make viewing easier, run the pager on command first. show roster can be used in conjunction with manage roster to modify the pending roster. To filter output based on namespace use the for modifier. To filter output based on node use the with modifier. To display any differences between values in any given column use the diff modifier.

Admin> show roster
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~Roster (2021-10-21 20:12:29 UTC)~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Node| Node ID|Namespace| Current Roster| Pending Roster| Observed Nodes
10.0.0.1:3000|BB9010016AE4202 |bar |BB9040016AE4202@4, BB9020016AE4202@4, BB9010016AE4202@4|BB9040016AE4202@4, BB9020016AE4202@4, BB9010016AE4202@4|BB9040016AE4202@4, BB9020016AE4202@4, BB9010016AE4202@4
10.0.0.2:3000|BB9020016AE4202 |bar |BB9040016AE4202@4, BB9020016AE4202@4, BB9010016AE4202@4|BB9040016AE4202@4, BB9020016AE4202@4, BB9010016AE4202@4|BB9040016AE4202@4, BB9020016AE4202@4, BB9010016AE4202@4
10.0.0.4:3000|*BB9040016AE4202|bar |BB9040016AE4202@4, BB9020016AE4202@4, BB9010016AE4202@4|BB9040016AE4202@4, BB9020016AE4202@4, BB9010016AE4202@4|BB9040016AE4202@4, BB9020016AE4202@4, BB9010016AE4202@4
10.0.0.1:3000|BB9010016AE4202 |test |BB9040016AE4202@2, BB9020016AE4202@2, BB9010016AE4202@2|BB9040016AE4202@2, BB9020016AE4202@2, BB9010016AE4202@2|BB9040016AE4202@2, BB9020016AE4202@2, BB9010016AE4202@2
10.0.0.2:3000|BB9020016AE4202 |test |BB9040016AE4202@2, BB9020016AE4202@2, BB9010016AE4202@2|BB9040016AE4202@2, BB9020016AE4202@2, BB9010016AE4202@2|BB9040016AE4202@2, BB9020016AE4202@2, BB9010016AE4202@2
10.0.0.4:3000|*BB9040016AE4202|test |BB9040016AE4202@2, BB9020016AE4202@2, BB9010016AE4202@2|BB9040016AE4202@2, BB9020016AE4202@2, BB9010016AE4202@2|BB9040016AE4202@2, BB9020016AE4202@2, BB9010016AE4202@2
Number of rows: 6

sindex

The show sindex command displays secondary indexes and associated static metadata as returned by the principal node. show sindex can be used in conjunction with manage sindex to perform sindex management.

Admin+> show sindex
~~~~~~Secondary Indexes (2021-01-22 23:04:49 UTC)~~~~~~
Index Name|Namespace| Set| Bin| Bin| Index|State
| | | | Type| Type|
name-sindex|bar |NULL|name|STRING |NONE |RW
age-index |test |NULL| age|NUMERIC|MAPVALUES|RW
job-index |test |NULL| age|STRING |MAPVALUES|RW
Number of rows: 3

statistics

The show statistics command displays all server statistics from several server components. By default it returns statistics for the following:

  • bins
  • namespace
  • service
  • sets
  • sindex
  • xdr

Use the bins, namespace, service, sets, sindex, and xdr sub-commands to limit the output to a single context.

See details and additional subcommands for show statistics xdr. You can also set -t parameter to get an extra aggregate column for total across columns. Total column displays sum of statistics with numeric values.

Example: Service level statistics, filter for metric containing the token batch, display a total column
Admin> show statistics service like batch -t
~~~~~~~~~~~~~~~~~~Service Statistics (2020-12-18 01:33:36 UTC)~~~~~~~~~~~~~~~~~~~~~
Node |10.0.0.1:3000|10.0.0.2:3000|10.0.0.3:3000|
batch_index_complete |0 |0 |0 |0
batch_index_created_buffers |0 |0 |0 |0
batch_index_delay |0 |0 |0 |0
batch_index_destroyed_buffers |0 |0 |0 |0
batch_index_error |0 |0 |0 |0
batch_index_huge_buffers |0 |0 |0 |0
batch_index_initiate |0 |0 |0 |0
batch_index_proto_compression_ratio |1.0 |1.0 |1.0 |
batch_index_proto_uncompressed_pct |0.0 |0.0 |0.0 |0.0
batch_index_queue |0:0,0:0 |0:0,0:0 |0:0,0:0 |
batch_index_timeout |0 |0 |0 |0
batch_index_unused_buffers |0 |0 |0 |0
early_tsvc_batch_sub_error |0 |0 |0 |0
early_tsvc_from_proxy_batch_sub_error|0 |0 |0 |0
Number of rows: 15

For large clusters, use the -flip option to flip the output for readability.

Example: Output for show statistics command with -flip option
Admin> show statistics namespace for test like partition-tree -flip
~test Namespace Statistics (2020-12-18 01:58:32 UTC)~
Node|partition-tree-sprigs
10.0.0.1:3000| 256
10.0.0.2:3000| 256
10.0.0.3:3000| 256
10.0.0.4:3000| 256
10.0.0.6:3000| 256
Number of rows: 5

statistics xdr

The show statistics xdr command displays all the available statistics information related to XDR. By default, this command displays XDR datacenter statistics and XDR namespace statistics. You may also provide one of the sub-commands: dc and namespace to limit the output to a specific context.

The show statistics xdr dc command displays a new table for each configured datacenter. The command also supports the for modifier to filter by datacenter.

Admin> show statistics xdr dc for dc2 like retry
~~~~~~~~~XDR dc2 DC Statistics (2023-02-16 23:56:28 UTC)~~~~~~~~~~
Node |172.17.0.4:3000|172.17.0.5:3000|172.17.0.6:3000
retry_conn_reset|0 |0 |0
retry_dest |0 |0 |0
retry_no_node |0 |0 |0
Number of rows: 4

The show statistics xdr namespace command displays a new table for each configured xdr namespace. The command also supports the for modifier to filter first by namespace and then by datacenter.

Admin> show statistics xdr namespace like retry
~~~~~~~~~~~~~~~~~~~~~~XDR test Namespace Statistics (2023-02-16 23:57:32 UTC)~~~~~~~~~~~~~~~~~~~~~~~
Datacenter |dc1 |dc1 |dc1 |dc2 |dc2 |dc2
Node |10.0.0.4:3000|10.0.0.5:3000|10.0.0.6:3000|10.0.0.4:3000|10.0.0.5:3000|10.0.0.6:3000
retry_conn_reset|0 |0 |0 |0 |0 |0
retry_dest |0 |0 |0 |0 |0 |0
retry_no_node |0 |0 |0 |0 |0 |0
Number of rows: 5
~~~~~~~~~~~~~~~~~~~~~~XDR bar Namespace Statistics (2023-02-16 23:57:32 UTC)~~~~~~~~~~~~~~~~~~~~~~~
Datacenter |dc1 |dc1 |dc1 |dc2 |dc2 |dc2
Node |10.0.0.4:3000|10.0.0.5:3000|10.0.0.6:3000|10.0.0.4:3000|10.0.0.5:3000|10.0.0.6:3000
retry_conn_reset|0 |0 |0 |0 |0 |0
retry_dest |0 |0 |0 |0 |0 |0
retry_no_node |0 |0 |0 |0 |0 |0
Number of rows: 5

To instead display a new table for each configured datacenter use the --by-dc flag.

Admin> show statistics xdr namespace like retry --by-dc
~~~~~~~~~~~~~~~~~~~~~~XDR dc1 Namespace Statistics (2023-02-16 23:57:32 UTC)~~~~~~~~~~~~~~~~~~~~~~~
Namespace |test |test |test |bar |bar |bar
Node |10.0.0.4:3000|10.0.0.5:3000|10.0.0.6:3000|10.0.0.4:3000|10.0.0.5:3000|10.0.0.6:3000
retry_conn_reset|0 |0 |0 |0 |0 |0
retry_dest |0 |0 |0 |0 |0 |0
retry_no_node |0 |0 |0 |0 |0 |0
Number of rows: 5
~~~~~~~~~~~~~~~~~~~~~~XDR dc2 Namespace Statistics (2023-02-16 23:57:32 UTC)~~~~~~~~~~~~~~~~~~~~~~~
Namespace |test |test |test |bar |bar |bar
Node |10.0.0.4:3000|10.0.0.5:3000|10.0.0.6:3000|10.0.0.4:3000|10.0.0.5:3000|10.0.0.6:3000
retry_conn_reset|0 |0 |0 |0 |0 |0
retry_dest |0 |0 |0 |0 |0 |0
retry_no_node |0 |0 |0 |0 |0 |0
Number of rows: 5

stop-writes

The show stop-writes command in the asadm tool returns comprehensive information about stop-writes configuration parameters, metrics, and their associated namespace and test contexts. This command helps determine the proximity to reaching the stop-writes threshold at different levels: service context (global), namespace context, or set context. It also helps identify the reasons for being in the stop-writes state.

show stop-writes displays the following table which is ordered based on the proximity to breaching the configured stop-writes threshold. For instance, the stop-writes-count configuration for the namespace test and set testset is closest to reaching the limit of 10,000 records and is positioned at the bottom of the table. This arrangement helps in effectively addressing the issue by providing the relevant configuration details and the metric that might potentially exceed the threshold. Additionally, the table presents the current proximity to the configured threshold, actual usage, and the threshold itself, offering a clear understanding of the current status. A -- threshold means none is configured.

Example: show stop-writes command output
Admin> show stop-writes
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~Stop Writes (2023-05-23 23:01:01 UTC)~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Show all stop writes - add 'for NAMESPACE [SET]' for a shorter list.
Config|Namespace| Set| Node|Stop-Writes| Metric| Usage%| Usage|Threshold
stop-writes-size |test |testset|172.17.0.5:3000|False |memory_data_bytes | --|123.005 KB| --
stop-writes-size |test |testset|172.17.0.4:3000|False |memory_data_bytes | --|123.373 KB| --
stop-writes-size |test |testset|172.17.0.3:3000|False |memory_data_bytes | --|123.246 KB| --
-- |test |-- |172.17.0.5:3000|False |cluster_clock_skew_ms| --| 00:00:00| --
-- |bar |-- |172.17.0.5:3000|False |cluster_clock_skew_ms| --| 00:00:00| --
-- |test |-- |172.17.0.4:3000|False |cluster_clock_skew_ms| --| 00:00:00| --
-- |bar |-- |172.17.0.4:3000|False |cluster_clock_skew_ms| --| 00:00:00| --
-- |test |-- |172.17.0.3:3000|False |cluster_clock_skew_ms| --| 00:00:00| --
-- |bar |-- |172.17.0.3:3000|False |cluster_clock_skew_ms| --| 00:00:00| --
stop-writes-pct |bar |-- |172.17.0.3:3000|False |memory_used_bytes | 0.0 %| 0.000 B | 3.600 GB
stop-writes-pct |bar |-- |172.17.0.4:3000|False |memory_used_bytes | 0.0 %| 0.000 B | 3.600 GB
stop-writes-pct |bar |-- |172.17.0.5:3000|False |memory_used_bytes | 0.0 %| 0.000 B | 3.600 GB
stop-writes-pct |test |-- |172.17.0.5:3000|False |memory_used_bytes | 1.74 %|728.567 KB|40.960 MB
stop-writes-pct |test |-- |172.17.0.3:3000|False |memory_used_bytes | 1.74 %|729.996 KB|40.960 MB
stop-writes-pct |test |-- |172.17.0.4:3000|False |memory_used_bytes | 1.74 %|730.748 KB|40.960 MB
stop-writes-sys-memory-pct|bar |-- |172.17.0.3:3000|False |system_free_mem_pct |28.89 %| 26.0 %| 90.0 %
stop-writes-sys-memory-pct|test |-- |172.17.0.3:3000|False |system_free_mem_pct |28.89 %| 26.0 %| 90.0 %
stop-writes-sys-memory-pct|bar |-- |172.17.0.4:3000|False |system_free_mem_pct |28.89 %| 26.0 %| 90.0 %
stop-writes-sys-memory-pct|test |-- |172.17.0.4:3000|False |system_free_mem_pct |28.89 %| 26.0 %| 90.0 %
stop-writes-sys-memory-pct|bar |-- |172.17.0.5:3000|False |system_free_mem_pct |28.89 %| 26.0 %| 90.0 %
stop-writes-sys-memory-pct|test |-- |172.17.0.5:3000|False |system_free_mem_pct |28.89 %| 26.0 %| 90.0 %
stop-writes-count |test |testset|172.17.0.5:3000|False |objects |96.89 %| 9.689 K| 10.000 K
stop-writes-count |test |testset|172.17.0.3:3000|False |objects |97.08 %| 9.708 K| 10.000 K
stop-writes-count |test |testset|172.17.0.4:3000|False |objects |97.18 %| 9.718 K| 10.000 K
Number of rows: 24

udfs

The show udfs command displays user-defined function (UDF) modules as returned by the principal node. show udfs can be used in conjunction with manage udfs to perform UDF management.

Admin+> show udfs
~~~~~~~~UDF Modules (2021-01-22 23:12:29 UTC)~~~~~~~~~
Filename| Hash|Type
abc.123 |dceaf7f1acddf1d6e12a1752d499d80cfadfc24b|LUA
bar.lua |591d2536acb21a329040beabfd9bfaf110d35c18|LUA
foo.lua |f6eaf2b22d8b29b3597ef1ad9113d0907425ecd0|LUA

users

Access Control Permissions: user-admin

The show users [user] command displays users along with their associated roles as returned by the principal node. Optionally, you can display a single user by providing a username as the first argument. show users can be used in conjunction with manage acl users to perform user administration.

Admin+> show users
~~Users (2023-05-24 20:52:11 UTC)~~
To see users statistics run 'show
users statistics'
User| Roles|~Read~|~Write~
| | Quota| Quota
admin |user-admin|0 |0
reader | reader|10000 |1
root | root|0 |0
superuser| superuser|0 |0
writer | writer|1 |10000
Number of rows: 5

users statistics

Access Control Permissions: user-admin

The show users statistics [user] command displays users, number of user connections, and quota related metrics across all nodes in the cluster. You can use this to see the live activity of your users and find out which users might be close to or exceeding their assigned quotas. In addition to viewing users per node, there is also an additional aggregate line to display usage for the entire cluster. Optionally, you can retrieve a single user by providing a username as the first argument. show users statistics can be used in conjunction with show users and manage acl users to perform user administration.

Admin+> show users stat
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~Users Statistics (2023-05-24 21:49:04 UTC)~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
User| Node|Connections|~~~~~~~~~~~~~~~~~~~~Read~~~~~~~~~~~~~~~~~~~|~~~~~~~~~~~~~~~~~~~Write~~~~~~~~~~~~~~~~~~~
| | | Quota|Usage%| Single| PI/SI| PI/SI| Quota|Usage%| Single| PI/SI| PI/SI
| | | | | Record| Query| Query| | | Record| Query| Query
| | | | | TPS|Limited|Limitless| | | TPS|Limited|Limitless
| | | | | | RPS| | | | | RPS|
admin |172.17.0.3:3000| 2.000 | 0.000 | --| 0.000 |0.000 | 0.000 | 0.000 | --| 0.000 |0.000 | 0.000
admin |172.17.0.4:3000| 2.000 | 0.000 | --| 0.000 |0.000 | 0.000 | 0.000 | --| 0.000 |0.000 | 0.000
admin |172.17.0.5:3000| 2.000 | 0.000 | --| 0.000 |0.000 | 0.000 | 0.000 | --| 0.000 |0.000 | 0.000
admin | | 6.000 | 0.000 | 0.0 %| 0.000 |0.000 | 0.000 | 0.000 | 0.0 %| 0.000 |0.000 | 0.000
reader |172.17.0.3:3000| 13.000 |10.000 K|5.93 %|593.000 |0.000 | 0.000 | 1.000 | 0.0 %| 0.000 |0.000 | 0.000
reader |172.17.0.4:3000| 13.000 |10.000 K|5.15 %|515.000 |0.000 | 0.000 | 1.000 | 0.0 %| 0.000 |0.000 | 0.000
reader |172.17.0.5:3000| 13.000 |10.000 K| 4.7 %|470.000 |0.000 | 0.000 | 1.000 | 0.0 %| 0.000 |0.000 | 0.000
reader | | 39.000 |30.000 K|5.26 %| 1.578 K|0.000 | 0.000 | 3.000 | 0.0 %| 0.000 |0.000 | 0.000
root |172.17.0.3:3000| --| 0.000 | --| 0.000 |0.000 | 0.000 | 0.000 | --| 0.000 |0.000 | 0.000
root |172.17.0.4:3000| --| 0.000 | --| 0.000 |0.000 | 0.000 | 0.000 | --| 0.000 |0.000 | 0.000
root |172.17.0.5:3000| --| 0.000 | --| 0.000 |0.000 | 0.000 | 0.000 | --| 0.000 |0.000 | 0.000
root | | --| 0.000 | 0.0 %| 0.000 |0.000 | 0.000 | 0.000 | 0.0 %| 0.000 |0.000 | 0.000
superuser|172.17.0.3:3000| 14.000 | 0.000 | --|263.000 |0.000 | 0.000 | 0.000 | --|271.000 |0.000 | 0.000
superuser|172.17.0.4:3000| 12.000 | 0.000 | --|225.000 |0.000 | 0.000 | 0.000 | --|257.000 |0.000 | 0.000
superuser|172.17.0.5:3000| 14.000 | 0.000 | --|227.000 |0.000 | 0.000 | 0.000 | --|226.000 |0.000 | 0.000
superuser| | 40.000 | 0.000 | 0.0 %|715.000 |0.000 | 0.000 | 0.000 | 0.0 %|754.000 |0.000 | 0.000
writer |172.17.0.3:3000| 14.000 | 1.000 | 0.0 %| 0.000 |0.000 | 0.000 |10.000 K|5.29 %|529.000 |0.000 | 0.000
writer |172.17.0.4:3000| 12.000 | 1.000 | 0.0 %| 0.000 |0.000 | 0.000 |10.000 K|4.56 %|456.000 |0.000 | 0.000
writer |172.17.0.5:3000| 14.000 | 1.000 | 0.0 %| 0.000 |0.000 | 0.000 |10.000 K|4.45 %|445.000 |0.000 | 0.000
writer | | 40.000 | 3.000 | 0.0 %| 0.000 |0.000 | 0.000 |30.000 K|4.77 %| 1.430 K|0.000 | 0.000
Number of rows: 15

summary

The summary command displays summary of cluster. This command accepts remote server credentials to collect system statistics and show them in summary. By default it collects Aerospike data from all nodes but system statistics only from the localhost (if it is a node of a connected cluster).

To enable remote system statistics collection, one can use —-enable-ssh option. This command accepts more ssh credentials through the following options: —-ssh-user, —-ssh-pwd, —-ssh-port, and —-ssh-key. Also one can provide all credentials through a file by using the option —-ssh-cf. For more information, see help summary. For a better “Usage Unique(Data)” summary one can provide the agent host and agent port of the UDA with the --agent-host and --agent-port options respectively. By default UDA entries where the cluster is reportedly unstable (due to migration or other factors) are filtered out. To include these entries use the --agent-unstable flag.

Example: summary command output
Admin> summary -l
Cluster
=======
1. Server Version : E-5.7.0.5
2. OS Version :
3. Cluster Size : 3
4. Devices : Total 1, per-node 1
5. Memory : Total 3.750 GB, 0.06% used (2.183 MB), 99.94% available (3.748 GB)
6. Pmem Index : Total 3.000 GB, 0.00% used (0.000 B), 100.00% available (3.000 GB)
7. Disk : Total 0.000 B, 0.00% used (0.000 B), 0.00% available contiguous space (0.000 B)
8. Usage (Unique Data): Latest: 625.000 KB Max: 805.000 KB Min: 0.000 KB Avg: 632.000 KB
9. Active Namespaces : 1 of 1
10. Features : KVS, Query, Rack-aware, SC, SINDEX, Scan
Namespaces
==========
test
====
1. Devices : Total 1, per-node 1
2. Memory : Total 3.750 GB, 0.06% used (2.183 MB), 99.94% available (3.748 GB)
3. Pmem Index : Total 3.000 GB, 0.00% used (0.000 B), 100.00% available (3.000 GB)
4. Disk : Total 0.000 B, 0.00% used (0.000 B), 0.00% available contiguous space (0.000 B)
5. Replication Factor : 2
6. Rack-aware : False
7. Master Objects : 1.307 K
8. Compression-ratio : 1.0

watch

Place the watch command before another asadm command, and you can add two optional fixed-position arguments. The first position is the number of seconds to wait between iterations and the second position is the number of iterations to execute.

The following example runs info network three times with a five-second sleep between iterations.

Example: info network command output
Admin> watch 5 3 info network
[ 2020-12-17 18:11:41 'info network' sleep: 5.0s iteration: 1 of 3 ]
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~Network Information (2020-12-18 02:11:41 UTC)~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Node| Node ID| IP| Build|Migrations|~~~~~~~~~~~~~~~~~~Cluster~~~~~~~~~~~~~~~~~~|Client| Uptime
| | | | |Size| Key|Integrity| Principal| Conns|
10.0.0.1:3000| BB9010016AE4202| 10.0.0.1:3000|C-5.3.0.1| 0.000 | 5|33718FC58CD6|True |BB9060016AE4202| 4|02:20:24
10.0.0.2:3000| BB9020016AE4202| 10.0.0.2:3000|C-5.3.0.1| 0.000 | 5|33718FC58CD6|True |BB9060016AE4202| 4|02:20:23
Number of rows: 2
[ 2020-12-17 18:11:46 'info network' sleep: 5.0s iteration: 2 of 3 ]
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~Network Information (2020-12-18 02:11:46 UTC)~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Node| Node ID| IP| Build|Migrations|~~~~~~~~~~~~~~~~~~Cluster~~~~~~~~~~~~~~~~~~|Client| Uptime
| | | | |Size| Key|Integrity| Principal| Conns|
10.0.0.1:3000| BB9010016AE4202| 10.0.0.1:3000|C-5.3.0.1| 0.000 | 5|33718FC58CD6|True |BB9060016AE4202| 3|02:20:29
10.0.0.2:3000| BB9020016AE4202| 10.0.0.2:3000|C-5.3.0.1| 0.000 | 5|33718FC58CD6|True |BB9060016AE4202| 3|02:20:28
Number of rows: 2
[ 2020-12-17 18:11:51 'info network' sleep: 5.0s iteration: 3 of 3 ]
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~Network Information (2020-12-18 02:11:51 UTC)~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Node| Node ID| IP| Build|Migrations|~~~~~~~~~~~~~~~~~~Cluster~~~~~~~~~~~~~~~~~~|Client| Uptime
| | | | |Size| Key|Integrity| Principal| Conns|
10.0.0.1:3000| BB9010016AE4202| 10.0.0.1:3000|C-5.3.0.1| 0.000 | 5|33718FC58CD6|True |BB9060016AE4202| 3|02:20:34
10.0.0.2:3000| BB9020016AE4202| 10.0.0.2:3000|C-5.3.0.1| 0.000 | 5|33718FC58CD6|True |BB9060016AE4202| 3|02:20:33
Number of rows: 2

Configure SSH

Aerospike Tools 10.2.0 or later is required for asadm to connect to remote hosts using SSH.

The asadm collect* commands use SSH and SFTP protocols to run commands and download files from remote Aerospike hosts. These commands produce vital information for Aerospike support to troubleshoot problems.

Requirements:

  • SSH and SFTP installed and configured on the remote host.
  • SSH between the host and remote is configured using user/password or public/private key authentication.
  • If using user/password authentication all remote hosts must use the same credentials.

You can configure asadm to use SSH in a few ways:

Use common SSH configuration files

Using pre-existing SSH configuration files is the easiest way to configure asadm because most likely you configured your SSH configuration file when setting up SSH between the local and remote hosts. By using the configuration files, you can access many additional features supported by the SSH protocol, and avoid typing in flags every time you run an asadm command.

To automatically connect to your remote hosts using SSH, add one or more sections to your ~/.ssh/config or /etc/ssh/ssh_config files to tell asadm and SSH how to connect to the remote.

This is a basic example of a section that you can add to your SSH configuration file:

Host AEROSPIKE-HOST0 AEROSPIKE-HOST1
User REMOTE-USER0
IdentityFile PATH-TO-PRIVATE-KEY0
Host AEROSPIKE-HOST2
User REMOTE-USER1
IdentityFile PATH-TO-PRIVATE-KEY1

If you need to use different username, keys, or other information, add another host section for each. An easy way to confirm if your SSH is properly configured is to run ssh REMOTE-DESTINATION and check for successful authentication.

After adding the correct options to your SSH configuration file, you can configure the command by enabling SSH with --enable-ssh.

Admin> collectlogs --enable-ssh
Full list of supported OpenSSH client options
- AddressFamily:
- BindAddress
- CASignatureAlgorithms
- CertificateFile
- ChallengeResponseAuthentication
- Ciphers
- Compression
- ConnectTimeout
- EnableSSHKeySign
- ForwardAgent
- ForwardX11Trusted
- GlobalKnownHostsFile
- GSSAPIAuthentication
- GSSAPIDelegateCredentials
- GSSAPIKeyExchange
- HostbasedAuthentication
- HostKeyAlgorithms
- HostKeyAlias
- Hostname
- IdentityAgent
- IdentityFile
- KbdInteractiveAuthentication
- KexAlgorithms
- MACs
- Match
- PasswordAuthentication
- PreferredAuthentications
- Port
- ProxyCommand
- ProxyJump
- PubkeyAuthentication
- RekeyLimit
- RemoteCommand
- RequestTTY
- SendEnv
- ServerAliveCountMax
- ServerAliveInterval
- SetEnv
- TCPKeepAlive
- User
- UserKnownHostsFile

For more information on the configuration file format, run man ssh_config.

Use command line flags

This requires all remote hosts to use the same user/password or user/key pair to log in. If remote hosts use different user/key credentials for authentication, you can use SSH configuration files.

To log in to a remote host using a username and password, use --enable-ssh, --ssh-user, and --ssh-pwd.

Admin> collectinfo --enable-ssh --ssh-user root --ssh-pwd root

To log in to a remote host using your ssh key, use --enable-ssh, --ssh-user, and --ssh-key.

Admin> collectinfo --enable-ssh --ssh-user root --ssh-key
Feedback

Was this page helpful?

What type of feedback are you giving?

What would you like us to know?

+Capture screenshot

Can we reach out to you?