Controlling VMX-Capture using the vmxadmin command
Accessing the appliance via SSH
To provide you with access to the appliance for administration and configuration, we provide you with a vmxcustomer
user account. Once you’ve set up the SSH keys, you should be able to connect the Beeks Analytics appliance using an ssh client. For example: from a UNIX machine, use the ssh command as follows:
ssh vmxcustomer@<vmx_appliance>
where <vmx_appliance>
is either the hostname or IP address of the appliance.
You should now see a command prompt on the appliance.
Throughout the document the information that we’re describing will be viewable from the vmxcustomer
account, unlesss otherwise stated.
The vmxadmin command
Nearly all administration tasks can be performed via the vmxadmin
command. This includes starting, stopping and even updating. vmxadmin
runs under the vmxcustomer
user account and if required by the task, raises permissions internally via sudo
to the level required. This mechanism allows a controlled set of tasks that normally require root
level permissions to be performed by the vmxcustomer
user account.
The vmxadmin functionality is constantly growing to meet the needs of users. The system is designed so that, in the normal course of running a Beeks Analytics appliance, users should never need to run direct operating system commands.
vmxadmin command syntax
The command line format of vmxadmin
is:
vmxadmin [<type>] [<instance>] <cmd>
where:
<type>
is the type of process:
vmx
for all processesvmx-analysis
for all analysis processes (incorporates vmx-server, vmx-webconsole, vmx-prism)vmx-server
for the analysis server (single process or all processes in cluster)vmx-pmux
for VMX-Capture PMUX processesvmx-webconsole
for the webconsole process (which provides the Grafana data source and REST API) vmx-p3
for VMX-Capture P3 processes
<instance>
is an optional instance identifier that specifies that a particular instance is invoked. If omitted, the instance defaults to STANDALONE for servers. See below for more information regarding multi-instance deployment. <cmd>
is the command.
Command line flags
Some commands use the following flags:
Flag | Description |
---|---|
-a | Run command/args against all configured hosts |
-e <env> | Run command with a given VMX_ENV |
vmxadmin help
To get help on the full set of detailed options (including a comprehensive list of all of the different process types) invoke the vmxadmin
command with no arguments.
Multiple environment support on the same appliance
An appliance can be split into multiple environments. This can allow, for example, multiple different clients to be supported by the same appliance. Each client would have their own dedicated VMX-Capture and VMX-Analysis processes.
If no specific environment is set, the command vmxadmin vmx list
will list all of the environments and processes that are configured to run for each different environment. Here is an example output:
vmxadmin vmx list
Env: drake
----
Env: duke
----
Env: valentine
----
vmx-p3 VP_TCP_rtt
vmx-pmux VALENTINE_VP
vmx-pmux capValentine
The vmxcustomer account will have different environment variables set, depending on the instance. This is configured in the VMX_ENV unix environment variable. For example, you would run the following command to switch to the valentine
environment:
export VMX_ENV=valentine
Applying a command to different environments or services
vmxadmin supports granular environment management and allows you to run a command for a whole environment or only for a specific service:
For example, to stop all processes on the 'drake' environment, enter:vmxadmin -e drake vmx stop
And to stop only a single PMUX instance 'valentine', enter:vmxadmin vmx-pmux valentine stop
Managing an environment
To run a command against all of the Beeks Analytics processes:
in the current environment:
vmxadmin vmx <cmd>
in another environment:
vmxadmin -e <env> vmx <cmd>
where<env>
is the name of the environment
where <cmd>
is:
<cmd> | Description | Example |
---|---|---|
start | Start all processes | vmxadmin vmx start |
stop | Stop all processes | vmxadmin vmx stop |
restart | Restart all processes | vmxadmin vmx restart |
status | Outputs the statuses of all processes, including process ID (PID) numbers if that process is running. | vmxadmin vmx status |
list | Outputs a list of all processes for each environment | vmxadmin vmx list |
listall | Outputs a list of all processes for each environment | vmxadmin vmx listall |
Managing a specific service
To run a command against a single Beeks Analytics service:
in the current environment:
vmxadmin vmx-<service> <instance> <cmd>
where<instance>
is the name of an instance(optional)in another environment:
vmxadmin -e <env> vmx-<service> <instance> <cmd>
where<env>
is the name of the environment and<instance>
is the name of an instance(optional)
where <service>
is:
<service> | Description |
---|---|
vmx-server | Run the command against the processes for the specific VMX-Analysis instance (excluding the webconsole) |
vmx-webconsole | Run the command against the processes for the specific vmx-webconsole instance. vmx-webconsole is part of the VMX-Analysis service. See VMX-Analysis Configuration for a description of the vmx-webconsole. |
vmx-prism | Run the command against the processes for the specific vmx-prism instance. |
vmx-pmux | Run the command against the processes for the specified PMUX instance. |
vmx-p3 | Run the command against the processes for the specified P3 instance. |
vmx-capture | Run the command against the processes for the vmx-pmux and vmx-p3. |
vmx-analysis | Run the command against the processes for the vmx-server, vmx-webconsole, vmx-partition, and vmx-cluster. |
where <cmd>
is:
<cmd> | Description | Example |
---|---|---|
start | Start the <service> |
|
stop | Stop the <service> |
|
restart | Restart the <service> |
|
status | Get the status of the <service> |
|
list | List the processes running for the <service> |
|
Here is an example of a number of different ways to restart just the VALENTINE_VP PMUX for the valentine environment:
Option 1:
[vmxcustomer]$ echo $VMX_ENV
[vmxcustomer]$ vmxadmin -e valentine vmx-pmux VALENTINE_VP restart
Option 2:
[vmxcustomer]$ export VMX_ENV=valentine
[valentine][vmxcustomer]$ vmxadmin vmx-pmux VALENTINE_VP restart
Running a custom script in each environment
To run a custom script (in bindir) in each environment:
vmxadmin -e <env> script <script_path> <script_args>
where <script_path>
is the absolute path including filename and <script_args>
are any arguments that must be passed in.
For example:vmxadmin -e drake script /usr/bindir/monitor.sh instance
Manage Napatech, SolarCapture, MySQL, or InfluxDB
To manage Napatech, SolarCapture, MySQL, or InfluxDB:
vmxadmin <application> <cmd>
where <application>
is:
<application> |
---|
mysqld |
influxdb |
napatech |
solarcapture |
and <cmd>
is:
<cmd> | Description | Example |
---|---|---|
start | Start the <application> |
|
stop | Stop the <application> |
|
restart | Restart the <application> |
|
status | Status of the <application> |
|
log | retrieve the log for the <application> |
|
List versions
To list the installed software versions:
vmxadmin [-a] versions
Generate diagnostics
To collate diagnostics data and put it in a zip archive:
vmxadmin [-a] [-e env] diagnostics [levels...]
where <levels> are:
<level> | Description | Example (using ‘drake’ environment) |
---|---|---|
Default will retrieve all available diagnostics. | vmxadmin -e drake diagnostics | |
SAR | Retrieves System Activity Report data. | vmxadmin -e drake diagnostics SAR |
IDRAC | Retrieves Integrated Dell Remote Access Controller data. | vmxadmin -e drake diagnostics IDRAC |
JAVATHREADS | Retrieves Java thread data. | vmxadmin -e drake diagnostics JAVATHREADS |
Grep logs
To search all data/logs/*.log* files for a string:
vmxadmin [-a] [-e env] grep [std args]
where [std args]
are the usual options, pattern, and filename for grep.
Edit scheduled tasks
To view, create, edit, or delete the scheduled tasks:
vmxadmin crontab
Run tcpdump
To run a tcpdump:
vmxadmin tcpdump [std args]
where [std args]
are the standard arguments for tcpdump.