Features
KAgent facilitates or directly performs the following operations:- Kinetica installation
- Existing cluster addition
- Cluster Back-ups
- Cluster management
- HA (Rings)
- Cluster monitoring and usage
UI
The KAgent UI is usually available on port 8081 of the desired machine, so it can be accessed viahttp://<kagent-host>:8081.
The KAgent UI has a navigation pane on the left-hand side and a
Notifications pane on the right-hand side. Review
Logging In / Out for information on accessing the KAgent UI.

Navigation
The navigation pane hosts quick access to all the features KAgent has to offer. Available navigation menu options:- Dashboard — Displays cluster health summary information. Not available until a new or existing cluster has been added to KAgent
- Manage — Hosts the cluster management and cluster addition / cluster installation interfaces.
- Usage — Displays cluster usage statistics. Not available until a new or existing cluster has been added to KAgent
- Queries — Displays a filterable log of all queries made against the given cluster
- Events — Displays cluster events
- Alerts — Displays cluster alerts
- Logout — Logs out the current user. Not available until a new or existing cluster has been added to KAgent. Review Logging In / Out for more information
Notifications
The Notifications pane lists notifications from metric or event Alerts. If there are no unread notifications, click See Past Notifications to open the Alert History . Click Mark All as Read to mark all unread notifications as read; click Mark as Read to mark an individual unread notification as read.Logging In / Out
Once a cluster is added to KAgent (either via the installation or cluster addition process), users must login to KAgent any time they need to use any of its features. Conversely, if no clusters are in KAgent, there’s no need to login, and thus, there’s no way to log out (the button won’t be available) until a cluster is added. To log into KAgent:-
Navigate to KAgent (
http://<kagent-host>:8081) - Provide a username for the Username field. Only System Admin users have access to KAgent.
- Provide a password for the Password field.
- Select a cluster from the Authentication Cluster drop-down menu.
-
Click Log In.
Authenticating against a particular cluster does not restrict users from accessing other clusters that have been added to this particular instance of KAgent.
- From the KAgent UI (
http://<kagent-host>:8081), click Logout in the navigation pane.
CLI
The KAgent CLI is available via thekagent executable typically stored in
/opt/gpudb/kagent/bin/.
The form of the command is as follows:
Options
< -h | --help >
< -h | --help >
--debug
--debug
--quiet
--quiet
< -f | --dbfile > <path>
< -f | --dbfile > <path>
--kagent-dir <path>
--kagent-dir <path>
< -o | --output > <format>
< -o | --output > <format>
human- (default) output in human-readable formjson- output in JSON format
--user <username>
--user <username>
< -v | --verbose >
< -v | --verbose >
-vvv to debug issues.Subcommands
| Subcommand | Description |
|---|---|
ring | Manage rings. |
cluster | Manage clusters. |
node | Manage nodes. |
log | Manage logs. |
check | Check cluster connectivity. |
factory-reset | Reset KAgent to its original state and uninstall Kinetica packages. |
monitor | Set a monitor for checking cluster connectivity. |
refresh-config | Force a refresh of the clusters from current status. |
update | Update global KAgent settings. |
Ring
The form of the command to manage rings is as follows:add [options] <name>
add [options] <name>
name.| Option | Description |
|---|---|
< -a | —addr > <addr> | Specify the load balancer address for the ring. |
backup [options] <name>
backup [options] <name>
name.| Option | Description |
|---|---|
—backup-path <path> | Specify the path in which the backup will be created. Once given, will become the default backup path for subsequent backups. Initial backup directory is /opt/backups. |
control <name> <operation> <component>
control <name> <operation> <component>
name.Apply one of the following operations:startstoprestart
gpudbhost_managertomcatrevealkmlstatstext_searchhttpdhamqall_gpudball
force-lock <name>
force-lock <name>
name to lock.force-unlock <name>
force-unlock <name>
name to unlock.gather-logs [options] <name>
gather-logs [options] <name>
name to a destination on the KAgent host.| Option | Description |
|---|---|
—backtrace | Add a process backtrace to the database process. |
—kagent-logs | Add the KAgent logs to the archive, up to the point at which they are collected. |
—log-lines <line_count> | Specify the number of lines to collect from the log. The first 100 lines are always saved. Use 0 to collect the entire log or ERROR to collect only error log messages. Default is 100,000 log lines. |
—output-dir <path> | Specify the path where the log archive will be written. The directory must be writable by the gpudb user on the KAgent host. |
—package-verify | Verify the installed Kinetica packages. |
inspect <name>
inspect <name>
name.install <name>
install <name>
name.list
list
rabbit-recovery [options] <name>
rabbit-recovery [options] <name>
| Option | Description |
|---|---|
—proceed <yes|no> | Pass the final recovery confirmation (yes or no). |
remove <name>
remove <name>
name.update [options] <name>
update [options] <name>
name.| Option | Description |
|---|---|
—addr <addr> | Specify the load balancer address for the ring. |
—ha-enabled <yes|no> | Specify that HA has been enabled (yes) or not (no) for the ring. |
upgrade [options] <name>
upgrade [options] <name>
name. This will perform a sequential
in-place upgrade of each cluster within the ring.| Option | Description |
|---|---|
—offline-aaw-installer <path> | Specify the file path or URL of the location for the KML installer package (rpm,deb). |
—offline-core-installer <path> | Specify the file path or URL of the location for the gpudb installer package (rpm,deb). |
—offline-rabbit-installer <path> | Specify the file path or URL of the location for the gpudb HA installer package (rpm,deb). |
—rabbit-drain-timeout <timeout> | Specify the timeout in minutes that the upgrade will wait for queues to drain before beginning the upgrade. The upgrade will be aborted if the queues are not empty. Default is 3. |
Cluster
The form of the command to manage clusters is as follows:backup [options] <name>
backup [options] <name>
name.| Option | Description |
|---|---|
—backup-path <path> | Specify the path in which the backup will be created. Once given, will become the default backup path for subsequent backups. Initial backup directory is /opt/backups. |
—list-schedule | List backup schedules by backup type. |
—schedule <schedule> | Specify the backup schedule. Use now to run an immediate backup. Use a quoted crontab-style expression to schedule a backup in cron. Use never to remove a backup schedule. Default is now. |
—table-list <list> | Specify a space-separated list of tables to backup. |
backup-configuration-files [options] <name>
backup-configuration-files [options] <name>
name.| Option | Description |
|---|---|
—backup-path <path> | Specify the path in which the backup will be created. Once given, will become the default backup path for subsequent backups. Initial backup directory is /opt/backups. The directory must be writable by the gpudb user on the KAgent host. |
backup-schedule <name>
backup-schedule <name>
name.bootstrap-kagent [options] <name>
bootstrap-kagent [options] <name>
| Option | Description |
|---|---|
—kagent-hostname <host> | Specify the name of the host where KAgent will be bootstrapped. |
check-for-upgrades <name>
check-for-upgrades <name>
name.clone [options]
clone [options]
| Option | Description |
|---|---|
—authentication <yes|no> | Specify whether to copy (yes) or not copy (no) authentication settings. |
—data <yes|no> | Specify whether to copy (yes) or not copy (no) data. |
—destination <name> | Specify the name of the cluster to clone to. |
—graph <yes|no> | Specify whether to copy (yes) or not copy (no) persisted graph information. |
—source <name> | Specify the name of the cluster to clone from. |
—users <yes|no> | Specify whether to copy (yes) or not copy (no) users and permissions. |
control <name> <operation> <component>
control <name> <operation> <component>
name.Apply one of the following operations:startstoprestart
gpudbhost_managertomcatrevealkmlstatstext_searchhttpdhamqall_gpudball
gather-logs [options] <name>
gather-logs [options] <name>
name to a destination on the KAgent host.| Option | Description |
|---|---|
—backtrace | Add a process backtrace to the database process. |
—kagent-logs | Add the KAgent logs to the archive, up to the point at which they are collected. |
—log-lines <line_count> | Specify the number of lines to collect from the log. The first 100 lines are always saved. Use 0 to collect the entire log or ERROR to collect only error log messages. Default is 100,000 log lines. |
—output-dir <path> | Specify the path where the log archive will be written. The directory must be writable by the gpudb user on the KAgent host. |
—package-verify | Verify the installed Kinetica packages. |
get-conf-properties <name>
get-conf-properties <name>
name.get-logger [options] <name>
get-logger [options] <name>
name. To list the available loggers, run:| Option | Description |
|---|---|
—logger <name> | Specify the name of the logger to show. |
—ranks <ranks> | Specify the number of the rank from which to retrieve logging config. |
init [options] <name>
init [options] <name>
name.| Option | Description |
—ring <name> | Specify the name of the ring in which to place this cluster. |
< -k | —ssh-key > <path> | Specify the path to the SSH private key to use for cluster operations. |
< -u | —ssh-user > <username> | Specify the SSH username to use for cluster operations. This overrides the KAGENT_SSH_USER environment variable. |
< -p | —ssh-password > <password> | Specify the SSH password to use for the SSH user. This overrides the KAGENT_SSH_PASS environment variable. |
< -su | —sudo-user > <username> | Specify the sudo username to use for cluster operations, in the case where root logins are not allowed. |
—sudo-password <password> | Specify the sudo password to use for the sudo user. This overrides the KAGENT_SUDO_PASSWORD environment variable. |
< -admpass | —admin-pass > <password> | Specify the Kinetica admin user password. |
—connect-via <method> | Specify whether to connect to each node’s internal IP address (ip_addr) or public IP address (public_ip_addr). |
< -inf | —infrastructure-provider > <provider_code> | Specify the cluster’s infrastructure provider:
|
< -lic | —lic-key > <key> | Specify the license key to use for this cluster. |
—aws-access-key <key> | Specify the AWS access key to use for cluster provisioning and operations. This overrides the KAGENT_AWS_ACCESS_KEY environment variable. |
—aws-secret-key <key> | Specify the AWS secret key to use for cluster provisioning and operations. This overrides the KAGENT_AWS_SECRET_KEY environment variable. |
—aws-ssh-key-name <name> | Specify the name of the SSH key to use to log into cluster nodes. If none is provided, a key will be created. |
—azure-client-id <id> | Specify the client id from the Azure login profile, usually found in /.azure/credentials. This overrides the KAGENT_AZURE_CLIENT_ID environment variable. |
—azure-secret <secret> | Specify the secret from the Azure login profile, usually found in /.azure/credentials. This overrides the KAGENT_AZURE_SECRET environment variable. |
—azure-subscription-id <id> | Specify the subscription id from the Azure login profile, usually found in /.azure/credentials. This overrides the KAGENT_AZURE_SUBSCRIPTION_ID environment variable. |
—azure-tenant <tenant> | Specify the tenant from the Azure login profile, usually found in /.azure/credentials. This overrides the KAGENT_AZURE_TENANT environment variable. |
—cloud-region <region> | Specify the AWS region, Azure location, or GCP zone for the cluster. |
—cloud-ssh-user <username> | Specify the username to create a login for on Azure or GCP provisioned instances. |
—cloud-ssh-public-key-file <path> | Specify the path to the public key to use for authentication on Azure or GCP instances. |
—gcp-project <project> | Specify the GCP project with which this cluster should be associated. |
—gcp-service-account-file <path> | Specify the GCP service account file (JSON) for the user. |
inspect <name>
inspect <name>
name.install [options] <name>
install [options] <name>
| Option | Description |
|---|---|
—auto-config <yes|no> | Whether to update (yes) or not update (no) the configuration on the cluster during install. Default is to update the configuration. |
< -c | —cuda > <yes|no> | Whether to use a CUDA (GPU) build (yes) or Intel (CPU) build (no). |
—k8s-config-file <path> | Specify the path to the kubeconfig file of the external K8s cluster which KML will use. |
—k8s-public-ip <addr> | Specify the IP address at which the K8s cluster is accessible by the Kinetica cluster. |
< -nv | —nvidia > <yes|no> | Whether to install (yes) or not install (no) the Nvidia driver when none is detected. |
—open-firewall-ports <yes|no> | Whether to open (yes) or not open (no) relevant firewall ports if an enabled firewall is detected. |
—offline-aaw-installer <path> | Specify the file path or URL of the location for the KML installer package (rpm,deb). |
—offline-core-installer <path> | Specify the file path or URL of the location for the gpudb installer package (rpm,deb). |
—offline-kagent-installer <path> | Specify the file path or URL of the location for the KAgent installer package (rpm,deb). |
—offline-nvidia-installer <path> | Specify the file path or URL of the location for the Nvidia installer package (rpm,deb). |
—offline-rabbit-installer <path> | Specify the file path or URL of the location for the gpudb HA installer package (rpm,deb). |
—reserve-k8s-gpus <number> | Specify the number of GPUs to reserve for K8s/UDF usage. |
list
list
list-backup-contents [options] <name>
list-backup-contents [options] <name>
name.| Option | Description |
|---|---|
—backup-path <path> | Specify the path to the backup directory. |
—restore-from <path> | Specify the backup whose contents will be listed; this will be the name of a backup directory under the path given in —backup-path. |
list-backups [options] <name>
list-backups [options] <name>
name.| Option | Description |
|---|---|
—backup-path <path> | Specify the path to the backup directory. |
list-cluster-contents <name>
list-cluster-contents <name>
name.preflight <name>
preflight <name>
name.remove <name>
remove <name>
name.restore [options] <name>
restore [options] <name>
name.| Option | Description |
|---|---|
—backup-path <path> | Specify the path to the backup directory. |
—preserve-persist <yes|no> | Whether to move (yes) or not move (no) the existing database persist folder to a safe location before overwriting. Default is no. |
—restore-from <path> | Specify the backup to restore; this will be the name of a backup directory under the path given in —backup-path. |
—table-list <list> | Specify a space-delimited set of tables to restore from the backup. |
secure [options] <name>
secure [options] <name>
name by enabling HTTPS and/or authentication via LDAP, Active
Directory, Kerberos, or OAuth2. Note: All parameters relevant to the desired authentication
mechanism must be specified upon each invocation of this command—no existing settings will be used as
defaults.| Option | Description |
|---|---|
—ssl <yes|no> | Whether to enforce (yes) or not enforce (no) SSL connections to the cluster via https. |
—generate-certs <yes|no> | Whether to generate (yes) or not generate (no) self-signed certificates. Certificates can also be assigned directly to each node with the kagent node command. |
—authentication <type> | Specify the type of authentication to use:
|
—connection-type <type> | When using LDAP, the type to use (ldap | ldaps). |
—ldaps-cert <path> | When using LDAPS and a certificate is necessary, the path of the LDAP certificate. |
—ldap-host <name> | When using LDAP, the name of the LDAP bind host. |
—ldap-port <port> | When using LDAP, the port to bind to. |
—ldap-base-filter <filter> | When using LDAP, the filter to use when searching the directory for logins. |
—ldap-bind-user <username> | When using LDAP, the username of the account to use when connecting to the directory. |
—ldap-bind-pwd <password> | When using LDAP, the password of the account to use when connecting to the directory. This overrides the KAGENT_LDAP_BIND_PWD environment variable. |
—kerberos-realm <realm> | When using Kerberos, the realm to authenticate against. For example: MY-REALM.ACME.COM. |
—kerberos-service-name <name> | When using Kerberos, specify the Kerberos service location. For example: HTTP/kerb-server.acme.com. |
—kerberos-keytab <path> | When using Kerberos, specify the path to the keytab file to use. |
—external-auth-role-maps-file <path> | When using LDAP or AD, the path to the JSON file containing the role maps used to limit authorization, mapping certain groups to Kinetica roles. The mapping file should have the following format: .. code-block:: json { “role1”: [“cn=g1,dc=abc,dc=com”], “role2”: [ “cn=g1,dc=abc,dc=com”, “cn=g2,dc=abc,dc=com” ] } |
—ui-auth-type <type> | The type of authentication to use when logging in to the UIs:
|
—oauth-metadata-url <url> | When using OAuth, the url that identifies the OAuth server settings. |
—oauth-user-claim <claim> | When using OAuth, the name of the claim on the OAuth token representing the user’s username in Kinetica. |
—oauth-cliend-id <id> | When using OAuth, the id of the client used to connect to the OAuth server. |
—oauth-client-secret <secret> | When using OAuth, the secret of the client used to connect to the OAuth server. |
—oauth-db-roles-claim <claim> | When using OAuth, the name of the claim on the OAuth token that contains a comma-separated list of database roles that the user should be assigned. |
—oauth-reveal-roles-claim <claim> | When using OAuth, the name of the claim on the OAuth token that contains a comma-separated list of Reveal roles that the user should be assigned. |
—oauth-gadmin-redirect-uri <uri> | When using OAuth, the url that can be used as a return redirect for GAdmin from the OAuth server, necessary when the hostname or port the user is using to access GAdmin is different than those found on the standard public-facing URL. |
—oauth-reveal-redirect-uri <uri> | When using OAuth, the url that can be used as a return redirect for Reveal from the OAuth server, necessary when the hostname or port the user is using to access Reveal is different than those found on the standard public-facing URL. |
—oauth-workbench-redirect-uri <uri> | When using OAuth, the url that can be used as a return redirect for Workbench from the OAuth server, necessary when the hostname or port the user is using to access Workbench is different than those found on the standard public-facing URL. |
—offline-httpd-oauth-installer <path> | When using OAuth, the path of the file or URL for the add-on OAuth httpd module installer package (rpm, deb). |
set-conf-properties [options] <name>
set-conf-properties [options] <name>
name.| Option | Description |
|---|---|
—properties-map <map> | Specify a map of key-value pairs of database configuration parameters to set. For example: .. code-block:: json {“np1.load_vectors_on_migration”:“always”} |
set-logger [options] <name>
set-logger [options] <name>
name.| Option | Description |
|---|---|
—level <level> | Specify the level of logging for the selected logger(s). One of:
|
—logger <name> | Specify the name of the logger to modify. |
—ranks <ranks> | Specify the number of the rank to where the logging modification will be applied. A comma-separated list of rank numbers can be used to specify multiple ranks to modify; e.g., 0,3,4. Use -1 to apply the modification across the cluster. |
uninstall <name>
uninstall <name>
name, including all components except this instance of KAgent.update [options] <name>
update [options] <name>
name.| Option | Description |
|---|---|
—connect-via <method> | Specify whether to connect to each node’s internal IP address (ip_addr) or public IP address (public_ip_addr). |
—is-installed <yes|no> | Whether to mark (yes) or not mark (no) this cluster as installed. |
—move-to-ring <name> | Specify the name of an existing ring to move this cluster into. |
verify [options] <name>
verify [options] <name>
name.| Option | Description |
|---|---|
—include-dependency | Include info from related cluster services like RabbitMQ. |
—status-only | Only gather the service status on the nodes. |
write-inventory [options] <name>
write-inventory [options] <name>
name.| Option | Description |
|---|---|
< -i | —inventory-dir > <path> | The path to write the inventory file to. Default is ./ansible-inventory-<cluster_name>. |
—vault-password <password> | Specify the password to use for the Ansible vault. This overrides the KAGENT_VAULT_PASSWORD environment variable. |
Node
The form of the command to manage nodes is as follows:discover-hostname [options] <name>
discover-hostname [options] <name>
name.gather-logs [options] <name>
gather-logs [options] <name>
name to a destination on the KAgent host.| Option | Description |
|---|---|
—backtrace | Add a process backtrace to the database process. |
—kagent-logs | Add the KAgent logs to the archive, up to the point at which they are collected. |
—log-lines <line_count> | Specify the number of lines to collect from the log. The first 100 lines are always saved. Use 0 to collect the entire log or ERROR to collect only error log messages. Default is 100,000 log lines. |
—output-dir <path> | Specify the path where the log archive will be written. The directory must be writable by the gpudb user on the KAgent host. |
—package-verify | Verify the installed Kinetica packages. |
init [options] <name> <addr> <cluster>
init [options] <name> <addr> <cluster>
name and IP addr on the given cluster. The name must
be unique across all nodes in the cluster.| Option | Description | ||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
—cloud-instance-name <name> | Specify an optional name for the node. | ||||||||||||||
—cloud-instance-type <type> | Specify the type of the node, based on the cloud provider. | ||||||||||||||
—data-size <size> | Specify the size of the storage to allocate for the node in GB. | ||||||||||||||
—gcp-gpu-card <card> | Specify the GPU card to attach to the node (if available and using GCP as the provider). | ||||||||||||||
—public-ip-addr <addr> | Specify the IP addr of the node accessible outside the DMZ, if applicable. | ||||||||||||||
—public-hostname <hostname> | Specify the hostname of the node accessible outside the DMZ, if applicable. | ||||||||||||||
—roles <list> | Specify a comma-separated list of roles for the node.
| ||||||||||||||
—ssh-port <port> | Specify the port to use for SSH connections to the node. | ||||||||||||||
—ssl-cert <path> | Specify the path to the SSL certificate for the node. | ||||||||||||||
—ssl-key <path> | Specify the path to the SSL key for the node. |
inspect <name>
inspect <name>
name.list
list
remove [options] <name>
remove [options] <name>
name.| Option | Description |
|---|---|
< -f | —force > | Always remove the node, even if some aspect of the removal fails. |
update [options] <name>
update [options] <name>
name.| Option | Description |
|---|---|
—public-hostname <hostname> | Specify the hostname of the node accessible outside the DMZ, if applicable. |
—ssl-cert <path> | Specify the path to the SSL certificate for the node. |
—ssl-key <path> | Specify the path to the SSL key for the node. |
Log
The form of the command to manage KAgent logs is as follows:list [options]
list [options]
| Option | Description |
|---|---|
< -n | —number > <number> | Specify the maximum number of log events to show. |
Check
This command is used to ensure that all the nodes of a cluster are up by checking for connectivity and then interjecting spare nodes, if available, to fill in any gaps. The form of the command to perform this check is as follows:--retry-count <number>
--retry-count <number>
number of connectivity check retries before failing over nodes.--retry-delay <seconds>
--retry-delay <seconds>
seconds to wait between each connectivity check retry.Factory Reset
This command uninstalls all Kinetica packages and resets KAgent configurations to an out-of-the-box condition. No directories will be removed unless requested. The form of the command to perform a factory reset is as follows:--clear-data <yes|no>
--clear-data <yes|no>
yes) or not remove (no) directories left by the installation. Default is to
not remove directories.--proceed <yes|no>
--proceed <yes|no>
yes) or ask for confirmation (no) before performing a reset.Monitor
This command sets a monitor for checking cluster connectivity. The form of the command is as follows:--interval <schedule>
--interval <schedule>
*/5 * * * *.--retry-count <number>
--retry-count <number>
number of check retries before failing over a node.--retry-delay <seconds>
--retry-delay <seconds>
seconds to wait between each check retry.Refresh Config
This command forces a refresh of the cluster configuration and roles, given its current status. The form of the command is as follows:Update
This command updates global KAgent settings. The form of the command is as follows:--is-bootstrapped <yes|no>
--is-bootstrapped <yes|no>
yes) or not (no). A bootstrapped
KAgent is one that is deployed into a cloud-provisioned cluster during installation. This
marking will determine which set of IPs this KAgent will use in connecting via SSH to the
cluster nodes.--force-bootstrap-unlock <yes|no>
--force-bootstrap-unlock <yes|no>
yes) or not remove (no) the lock placed on this KAgent if it had
been used to bootstrap an in-cluster KAgent.