Gazer - A Command Line Tool for Looker Content Management

admin
api
dashboards

(Mike DeAngelo (a.k.a. Dr. StrangeLooker)) #1

We are announcing a new tool to help manage Looker instances… Gazer!

Gazer is a command line tool with the primary purpose of allowing administrators to export and import Looks, Dashboards, and Scheduled Plans. This content can then be stored in a repository for tracking changes over time, and also for migrating this content amongst several Looker instances.

More information can be found at https://github.com/deangelo-llooker/gzr/wiki

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.

Some samples of gazer…

$ gzr user ls --host foo.bar.mycompany.com
+----+----------+---------+---------------------+
|  id|first_name|last_name|email                |
+----+----------+---------+---------------------+
|1234|John      |Smith    |jsmith@mycompany.com |
|1235|Frank     |Jones    |fjones@mycompany.com |
|1236|Bill      |Weld     |wweld@mycompany.com  |
|1237|Susan     |Gibson   |sgibson@mycompany.com|
|1238|Anna      |Grace    |agrace@mycompany.com |
|1239|Mike      |Arthur   |marthur@mycompany.com|
+----+----------+---------+---------------------+

$ gzr space ls --host foo.bar.mycompany.com
+---------+---+------+---------+----------------------------+--------------+--------------------------------+
|parent_id|id |  name|looks(id)|looks(title)                |dashboards(id)|dashboards(title)               |
+---------+---+------+---------+----------------------------+--------------+--------------------------------+
|         |801|Shared|         |                            |              |                                |
|         |801|Shared|857      |Daily Profit                |              |                                |
|         |801|Shared|1479     |totals                      |              |                                |
|         |801|Shared|1486     |Test look2                  |              |                                |
|         |801|Shared|1509     |Aircraft Production by Year |              |                                |
|         |801|Shared|         |                            |192           |Daily Profit Dashboard          |
|         |801|Shared|         |                            |261           |New Test Dashboard              |
|         |801|Shared|         |                            |383           |Sales Dashboard                 |
|         |801|Shared|         |                            |463           |Customer Dashboard              |
+---------+---+------+---------+----------------------------+--------------+--------------------------------+

$ gzr space tree "~" --host foo.bar.mycompany.com
John Smith
├── Trace Data
│   ├── (l) All-Time Visits
│   └── (l) Sessions by Week
├── (l) test
├── (l) you can delete me
├── (l) My First Look
├── (d) Indicator Dashboard
└── (d) Indicator Dashboard 2011

$ gzr space export 758 --host foo.bar.mycompany.com --tgz export.tar.gz

$ gzr dashboard import Path/To/Dashboard_123_My\ Dash.json 123 --host foo.bar.mycompany.com


Move a dashboard to a new Looker instance
RETIRED: Setting up development/QA/staging instances
Copy/Overwrite Dashboards and Looks between spaces
(Levi Davis) #2

@MikeD what a great idea! Thanks for doing this. Can Gazer be used to identify broken Looks or dashboard tiles like the content validator does?


(Mike DeAngelo (a.k.a. Dr. StrangeLooker)) #3

Not at the moment, Levi. But I will look into adding that!