tech.guitarrapc.cóm

Technical updates

Redis向け GUI ツール RedisInsight を使う

Redisを扱うにあたって、GUIでRedisの状態が把握できるツールは便利です。

最近はRDBToolsを使っていたのですが、2か月ぶりにサイトをみると2019/12/31でEOLとのアナウンスとRedisInsightのGAリリースが出ていました。

このRedisInsightが、無料で使えるRedis GUIの中で完成度が高く、Redis Labs本家が開発しているのでオススメできそうです。

TL;DR

  • RedisのGUIツールとして、以前RDBToolsを紹介したのですが31st December 2019でEOLを迎える
  • 後継ツールとしてRedisInsight がRedisLabs からGAリリースされている
  • 安定しており、RDB Toolsにあった無料ユーザー制約も解除されて使いやすいのでオススメ

redislabs.com

その他のGUIツール

RedisLabで紹介されています。

So, You're Looking for the Redis GUI? | Redis Labs

  • RedisInsight
  • Redsmin
  • Redis Commander
  • Redis Desktop Manager
  • Induction (開発終了)

いろいろありますが好きなのを使うといいでしょう。 触った感触はRedisInsightがRDBToolsと同様の使いやすさで好みです。 Redis Desktop Managerは、どんどん好みとずれているので一年前から使うのをやめました。

もともとRDBToolsはHashedInが開発しており、Redis Labsが買収しました。 Redis Labs案外こういう動きがあるので面白いです。

Redis Labs has acquired RDBTools from HashedIn

ダウンロード/インストール

ドキュメントを見つつ進めるといいでしょう。

https://docs.redislabs.com/latest/ri/docs.redislabs.com

インストール時の注意

もし、すでにRDBToolsをインストールしていた場合注意が必要です。

RedisInsightはRDBToolsとポートがバッティングするので、、先にRDBTools をアンインストールしてからインストールが必要です。 手元でアンインストールを忘れて入れたところ盛大にバッティングしたので、次の手順が安定です。

  • RDBToolsの停止
  • RDBToolsアンインストール
  • RedisInsightインストール

Docker

dockerで立ち上げておけばインストール不要で便利です。 docker-composeでローカルのRedisを起動する構成にしているなら、まとめて立ち上げてもいいでしょう。

docker run -d -v redisinsight:/db -p 8001:8001 redislabs/redisinsight

https://docs.redislabs.com/latest/ri/installing/install-docker/docs.redislabs.com

私はdocker-composeでRedisと一緒にあげています。

version: "3"

networks:
  redis:
    driver: bridge

services:
  redis:
    image: redis:5.0.7-alpine
    ports:
      - 6379:6379
    command: redis-server --requirepass MY_SUPER_AWESOME_PASSWORD
    networks:
      - redis

  redisinsight:
    image: redislabs/redisinsight:latest
    ports:
      - 8001:8001
    volumes:
      - ./redisinsight:/db
    networks:
      - redis

ローカルインストール

自分のPCにインストールするなら、トップからダウンロードができます。

https://redislabs.com/redisinsight/

RedisInsightのダウンロード

まだインストーラーがChocolatey/ScoopやHomebrewで提供されておらずダウンロードしてインストールが必要です。 ダウンロードには、フォーム入力でEmail とかいろいろ入力求められるのでいい感じで入れます。

なおダウロードリンクです。

Linux上でも起動できるのでいい感じで使えるでしょう。 もちろんWSL上のUbuntuでいれてWindowsから見るとかでもいいのです。

gist.github.com

起動

RDBTools同様に、ブラウザで操作をします。

DockerやLinuxなら起動後メッセージが出るので、ブラウザでアクセスすればokです。

Starting webserver...
Visit http://0.0.0.0:8001 in your web browser.
Press CTRL-C to exit.

RedisInsightを起動すると、localhost:8001でホスティングしてブラウザが自動的に開きます。

Windows のスタートメニューで RedisInsightで検索

RedisInsightの起動ダイアログ

接続

任意のRedisに接続できるます。また、EC2から実行することでElastiCacheを自動探索したり、使っているならRedis Enterpriseの探索オプションがあります。

自分の接続したいRedis Databaseの追加

ローカルに起動したRedis on Dockerへの接続を見てみましょう。

  • ローカルのRedisをdocker-composeなどで立ち上げる。(リモート先のRedisが接続可能ならそれでも)
  • Add Redis Databaseを選んで接続情報を入力する
  • Nameは適当にどうぞ
  • Hostは名前解決面倒なので、127.0.0.1で
  • Portは6379 (プレースホルダーに見えるけど入れないとダメです)
  • Password を設定しているなら入れましょう

ローカル にDockerで立てたRedisへ接続

接続情報が正しければつながるのが確認されて登録できます。

一覧に戻るので自分で入れたNameのRedisを選択してお好きにどうぞ!

追加したDatabaseが表示される

できること

RDBToolsと基本UI構成は同じですが機能的には圧倒的にいいです。 とりあえず欲しい機能はほぼすべて入っています。クラスタシャード管理がないぐらいかな

  • 無料でも時間制限がなくなった (RDB Toolsで無料ユーザーだとこの制約がありました)
  • CLIがブラウザから実行できる(別途インストールも不要)
  • Stream/Profilerのサポート
  • SlowLog も確認できる
  • メモリをExportできるので、ほかの人の環境に突っ込むこともできる。(RDBがいい。人間が見たり、プログラムで分析するならJSON)
  • Config の確認
  • クライアント一覧の確認

CLIの実行

Redis CLIの実行

Streamへの接続

Streamへの接続

Analysis

Analysisでキーの状況を分析

キーごとのMemoryの使用量を確認

データのExport

JSONで出力できるのはうれしいですね。

{"hashkey_01" : {"address": "127.0.0.1", "port": "80", "name": "pod-12345"}}

Configを確認したり書き換えが可能です。

接続しているクライアントを確認できるのもいいでしょう。

できないこと

UI上はRDB ToolsにあったCluster Managementが消えているように見えますが、それ以外は拡充されているように見えます。

RDBToolsにあった Cluster Management

まとめ

今のところ触った限りではWindows, macOS上で動作も安定しています。 ローカル開発環境はdocker-composeでRedis/DBがまとめて起動するので、組み込みました。

RedisInsightに限らず、操作をブラウザから行うツールが最近増えていますが、非常に使いやすいので今後も増えるとうれしいですね。

RedisInsightおすすめです。