About the Commands app
The Commands app lets you run Geneos commands from the Entity Viewer so you can execute processes and commands without switching to the Active Console. You can also monitor queued and running command status, manage history (rerun or clear commands), and review command output, execution logs, and audit details.
Prerequisites Copied
Before you proceed, ensure that you have:
- Installed the ITRS Analytics Public API app. In the KOTS Admin Console, it is marked as required, indicating that it must be installed and enabled for the Commands app to work properly.
- Installed the ITRS Analytics Commands app.
- Configured Geneos commands for ITRS Analytics. To learn how to configure commands in Geneos to work with the commands function in ITRS Analytics, see Configure Geneos commands and data for ITRS Analytics.
- Configured permissions in the ITRS Analytics IAM app.
Permissions in the IAM app Copied
Access to the Commands app is enforced through the ITRS Analytics IAM command-management resource type. The IAM app ships a default permission that grants read and write access levels on command management to the built-in user role, so typical deployments already allow signed in users to use commands in the Entity Viewer.
If your organization customizes roles or permissions, ensure the roles that should use commands retain appropriate access on the command-management resource. For more information on how to assign permissions, see IAM configuration.
Geneos Gateway commands in ITRS Analytics Copied
When a Gateway is configured to use ITRS Analytics, it connects using the credentials defined in the Gateway’s ITRS Analytics Connection configuration. If the Commands app is installed on the connected ITRS Analytics instance, the Gateway publishes commands to the platform and participates in command execution when users run commands from ITRS Analytics.
All available commands are displayed to users. The commands shown for a specific entity or metric depend on each command’s target filters. However, ITRS Analytics may display some commands to users who do not have permission to run them. In these cases, the Gateway rejects the command execution request if the user does not have the required Geneos permissions.
Note
See unpublished Geneos commands for the complete list of Geneos commands currently unpublished to ITRS Analytics.
Commands execution Copied
Trigger commands from an entity Copied
Through the Commands app, commands set up in the Geneos Gateway Setup Editor can be accessed right in the Entity Viewer app. Commands are indicated by a left arrow for quick visual distinction.
Right-click on an entity, headline, or metric to display the available commands. After running the command, check if the command has successfully completed or failed in the Commands panel.
To review the command history, click View preview and switch between the Output, Execution log, Error log, or Summary tabs.
Note
Execution output and history for a given run are available only to the same user who triggered that run.
View command status Copied
Open the Commands panel by clicking the bell icon next to the search bar. From there you can see queued and running command status, browse command history, and rerun any command in the list.
Endpoints from an API which is not publicly exposed and only internally accessible to ITRS Analytics also allow you to:
- Clear completed, failed, and cancelled commands
- Clear a single command execution history
- Subscribe to the output of a single command
Review command audit history Copied
On the Commands page, click View Command Audit History to review detailed information about each command’s execution, including dimensions, targets, status, timestamp, and more.
Advanced configuration Copied
All the following installation parameters are optional. In most instances the defaults are sufficient, so you should not need to change anything.
daemon:
# The maximum amount of time to wait for RPCs to
# platform services to complete.
rpcTimeout: PT30S
# Maximum amount of time to wait for a service to
# interact with the application before failing the
# liveness check and all its commands being removed.
serviceLivenessTimeout: PT1H
# How long to cache entities fetched from the platform
# to evaluate command target filters against. This should
# be short enough such that changes to the entities are
# reflected in the app within a reasonable amount of time.
# It should be long enough for a user to interact with the
# UI and discover/search commands for an entity or metric.
entityCacheTtl: PT30S
commandExecution:
# Maximum amount of time to wait for a triggered command
# to be claimed.
claimTimeout: PT5M
# The maximum amount of time to keep executed commands and
# their history.
retentionPeriod: P30D
# How often to perform housekeeping on the internal command
# cache. This can be a computationally expensive operation.
housekeepingInterval: PT1H
# Whether to persist command execution history across
# application restarts, re-installs and upgrades.
persistenceEnabled: true
# The path to store currently executing and previously executed
# commands and their history. Only required if persistence is enabled.
persistencePath: "/data/commands"
# The maximum allowable number of command execution entries.
# This is a soft limit and is enforced by internal housekeeping
# tasks.
maxEntries: 10000
# The maximum number of historical entries per command execution.
# This is a soft limit and is enforced by internal housekeeping
# tasks.
maxHistory: 100
# The time-to-live duration of an executing command. This also defines the maximum amount a user
# can extend the command's end of life timestamp by. This is a soft limit and is enforced by
# internal housekeeping tasks.
timeToLive: "PT1H"
# The average command execution entry size in bytes
averageEntrySizeBytes: 16384 # 16KiB
# The average historical command execution entry size in bytes
averageHistoricalEntrySizeBytes: 65536 # 64KiB
# The internal cache statistics poll interval. The operations involved in calculating the cache
# statistics are expensive and must not be done very often.
statsPollInterval: "PT5M"
commandRegistration:
# How often to perform housekeeping on the internal command
# registration module.
housekeepingInterval: PT5M
# Sets the duration of the tokens returned by the command
# registration endpoint.
tokenTtl: PT1M
pvc:
# The persistent volume claim's storage class
#storageClass: ""
# The persistent volume claim's access mode
accessMode: ReadWriteOnce
# The persistent volume's size
storageSize: 20Gi
# The maximum amount of container memory to allocate to the JVM.
maxContainerMemPercent: 75