One of the key aspects of our new server architecture is the management API exposed through the single port.
While I’m sure there will be those of you who like to write scripts with plenty of
curl/wget magic, and those who prefer the comfort of our new web console, the Infinispan CLI offers a powerful tool which combines the power of the former with the usability of the latter.
During the Infinispan 11 development cycle, the CLI has received numerous enhancements. Let’s look at some of them !
When using the built-in properties-based security realm, you had to use the
user-tool script to manage users, passwords and groups. That functionality has now been built into the CLI:
[disconnected]> user create --password=secret --groups=admin john [disconnected]> connect --username=joe --password=secret [infinispan-29934@cluster//containers/default]>
You can now modify the server logging configuration from the CLI. For example, to enable TRACE logging for the
org.jgroups category, use the following:
[infinispan-29934@cluster//containers/default]> logging set --level=TRACE org.jgroups
|logging configuration changes are volatile, i.e. they will be lost when restarting a node.|
To help with debugging issues, the server now implements an aggregate log which includes information such as a thread dump, memory configuration, open sockets/files, etc.
[bespin-29934@cluster//containers/default]> server report Downloaded report 'infinispan-bespin-29934-20200522114559-report.tar.gz'
|this feature currently only works on Linux/Unix systems.|
It is now possible to invoke all CLI commands directly from the command-line, without having to resort to interactive mode or a batch. For example:
cli.sh user create --password=secret --groups=admin john
The CLI can now be built as a native executable, courtesy of GraalVM's
native-image tool. We will soon be shipping binaries/images of this, so look out for an announcement.
Tags: cli server management administration logging