Usage¶
Run the monitorstack
command without any arguments to review a list of
available commands and options:
$ monitorstack
Usage: monitorstack [OPTIONS] COMMAND [ARGS]...
A complex command line interface.
Options:
-f, --format [json|line|telegraf|rax-maas]
Output format (valid options: json, line,
telegraf, rax-maas
-v, --verbose Enables verbose mode.
--help Show this message and exit.
Commands:
kvm Get metrics from a KVM hypervisor.
os_block_pools_totals Get block storage totals from the available pools.
os_block_pools_usage Get block storage usage from the available pools.
os_vm_quota_cores Get nova cores quotas.
os_vm_quota_instance Get nova instance quotas.
os_vm_quota_ram Get nova ram quotas.
os_vm_used_cores Get nova used cores.
os_vm_used_disk Get nova used disk.
os_vm_used_instance Get nova used instances.
os_vm_used_ram Get nova used ram.
process Check if a process is running.
uptime Get system uptime.
Executing simple plugins¶
The most simple plugins do not require any arguments. For example, to get the
system uptime, use the uptime
command to run the corresponding uptime
plugin:
$ monitorstack uptime
{
"variables": {
"uptime": "22613.26"
},
"message": "uptime is ok",
"meta": {
"platform": "Linux-4.10.5-200.fc25.x86_64-x86_64-with-fedora-25-Twenty_Five"
},
"exit_code": 0,
"measurement_name": "system_uptime"
}
The default output type is json, but this is configured with the -f,
--format
option. Here is another example that outputs data in telegraf
format:
$ monitorstack -f telegraf uptime
system_uptime platform=Linux-4.10.5-200.fc25.x86_64-x86_64-with-fedora-25-Twenty_Five uptime=23005.05 1490819061833774080
Executing plugins with arguments¶
The process
plugin searches the current list of running processes to find
any that match a string provided as an argument. Execute the plugin without any
arguments for some usage help:
$ monitorstack process
Usage: monitorstack process [OPTIONS] PROCESS_NAME
Error: Missing argument "process_name".
In this example, we want to ensure that the chronyd
process is running:
$ monitorstack process chronyd
{
"variables": {
"chronyd": 1
},
"message": "process check is ok",
"meta": {
"platform": "Linux-4.10.5-200.fc25.x86_64-x86_64-with-fedora-25-Twenty_Five"
},
"exit_code": 0,
"measurement_name": "process"
}
We can also see a negative result if we check for a non-existent process called
processdoesntexist
:
$ monitorstack process processdoesntexist
{
"variables": {
"processdoesntexist": 0
},
"message": "process failed -- Process processdoesntexist not found",
"meta": {
"platform": "Linux-4.10.5-200.fc25.x86_64-x86_64-with-fedora-25-Twenty_Five"
},
"exit_code": 1,
"measurement_name": "process"
}
Executing plugins with configuration files¶
Many of the OpenStack plugins require a configuration file that specifies the URLs of OpenStack endpoints as well as valid credentials for those endpoints. For more information on the format of these configuration files, refer to the documentation on configuration.
Here is an example with the os_vm_quota_ram
plugin with a configuration
file in /home/user/openstack.ini
:
$ monitorstack os_vm_quota_ram --config-file=/etc/openstack/openstack.ini