grafana/docs/sources/administration/cli.md
gotjosh 2fb45eeec8
Grafana-CLI: Wrapper for grafana-cli within RPM/DEB packages and config/homepath are now global flags (#17695)
* Feature: Introduce a grafana-cli wrapper

When our users install the *nix packed version of grafana, tendency is to use the services and scripts installed as part of the package for grafana-server. These leverage the default configuration options by specifying the several default paths.

This introduces a similar approach for the grafana-cli binary. We exposed it through a wrapper to ensure a proper configuration is in place. To enable that, we add the .real suffix to the original binary (grafana-cli.real) and then use a bash script named grafana-cli as the wrapper.

* Make the config and homepath flags global

* Introduce `configOverrides` as a global flag

This flag allows us to pass configuration overrides as a string.

The string follows the convention of configuration arguments separated by a space e.g. "cfg:default.paths.data=/dev/nullX cfg:default.paths.logs=/dev/nullX"

Also, it is backwards compatible with similar the previous configuration method through tailing arguments. Tailing arguments take presedence over the configuration options string.

* Only log configuration information in debug mode

* Move the grafana-cli binary to $GRAFANA_HOME/bin

As part of the package install process, we copy all the release files and
directories into the grafana home directory. This includes the /bin folder
from where we copied the binaries into their respective destinations.
After that, the /bin folder gets deleted as we don't want to keep
duplicates of the binaries around.

As part of this commit, we moved the re-creation of /bin within
grafana-home and the copy of the original binary (again) after the
folder gets deleted.
2019-06-24 20:20:21 +01:00

1.7 KiB

+++ title = "Grafana CLI" description = "Guide to using grafana-cli" keywords = ["grafana", "cli", "grafana-cli", "command line interface"] type = "docs" [menu.docs] parent = "admin" weight = 8 +++

Grafana CLI

Grafana cli is a small executable that is bundled with Grafana-server and is supposed to be executed on the same machine Grafana-server is running on.

Plugins

The CLI allows you to install, upgrade and manage your plugins on the machine it is running on. You can find more information about how to install and manage your plugins in the [plugins page]({{< relref "../plugins/installation.md" >}}).

Admin

This feature is only available in Grafana 4.1 and above.

To show all admin commands: grafana-cli admin

Reset admin password

You can reset the password for the admin user using the CLI. The use case for this command is when you have lost the admin password.

grafana-cli admin reset-admin-password ...

If running the command returns this error:

Could not find config defaults, make sure homepath command line parameter is set or working directory is homepath

then there are two flags that can be used to set homepath and the config file path.

grafana-cli --homepath "/usr/share/grafana" admin reset-admin-password newpass

If you have not lost the admin password then it is better to set in the Grafana UI. If you need to set the password in a script then the Grafana API can be used. Here is an example using curl with basic auth:

curl -X PUT -H "Content-Type: application/json" -d '{
  "oldPassword": "admin",
  "newPassword": "newpass",
  "confirmNew": "newpass"
}' http://admin:admin@<your_grafana_host>:3000/api/user/password