User Defined Content (Dashboards and Looks) are not easily portable across Looker instances, nor can they be backed up and restored to a known state easily. It is not easy to monitor content creation, user activity, etc. In particular, it is not easy to do these activities from scripts that can be run by an operations team.
Gazer is a command line tool that provides an interface to a Looker instance for the purpose of managing content, users, schedules, etc. It can be used interactively, but also be included in scripts. Finally, it serves as a reference implementation for developers that want to build their own tools.
Gazer currently has 11 commands. The most common commands are
user, space, dashboard, look, and plan. Each command has several subcommands tailored for that command. The
ls subcommand is very common and will produce a list of objects. The cat subcommand is also common, and will provide the json representation of an object. Typing
gzr alone will list all the commands as well as the most common command line switches and options. Typing
gzr COMMAND will list the subcommands for that particular command.
The user subcommands are
ls, me, cat, enable, disable, and delete. So typing
gzr user ls will list all the users on a Looker instance. Typing
gzr user disable will disable the given user.
The space subcommands are
ls, cat, tree, rm, create, and export. Typing
gzr space ls will list the contents of a space. Typing
gzr space export will create a set of files that describe the space, all its subspaces, and all the dashboards and looks in those spaces. They can be exported as a set of folders and files on disk suitable for storing in a code repository, or they can be exported into a tar or tgz export file. If they are stored in a code repository, it is easy to track changes over time.
The look and dashboard subcommands are
cat, import, and rm. The
cat subcommand can be used to save a single dashboard or look to a file. Typing
gzr look import will load a look from a file. Typing
gzr dashboard import will import a dashboard from a file. The file for the import subcommand can be obtained from the
cat subcommand, or from the
gzr space export command.
plan subcommand is used to manage schedules. There are many subcommands, but typing
gzr plan failures will list schedules that did not run properly, and
gzr plan runit will rerun it.
More information and examples can be found at https://github.com/deangelo-llooker/gzr/wiki
Gazer is deployed using the Ruby Gems distribution system. To install, make sure that Ruby 2.3 is installed on your system, then use the command gem install gazer.
This tool is open source. It is not supported by Looker’s normal support channels. It may be possible to purchase support from Looker’s Professional Services team. We are hoping that a community will grow around this tool, however, and support/enhance it further. Issues can be logged at https://github.com/deangelo-llooker/gzr/issues.
*Gazer is developed by Mike DeAngelo aka @MikeD *